OSDN Git Service

PR debug/39524
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2009-03-24  Dodji Seketeli  <dodji@redhat.com>
2             Jakub Jelinek  <jakub@redhat.com>
3
4         PR debug/39524
5         * dwarf2out.c (gen_variable_die): Avoid adding duplicate declaration
6         nodes.
7
8 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
9
10         PR c/39495
11         * c-parser.c (c_parser_omp_for_loop): Call c_parser_binary_expression
12         instead of c_parser_expression_conv, if original_code isn't one of the
13         4 allowed comparison codes, fail.
14
15 2009-03-23  Richard Guenther  <rguenther@suse.de>
16
17         * cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
18         * tree.h (struct tree_type): Likewise.
19         * reload.h (struct insn_chain): Likewise.
20         * dwarf2out.c (struct dw_loc_descr_struct): Likewise.
21         * function.h (struct function): Likewise.
22         * tree-ssa-structalias.c (struct equiv_class_label): Likewise.
23
24 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
25
26         PR tree-optimization/39516
27         * lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
28
29 2009-03-23 Bingfeng Mei  <bmei@broadcom.com>
30
31         * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint 
32         should be set true if BITS_PER_WORD of target is bigger than 32
33
34 2009-03-22  Hans-Peter Nilsson  <hp@axis.com>
35
36         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC):
37         Translate -B-options to -rpath-link.  Correct existing
38         rpath-link and conditionalize on !nostdlib.
39
40 2009-03-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41
42         * doc/extend.texi (Function Attributes, Variable Attributes):
43         Fix typos.
44         * doc/invoke.texi (Debugging Options, Optimize Options)
45         (i386 and x86-64 Options, MCore Options): Likewise.
46
47 2009-03-20  Jakub Jelinek  <jakub@redhat.com>
48
49         PR debug/37890
50         * dwarf2out.c (gen_namespace_die): Add context_die argument and use
51         it for block local namespace aliases.
52         (gen_decl_die): Pass context_die to gen_namespace_die.
53
54 2009-03-19  Jakub Jelinek  <jakub@redhat.com>
55
56         PR c/39495
57         * c-omp.c (c_finish_omp_for): Allow NE_EXPR with TREE_TYPE (decl)'s
58         minimum or maximum value.
59
60 2009-03-19  Alexandre Oliva  <aoliva@redhat.com>
61
62         * reginfo.c (globalize_reg): Recompute derived reg sets.
63
64 2009-03-19  Ozkan Sezer <sezeroz@gmail.com>
65
66         PR target/39063
67         * libgcc2.c (mprotect): Do not use signed arguments for
68         VirtualProtect, use DWORD arguments.  Also fix the 'may
69         be used uninitialized' warning for the np variable.
70
71 2009-03-19  Jakub Jelinek  <jakub@redhat.com>
72
73         PR target/39496
74         * config/i386/i386.c (ix86_function_regparm): Don't optimize local
75         functions using regparm calling conventions when not optimizing.
76         (ix86_function_sseregparm): Similarly for sseregparm calling
77         conventions.
78
79 2009-03-19  Li Feng  <nemokingdom@gmail.com>
80
81         PR middle-end/39500
82         * tree-data-ref.c (analyze_subscript_affine_affine): There is no
83         dependence if the first conflict is after niter iterations.
84
85 2009-03-19  Hans-Peter Nilsson  <hp@axis.com>
86
87         PR middle-end/38609
88         * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
89         functions with dynamic stack-pointer adjustments.
90
91 2009-03-19  Ben Elliston  <bje@au.ibm.com>
92
93         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
94         option; change to -msdata=data.
95
96 2009-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97
98         * c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers,
99         and -fopenmp.
100
101 2009-03-18  Eric Botcazou  <ebotcazou@adacore.com>
102
103         PR target/35180
104         * config/sparc/sparc.md (do_builtin_setjmp_setup): Prettify asm output.
105
106 2009-03-18  Sandra Loosemore  <sandra@codesourcery.com>
107
108         * doc/invoke.texi (Code Gen Options): Expand discussion of
109         -fno-common.
110
111 2009-03-18  Jakub Jelinek  <jakub@redhat.com>
112
113         * dse.c (struct group_info): Reorder fields for 64-bit hosts.
114         * matrix-reorg.c (struct matrix_info): Likewise.
115         * tree-ssa-loop-ivopts.c (struct ivopts_data): Likewise.
116         * rtl.h (struct mem_attrs): Likewise.
117         * df.h (struct df): Likewise.
118         * tree-data-ref.h (struct data_dependence_relation): Likewise.
119         * ira-int.h (struct ira_allocno): Likewise.
120         * df-scan.c (struct df_collection_rec): Likewise.
121         * ira.c (struct equivalence): Likewise.
122         * function.c (struct temp_slot): Likewise.
123         * cfgloop.h (struct loop): Likewise.
124
125         PR debug/39485
126         * function.c (use_register_for_decl): When not optimizing, disregard
127         register keyword for variables with types containing methods.
128
129 2009-03-18  Sebastian Pop  <sebastian.pop@amd.com>
130
131         PR middle-end/39447
132         * graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
133         (is_simple_operand): Call contains_component_ref_p before calling data
134         reference analysis that would fail on COMPONENT_REFs.
135
136         * tree-vrp.c (search_for_addr_array): Fix formatting.
137
138 2009-03-18  Richard Guenther  <rguenther@suse.de>
139
140         * tree-vect-transform.c (vect_loop_versioning): Fold the
141         generated comparisons.
142         * tree-vectorizer.c (set_prologue_iterations): Likewise.
143         (slpeel_tree_peel_loop_to_edge): Likewise.
144
145 2009-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
146
147         PR middle-end/37805
148         * opts.c (print_specific_help): In addition to `undocumented',
149         accept `separate' and `joined' flags if passed alone.  Describe
150         output by the first matched one of those.
151         (common_handle_option): Skip over empty strings.
152         * gcc.c (display_help): Fix help string for `--help='.
153         * doc/invoke.texi (Option Summary, Overall Options): With
154         `--help=', classes and qualifiers can both be repeated, but
155         only the latter can be negated.  One should not pass only
156         negated qualifiers.  Fix markup and examples.
157
158         Revert
159         2008-10-14  Jakub Jelinek  <jakub@redhat.com>
160         PR middle-end/37805
161         * opts.c (common_handle_option): Don't ICE on -fhelp=joined
162         and -fhelp=separate.
163
164 2009-03-17  Jing Yu  <jingyu@google.com>
165
166         PR middle-end/39378
167         * function.h (struct rtl_data): Move is_thunk from here...
168         (struct function): ...to here.
169         * cp/method.c (use_thunk): Change is_thunk from crtl to cfun.
170         * varasm.c (assemble_start_function): Change is_thunk from crtl to
171         cfun.
172         * config/alpha/alpha.c (alpha_sa_mask): Change is_thunk from crtl to
173         cfun.
174         (alpha_does_function_need_gp, alpha_start_function): Likewise.
175         (alpha_output_function_end_prologue): Likewise.
176         (alpha_end_function, alpha_output_mi_thunk_osf): Likewise.
177         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likewise.
178         (rs6000_output_function_epilogue): Likewise.
179         * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
180
181 2009-03-17  Uros Bizjak  <ubizjak@gmail.com>
182
183         PR target/39482
184         * config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
185         from different units in a single alternative.
186         (*truncdfsf_i387): Ditto.
187         (*truncxfsf2_mixed): Ditto.
188         (*truncxfdf2_mixed): Ditto.
189
190 2009-03-17  Jakub Jelinek  <jakub@redhat.com>
191
192         * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow
193         non-NAMESPACE_DECL IMPORTED_DECL_ASSOCIATED_DECL.
194
195         PR debug/39474
196         * tree-ssa-live.c (remove_unused_locals): Don't remove local
197         unused non-artificial variables when not optimizing.
198
199         PR debug/39471
200         * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Emit
201         DW_TAG_imported_module even if decl is IMPORTED_DECL with
202         NAMESPACE_DECL in its DECL_INITIAL.
203
204         PR middle-end/39443
205         * optabs.c (set_user_assembler_libfunc): New function.
206         * expr.h (set_user_assembler_libfunc): New prototype.
207         * c-common.c: Include libfuncs.h.
208         (set_builtin_user_assembler_name): Call set_user_assembler_libfunc
209         for memcmp, memset, memcpy, memmove and abort.
210         * Makefile.in (c-common.o): Depend on libfuncs.h.
211
212         PR debug/39412
213         * dwarf2out.c (gen_inlined_enumeration_type_die,
214         gen_inlined_structure_type_die, gen_inlined_union_type_die,
215         gen_tagged_type_instantiation_die): Removed.
216         (gen_decl_die): For TYPE_DECL_IS_STUB with non-NULL decl_origin
217         do nothing.
218
219 2009-03-17  Janis Johnson  <janis187@us.ibm.com>
220
221         PR testsuite/38526
222         * Makefile.in (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment
223         its use.
224         (check-%): Don't set GCC_EXEC_PREFIX when invoking runtest.
225         (check-parallel-%): Ditto.
226         (check-consistency): Ditto.
227
228 2009-03-17  Kai Tietz  <kai.tietz@onevision.com>
229
230         * ipa-struct-reorg.c (create_general_new_stmt): Initialize
231         local variable rhs by NULL_TREE.
232
233 2009-03-17  H.J. Lu  <hongjiu.lu@intel.com>
234
235         PR target/39477
236         * doc/extend.texi: Correct register behavior for regparm on Intel 386.
237
238 2009-03-17  H.J. Lu  <hongjiu.lu@intel.com>
239
240         PR target/39476
241         * config/i386/i386.c (ix86_function_regparm): Rewrite for 64bit.
242
243 2009-03-17  H.J. Lu  <hongjiu.lu@intel.com>
244
245         PR target/39473
246         * config/i386/i386.c (ix86_expand_call): Check extra clobbers
247         for ms->sysv ABI calls only in 64bit mode.
248
249         * config/i386/i386.md (untyped_call): Support 32bit.
250
251 2009-03-16  H.J. Lu  <hongjiu.lu@intel.com>
252
253         * doc/extend.texi: Replace x86_65 with x86_64.
254
255 2009-03-16  Jakub Jelinek  <jakub@redhat.com>
256
257         PR tree-optimization/39455
258         * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types
259         mismatches for POINTER_TYPE_P (type).
260         (number_of_iterations_le): Likewise.
261
262 2009-03-16  Hariharan Sandanagobalane <hariharan@picochip.com>
263
264         * config/picochip/picochip.c: Removed profiling support.
265         * config/picochip/picochip.md: Removed profiling instruction.
266         * config/picochip/picochip.h: Removed profiling builtin.
267
268 2009-03-16  Joseph Myers  <joseph@codesourcery.com>
269
270         * doc/install.texi (--with-host-libstdcxx): Document.
271
272 2009-03-14  Anatoly Sokolov  <aesok@post.ru>
273
274         PR target/34299
275         * config/avr/avr.c (avr_handle_fndecl_attribute): Move code for
276         generate a warning if the function name does not begin with
277         "__vector" and the function has either the 'signal' or 'interrupt'
278         attribute, from here to ...
279         (avr_declare_function_name): ...here. New function.
280         * config/avr/avr.h (ASM_DECLARE_FUNCTION_NAME): Redefine.
281         * config/avr/avr-protos.h (avr_declare_function_name): Declare.
282
283 2009-03-14  Jakub Jelinek  <jakub@redhat.com>
284
285         PR bootstrap/39454
286         * cse.c (fold_rtx): Don't modify original const_arg1 when
287         canonicalizing SHIFT_COUNT_TRUNCATED shift count, do it on a
288         separate variable instead.
289         * rtlanal.c (nonzero_bits1) <case ASHIFTRT>: Don't assume anything
290         from out of range shift counts.
291         (num_sign_bit_copies1) <case ASHIFTRT, case ASHIFT>: Similarly.
292
293 2008-03-13  Catherine Moore  <clm@codesourcery.com>
294
295         * gcc/config/i386/x-mingw32 (host-mingw32.o): Replace
296         diagnostic.h with $(DIAGNOSTIC_H).
297
298 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
299
300         PR target/39431
301         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New
302         predicate.
303         * config/i386/sync.md (sync_compare_and_swap<mode>,
304         sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check
305         if operands[1] is cmpxchg8b_pic_memory_operand, if not force address
306         into a register.
307         (sync_double_compare_and_swapdi_pic,
308         sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be
309         cmpxchg8b_pic_memory_operand instead of just memory_operand.
310
311 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
312
313         PR target/39445
314         * config/i386/i386.c (ix86_expand_push): Don't set memory alignment.
315
316 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
317
318         PR target/39327
319         * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
320         (avx_addsubv4df3): Likewise.
321         (*avx_addsubv4sf3): Likewise.
322         (sse3_addsubv4sf3): Likewise.
323
324 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
325
326         PR target/38824
327         * config/i386/i386.md: Compare REGNO on the new peephole2 patterns.
328
329 2009-03-12  Vladimir Makarov  <vmakarov@redhat.com>
330
331         PR debug/39432
332         * ira-int.h (struct allocno): Fix comment for calls_crossed_num.
333         * ira-conflicts.c (ira_build_conflicts): Prohibit call used
334         registers for allocnos created from user-defined variables.
335
336 2009-03-11  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
337
338         PR target/39181
339         * config/spu/spu.c (spu_expand_mov): Handle invalid subregs
340         of non-integer mode as well.
341
342 2009-03-11  Adam Nemet  <anemet@caviumnetworks.com>
343
344         * gimplify.c (gimplify_call_expr): Don't set CALL_CANNOT_INLINE_P
345         for functions for which the parameter types are unknown.
346
347 2009-03-11  Jakub Jelinek  <jakub@redhat.com>
348
349         PR target/39137
350         * cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT macro.
351         * defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
352         * config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
353         * config/i386/i386.c (ix86_local_alignment): For
354         -m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
355         long long variables on the stack to avoid dynamic realignment.
356         Allow the first argument to be a decl rather than type.
357         * doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
358
359 2009-03-11  Nick Clifton  <nickc@redhat.com>
360
361         PR target/5362
362         * config/mcore/mcore.opt: Remove deprecated m4align and m8align
363         options.
364         Add description to mno-lsim option.
365         * config/mcore/mcore.h: Remove comment about deprecated m4align
366         option.
367         (TARGET_DEFAULT): Remove deprecated MASK_M8ALIGN.
368         * doc/invoke.texi: Add description of mno-lsim and
369         mstack-increment options.
370
371         * config/fr30/fr30.opt: Document the -mno-lsim option.
372         * doc/invoke.texi: Add descriptions of the FR30's -msmall-model
373         and -mno-lsim options.
374
375 2009-03-11  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
376
377         * fold-const.c (fold_comparison): Only call fold_inf_compare
378         if the mode supports infinities.
379
380 2009-03-11  Jason Merrill  <jason@redhat.com>
381
382         PR debug/39086
383         * tree-nrv.c (tree_nrv): Don't do this optimization if the front
384         end already did.  Notice GIMPLE_CALL modifications of the result.
385         Don't copy debug information from an ignored decl or a decl from
386         another function.
387
388 2009-03-10  Richard Guenther  <rguenther@suse.de>
389             Nathan Froyd  <froydnj@codesourcery.com>
390
391         PR middle-end/37850
392         * libgcc2.c (__mulMODE3): Use explicit assignments to form the result.
393         (__divMODE3): Likewise.
394
395 2009-03-09  Jakub Jelinek  <jakub@redhat.com>
396
397         PR tree-optimization/39394
398         * gimplify.c (gimplify_type_sizes): Gimplify DECL_SIZE and
399         DECL_SIZE_UNIT of variable length FIELD_DECLs.
400
401 2009-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
402
403         * recog.c (verfiy_changes): Disallow renaming of hard regs in
404         inline asms for register asm ("") declarations.
405
406 2009-03-09  Eric Botcazou  <ebotcazou@adacore.com>
407
408         * fold-const.c (fold_unary): Fix comment.
409
410 2009-03-07  Jan Hubicka  <jh@suse.cz>
411
412         PR target/39361
413         * tree-inline.c (setup_one_parameter): Do replacement of const argument
414         by constant in SSA form.
415
416 2009-03-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
417
418         PR middle-end/38028
419         * function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
420         determine alignment passed to assign_stack_local.
421         (assign_parms_unsplit_complex): Likewise.
422         * except.c (sjlj_build_landing_pads): Likewise.
423
424 2009-03-06  Jakub Jelinek  <jakub@redhat.com>
425
426         PR middle-end/39360
427         * tree-flow.h (add_referenced_var): Return bool instead of void.
428         * tree-dfa.c (add_referenced_var): Return result of
429         referenced_var_check_and_insert call.
430         * tree-inline.c (expand_call_inline): Call add_referenced_var instead
431         of referenced_var_check_and_insert.
432
433         PR debug/39372
434         * dwarf2out.c (add_abstract_origin_attribute): Return origin_die.
435         (gen_variable_die): Emit DW_AT_location on abstract static variable's
436         DIE, don't emit it if abstract origin already has it.
437         * tree-cfg.c (remove_useless_stmts_bind): GIMPLE_BINDs with any
438         BLOCK_NONLOCALIZED_VARS in its gimple_bind_block aren't useless.
439
440 2009-03-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
441
442         * genpreds.c: (needs_variable): Fix parentheses at variable name
443         detection.
444         (write_tm_constrs_h): Indent generated code.
445
446 2009-03-06  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
447
448         * doc/extend.texi (Function Attributes): Add documentation
449         for isr attributes.
450
451 2009-03-06  Jakub Jelinek  <jakub@redhat.com>
452
453         PR debug/39387
454         * dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL
455         take locus from its DECL_SOURCE_LOCATION instead of input_location.
456
457 2009-03-05  Bernd Schmidt  <bernd.schmidt@analog.com>
458
459         * config/bfin/bfin.c (bfin_discover_loop): When retrying fails, mark
460         the loop as bad.
461
462 2009-03-05  Jakub Jelinek  <jakub@redhat.com>
463
464         PR debug/39379
465         * tree-cfg.c (remove_useless_stmts_bind): Don't remove GIMPLE_BINDs
466         with blocks containing IMPORTED_DECLs in BLOCK_VARS.
467
468 2009-03-05  Uros Bizjak  <ubizjak@gmail.com>
469
470         * config/i386/i386.md (R8_REG, R9_REG): New constants.
471         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Use named
472         constants instead of magic numbers.
473         (HARD_REGNO_CALLER_SAVE_MODE): Ditto.
474         (QI_REG_P): Ditto.
475         * config/i386/i386.c (x86_64_int_parameter_registers): Ditto.
476         (x86_64_ms_abi_int_parameter_registers): Ditto.
477         (x86_64_int_return_registers): Ditto.
478         (ix86_maybe_switch_abi): Ditto.
479         (ix86_expand_call): Ditto for clobbered_registers array.
480         (ix86_hard_regno_mode_ok): Ditto.
481         (x86_extended_QIreg_mentioned_p): Ditto.
482
483 2009-03-05  J"orn Rennecke  <joern.rennecke@arc.com>
484
485         PR tree-optimization/39349
486         * cse.c (cse_insn): Fix loop to stop at VOIDmode.
487
488         * combine.c (gen_lowpart_for_combine): Use omode when generating
489         clobber.
490
491 2009-03-04  J"orn Rennecke  <joern.rennecke@arc.com>
492
493         PR rtl-optimization/39235
494         * loop-iv.c (get_simple_loop_desc): Use XCNEW.
495
496 2009-03-04  Zdenek Dvorak  <ook@ucw.cz>
497
498         * graphite.c (nb_reductions_in_loop): Update simple_iv arguments.
499
500 2009-03-04  Richard Guenther  <rguenther@suse.de>
501
502         PR tree-optimization/39362
503         * tree-ssa-sccvn.c (visit_use): Stores and copies from SSA_NAMEs
504         that occur in abnormal PHIs should be varying.
505
506 2009-03-04  Zdenek Dvorak  <ook@ucw.cz>
507
508         * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop):
509         Extend comments.
510         (simple_iv):  Take loop as an argument instead of statement.
511         * tree-scalar-evolution.h (simple_iv): Declaration changed.
512         * tree-ssa-loop-niter.c (number_of_iterations_exit): Update calls
513         to simple_iv.
514         * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev):
515         Ditto.
516         * tree-parloops.c (loop_parallel_p, canonicalize_loop_ivs): Ditto.
517         * matrix-reorg.c (analyze_transpose): Ditto.
518         * tree-data-ref.c (dr_analyze_innermost): Ditto.
519         * tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
520         * tree-predcom.c (ref_at_iteration): Ditto.
521         * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
522
523 2009-03-04  Richard Guenther  <rguenther@suse.de>
524
525         PR tree-optimization/39358
526         * tree-ssa-structalias.c (do_sd_constraint): Fix check for
527         escaped_id and callused_id.
528         (solve_graph): Likewise.
529
530 2009-03-04  Richard Guenther  <rguenther@suse.de>
531
532         PR tree-optimization/39339
533         * tree-sra.c (try_instantiate_multiple_fields): Make it
534         no longer ICE on the above.
535
536 2009-03-03  Joseph Myers  <joseph@codesourcery.com>
537
538         * emit-rtl.c (adjust_address_1): Reduce offset to a signed value
539         that fits within Pmode.
540
541 2009-03-03  Steve Ellcey  <sje@cup.hp.com>
542
543         PR middle-end/10109
544         * tm.texi (LIBCALL_VALUE): Update description.
545
546 2009-03-03  Steve Ellcey  <sje@cup.hp.com>
547
548         PR middle-end/34443
549         * doc/extend.texi (section): Update description.
550
551 2009-03-03  H.J. Lu  <hongjiu.lu@intel.com>
552
553         PR middle-end/39345
554         * tree-inline.c (remapped_type): New.
555         (can_be_nonlocal): Call remapped_type instead of remap_type.
556
557 2009-03-03  Jakub Jelinek  <jakub@redhat.com>
558
559         PR fortran/39354
560         * gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
561         TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
562
563 2009-03-03  Richard Guenther  <rguenther@suse.de>
564
565         PR middle-end/39272
566         * tree.c (tree_nonartificial_location): New function.
567         * tree.h (tree_nonartificial_location): Declare.
568         * builtins.c (expand_builtin_memory_chk): Provide location
569         of the call location for artificial function pieces.
570         (maybe_emit_chk_warning): Likewise.
571         (maybe_emit_sprintf_chk_warning): Likewise.
572         (maybe_emit_free_warning): Likewise.
573         * expr.c (expand_expr_real_1): Likewise.
574
575 2009-03-03  Jakub Jelinek  <jakub@redhat.com>
576
577         PR tree-optimization/39343
578         * tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
579         COMPONENT_REF t has ARRAY_TYPE.
580
581 2009-03-02  Sebastian Pop  <sebastian.pop@amd.com>
582
583         PR middle-end/39335
584         * tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
585         when the type precision of the induction variable should be
586         larger than the type precision of nit.
587         (gen_parallel_loop): Update use of canonicalize_loop_ivs.
588         * graphite.c (graphite_loop_normal_form): Same.
589         * tree-flow.h (canonicalize_loop_ivs): Update declaration.
590
591 2009-03-02  Uros Bizjak  <ubizjak@gmail.com>
592
593         * config/i386/i386.md (ST?_REG, MM?_REG): New constants.
594         (*call_1_rex64_ms_sysv): Use named constants instead of magic
595         numbers to describe clobbered registers.
596         (*call_value_0_rex64_ms_sysv): Ditto.
597         * config/i386/mmx.md (mmx_emms): Ditto.
598         (mmx_femms): Ditto.
599
600 2009-03-02  Richard Sandiford  <rdsandiford@googlemail.com>
601
602         * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
603         of ABI_64.
604
605 2009-03-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
606
607         * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
608         (spu_section_type_flags): New function.
609
610 2009-03-02  Uros Bizjak  <ubizjak@gmail.com>
611
612         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
613         reg_class_contents of FLOAT_REGS into a temporary.
614
615 2009-03-02  Richard Guenther  <rguenther@suse.de>
616             Ira Rosen  <irar@il.ibm.com>
617
618         PR tree-optimization/39318
619         * tree-vect-transform.c (vectorizable_call): Transfer the EH region
620         information to the vectorized statement.
621
622 2009-03-01  Uros Bizjak  <ubizjak@gmail.com>
623
624         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
625         variable.  Use defined names instead of magic constants for REX SSE
626         registers.
627
628 2009-03-01  Richard Guenther  <rguenther@suse.de>
629
630         PR tree-optimization/39331
631         * omp-low.c (lower_send_shared_vars): Do not receive new
632         values for the reference of DECL_BY_REFERENCE parms or results.
633
634 2009-03-01  Jan Hubicka  <jh@suse.cz>
635
636         PR debug/39267
637         * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
638         BLOCK_NONLOCALIZED_VAR): New macros.
639         (tree_block): Add nonlocalized_vars.
640         * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
641         gen_decl_die): Add origin argument.  Allow generation of die with
642         origin at hand only.
643         (gen_member_die, gen_type_die_with_usage, force_decl_die,
644         declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
645         of gen_*.
646         (gen_block_die): Fix checking for unused blocks.
647         (process_scope_var): Break out from .... ; work with origins only.
648         (decls_for_scope) ... here; process nonlocalized list.
649         (dwarf2out_ignore_block): Look for nonlocalized vars.
650         * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
651         vars.
652         (dump_scope_block): Dump them.
653         * tree-inline.c (remap_decls): Handle nonlocalized vars.
654         (remap_block): Likewise.
655         (can_be_nonlocal): New predicate.
656         (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
657
658 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
659
660         * configure: Regenerate.
661
662 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
663
664         * optc-gen.awk: No need to duplicate option flags twice.
665         Reuse help texts for duplicate options which do not have any.
666
667         * gcc.c (display_help): Document --version.
668
669         * gcc.c (main): If print_help_list and verbose_flag, ensure
670         driver output comes before subprocess output.
671
672         * optc-gen.awk: Assign all remaining fields to help string,
673         space-separated, for multi-line help in *.opt.
674
675         * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
676         -Wno-pedantic-ms-format is for MinGW targets only.
677
678         * doc/options.texi (Option file format): Fix bad indentation,
679         restoring dropped sentence.
680
681 2009-02-28  Jan Hubicka  <jh@suse.cz>
682
683         * tree-inline.c (tree_function_versioning): Output debug info.
684
685 2009-02-28  Jan Hubicka  <jh@suse.cz>
686
687         PR debug/39267
688         * tree-inline.c (setup_one_parameter): Do not copy propagate
689         arguments when not optimizing.
690
691 2009-02-28  H.J. Lu  <hongjiu.lu@intel.com>
692
693         PR target/39327
694         * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
695         (avx_addsubv4df3): Likewise.
696         (*avx_addsubv4sf3): Likewise.
697         (sse3_addsubv4sf3): Likewise.
698         (*avx_addsubv2df3): Likewise.
699         (sse3_addsubv2df3): Likewise.
700         (avx_unpckhps256): Correct item selectors.
701         (avx_unpcklps256): Likewise.
702         (avx_unpckhpd256): Likewise.
703         (avx_unpcklpd256): Likewise.
704
705 2009-02-28  Jan Hubicka  <jh@suse.cz>
706
707         * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
708         static vars.
709         (copy_arguments_for_versioning): If var is declared don't declare it.
710         (tree_function_versioning): First setup substitutions and then copy
711         args.
712
713 2009-02-27  Jan Hubicka  <jh@suse.cz>
714
715         PR debug/39267
716         * cgraph.h (varpool_output_debug_info): Remove.
717         * cgraphunit.c (varpool_output_debug_info): Remove.
718         * dwarf2out.c (deferred_locations_struct): New struct
719         (deferred_locations): New type.
720         (deferred_locations_list): New static var.
721         (deffer_location): New function.
722         (gen_variable_die): Use it.
723         (decls_for_scope): Output info on local static vars.
724         (dwarf2out_finish): Process deferred locations.
725         * varpool.c (varpool_output_debug_info): Remove.
726
727 2009-02-27  Jan Hubicka  <jh@suse.cz>
728
729         PR debug/39267
730         * tree.h (TREE_PROTECTED): Fix comment.
731         (BLOCK_HANDLER_BLOCK): Remove.
732         (struct tree_block): Remove handler_block add body_block.
733         (inlined_function_outer_scope_p): New.
734         (is_body_block): Remove.
735         * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
736         * dwarf2out.c (is_inlined_entry_point): Remove.
737         (add_high_low_attributes): Use inlined_function_outer_scope_p.
738         (gen_block_die): Use is_inlined_entry_point check.  Remove body block
739         code.
740         * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
741         * gimplify.c (gimplify_expr): Gimplify body blocks.
742         * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
743         block with multiple subblocks.
744         (dump_scope_block): Prettier output; dump more flags and info.
745         (dump_scope_blocks): New.
746         (remove_unused_locals): Use dump_scope_blocks.
747         * tree-flow.h (dump_scope_blocks): Declare.
748         * tree-cfg.c (execute_build_cfg): Dump scope blocks.
749         * stmt.c (is_body_block): Remove.
750         * tree-inline.c (remap_block): Copy BODY_BLOCK info.
751         * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
752
753 2009-02-27  Sebastian Pop  <sebastian.pop@amd.com>
754
755         PR middle-end/39308
756         * graphite.c (graphite_loop_normal_form): Do not call 
757         number_of_iterations_exit from a gcc_assert.
758
759 2009-02-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
760
761         * gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
762         jumps if COND is NULL.
763         (find_cond_jump): New function.
764         (s390_z10_optimize_cmp): Handling for reg-reg compares added.
765         * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
766
767 2009-02-26  Uros Bizjak  <ubizjak@gmail.com>
768
769         * config/alpha/alpha.h (alpha_expand_mov): Return false if
770         force_const_mem returns NULL_RTX.
771
772 2009-02-26  Jan Hubicka  <jh@suse.cz>
773
774         PR debug/39267
775         * cgraph.h (varpool_output_debug_info): Remove.
776         * cgraphunit.c (varpool_output_debug_info): Remove.
777         * dwarf2out.c (deferred_locations_struct): New struct
778         (deferred_locations): New type.
779         (deferred_locations_list): New static var.
780         (deffer_location): New function.
781         (gen_variable_die): Use it.
782         (decls_for_scope): Output info on local static vars.
783         (dwarf2out_finish): Process deferred locations.
784         * varpool.c (varpool_output_debug_info): Remove.
785
786 2009-02-25  H.J. Lu  <hongjiu.lu@intel.com>
787
788         PR rtl-optimization/39241
789         * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
790         to subreg_offset_representable_p.
791
792 2009-02-25  Paolo Bonzini  <bonzini@gnu.org>
793
794         * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
795         execute function prototype.  Get f and nregs from max_reg_num
796         and get_insns.  Remove the first backward pass as it's dead,
797         guard the forward pass by flag_expensive_optimizations.
798         (rest_of_handle_regmove): Delete.
799         (pass_regmove): Replace it with regmove_optimize.
800
801 2009-02-25  Martin Jambor  <mjambor@suse.cz>
802
803         PR tree-optimization/39259
804         * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
805         calls_alloca function flags.
806         (copy_bb): Set calls_setjmp and alls_alloca function flags if such
807         calls are detected.
808
809 2009-02-25  Paolo Bonzini  <bonzini@gnu.org>
810
811         * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
812         flags_set_1_rtx, flags_set_1_set): Delete.
813         (regmove_optimize): Do not call mark_flags_life_zones.
814
815 2009-02-24  Julian Brown  <julian@codesourcery.com>
816
817         PR target/35965
818         * config/arm/arm.c (require_pic_register): Only set
819         cfun->machine->pic_reg once per function.
820
821 2009-02-24  Sandra Loosemore  <sandra@codesourcery.com>
822
823         * doc/invoke.texi (Link Options): Document an easier way to pass
824         options that take arguments to the GNU linker using -Xlinker and -Wl.
825
826 2009-02-24  Steve Ellcey  <sje@cup.hp.com>
827
828         PR target/33785
829         * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
830
831 2009-02-24  Richard Guenther  <rguenther@suse.de>
832
833         PR debug/39285
834         * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
835
836 2009-02-24  Richard Guenther  <rguenther@suse.de>
837             Zdenek Dvorak  <ook@ucw.cz>
838
839         PR tree-optimization/39233
840         * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
841         from converting them to a generic type.
842
843 2009-02-23  Sebastian Pop  <sebastian.pop@amd.com>
844
845         PR tree-optimization/39260
846         * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
847         contains a condition with a real type.
848         (build_scop_conditions_1): Conditions are always last_stmt of a bb.
849
850 2009-02-23  Jason Merrill  <jason@redhat.com>
851
852         PR c++/38880
853         * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
854         narrowing_initializer_constant_valid_p.
855         (narrowing_initializer_constant_valid_p): Don't return 
856         null_pointer_node for adding a pointer to itself.
857
858 2009-02-23  Jan Hubicka  <jh@suse.cz>
859
860         PR c/12245
861         * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
862         resizing.
863
864 2009-02-23  Jan Hubicka  <jh@suse.cz>
865
866         PR tree-optimization/37709
867         * tree.c (block_ultimate_origin): Move here from dwarf2out.
868         * tree.h (block_ultimate_origin): Declare.
869         * dwarf2out.c (block_ultimate_origin): Move to tree.c
870         * tree-ssa-live.c (remove_unused_scope_block_p):
871         Eliminate blocks containig no instructions nor live variables nor
872         nested blocks.
873         (dump_scope_block): New function.
874         (remove_unused_locals): Enable removal of dead blocks by default;
875         enable dumping at TDF_DETAILS.
876
877 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
878
879         * config/i386/i386.c (classify_argument): Don't allow COImode
880         and OImode.
881         (function_arg_advance_32): Don't allow OImode.
882         (function_arg_32): Likewise.
883         (function_value_32): Likewise.
884         (return_in_memory_32): Likewise.
885         (function_arg_64): Remove OImode comment.
886
887 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
888
889         PR target/39261
890         * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
891         ix86_expand_vector_set for V4DImode in 64bit mode only.
892         (ix86_expand_vector_init_one_var): Likewise.
893
894 2009-02-21  Sebastian Pop  <sebastian.pop@amd.com>
895
896         * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
897
898 2009-02-21  Richard Sandiford  <rdsandiford@googlemail.com>
899
900         PR bootstrap/39257
901         * loop-iv.c: Revert last change.
902         * emit-rtl.c: Likewise.
903
904 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
905
906         PR target/39256
907         * config/i386/i386.c (type_natural_mode): Remove an extra
908         space in the warning message.
909         (function_value_32): Handle 32-byte vector modes.
910         (return_in_memory_32): Likewise.
911
912 2009-02-21  Richard Sandiford  <rdsandiford@googlemail.com>
913
914         * loop-iv.c (truncate_value): New function.
915         (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
916         of lowpart_subreg.
917         (lowpart_subreg): Move to...
918         * emit-rtl.c: ...here.
919
920 2009-02-21  Danny Smith  <dannysmith@users.sourceforge.net>
921
922         * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
923         accidental and undocumented change at revision 140860.
924
925 2009-02-21  Joseph Myers  <joseph@codesourcery.com>
926
927         * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
928         take gimple_seq * arguments.
929         (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
930         types_compatible_p langhook.
931
932 2009-02-20  Mark Mitchell  <mark@codesourcery.com>
933             Joseph Myers  <joseph@codesourcery.com>
934
935         * config/arm/arm.c (arm_builtin_va_list): New function.
936         (arm_expand_builtin_va_start): Likewise.
937         (arm_gimplify_va_arg_expr): Likewise.
938         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
939         (TARGET_BUILD_BUILTIN_VA_START): Likewise.
940         (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
941         (va_list_type): New variable.
942         (arm_mangle_type): Mangle va_list_type appropriately.
943
944 2009-02-20  Jakub Jelinek  <jakub@redhat.com>
945
946         PR middle-end/39157
947         * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
948         * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
949         * params.def (loop-invariant-max-bbs-in-loop): New parameter.
950         * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
951         parameter to 1000 for -O1 by default.
952         * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
953         parameter.
954         * loop-invariant.c: Include params.h.
955         (move_loop_invariants): Don't call move_single_loop_invariants on
956         very large loops.
957
958 2009-02-20  Jaka Mocnik  <jaka@xlab.si>
959
960         * calls.c (emit_library_call_value_1): Use slot_offset instead of
961         offset when calculating bounds for indexing stack_usage_map.  Fixes
962         a buffer overflow with certain target setups.
963
964 2009-02-20  Jakub Jelinek  <jakub@redhat.com>
965
966         PR target/39240
967         * calls.c (expand_call): Clear try_tail_call if caller and callee
968         disagree in promotion of function return value.
969
970 2009-02-19  Jakub Jelinek  <jakub@redhat.com>
971
972         PR target/39175
973         * c-common.c (c_determine_visibility): If visibility changed and
974         DECL_RTL has been already set, call make_decl_rtl to update symbol
975         flags.
976
977 2009-02-19  H.J. Lu  <hongjiu.lu@intel.com>
978
979         PR c++/39188
980         * varasm.c (assemble_variable): Don't check DECL_NAME when
981         globalizing a variable.
982
983 2009-02-19  Joseph Myers  <joseph@codesourcery.com>
984
985         PR c/38483
986         * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
987         expression before any __builtin_trap call.
988         * c-typeck.c (build_function_call): Convert and check function
989         arguments before generating a call to a trap.  Evaluate the
990         function arguments before the trap.
991
992 2009-02-19  Uros Bizjak  <ubizjak@gmail.com>
993
994         PR target/39228
995         * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
996         (UNSPEC_FXAM_MEM): New unspec.
997         (fxam<mode>2_i387_with_temp): New insn and split pattern.
998         (isinf<mode>2): Use MODEF mode iterator.  Force operand[1] through
999         memory using fxam<mode>2_i387_with_temp to remove excess precision.
1000
1001 2009-02-19  Richard Guenther  <rguenther@suse.de>
1002
1003         PR tree-optimization/39207
1004         PR tree-optimization/39074
1005         * tree-ssa-structalias.c (storedanything_id, var_storedanything,
1006         storedanything_tree): New.
1007         (do_ds_constraint): Simplify ANYTHING shortcutting.  Update
1008         the STOREDANYTHING solution if the lhs solution contains ANYTHING.
1009         (build_succ_graph): Add edges from STOREDANYTHING to all
1010         non-direct nodes.
1011         (init_base_vars): Initialize STOREDANYTHING.
1012         (compute_points_to_sets): Free substitution info after
1013         building the succ graph.
1014         (ipa_pta_execute): Likewise.
1015
1016         * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
1017         field.
1018         (do_ds_constraint): Do not add to special var or non-pointer
1019         field solutions.
1020         (type_could_have_pointers): Split out from ...
1021         (could_have_pointers): ... here.  For arrays use the element type.
1022         (create_variable_info_for): Initialize may_have_pointers.
1023         (new_var_info): Likewise.
1024         (handle_lhs_call): Make the HEAP variable unknown-sized.
1025         (intra_create_variable_infos): Use a type with pointers for
1026         PARM_NOALIAS, make it unknown-sized.
1027
1028 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
1029
1030         PR target/39224
1031         * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
1032
1033 2009-02-18  Jason Merrill  <jason@redhat.com>
1034
1035         PR target/39179
1036         * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
1037         value if DECL_EXTERNAL.
1038         * tree-sra.c (sra_walk_gimple_assign): Likewise.
1039         * target.h (gcc_target::binds_local_p): Clarify "module".
1040         * tree.h (TREE_PUBLIC): Clarify "module".
1041
1042 2009-02-17  Xuepeng Guo  <xuepeng.guo@intel.com>
1043
1044         PR target/38891
1045         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
1046         initialization for MS_ABI prior to the hunk of !TARGET_MMX.
1047
1048 2009-02-17  H.J. Lu  <hongjiu.lu@intel.com>
1049
1050         PR target/39082
1051         * c.opt (Wabi): Support C and ObjC.
1052         (Wpsabi): New.
1053
1054         * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
1055
1056         * config/i386/i386.c (classify_argument): Warn once about the ABI
1057         change when passing union with long double.
1058
1059         * doc/invoke.texi: Update -Wabi for warning psABI changes.
1060
1061 2009-02-18  Joseph Myers  <joseph@codesourcery.com>
1062
1063         PR c/35447
1064         * c-parser.c (c_parser_compound_statement): Always enter and leave
1065         a scope.
1066
1067 2009-02-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1068
1069         PR target/34587
1070         * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
1071
1072 2009-02-18  Jakub Jelinek  <jakub@redhat.com>
1073
1074         PR tree-optimization/36922
1075         * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
1076         * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
1077         Likewise.
1078
1079 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
1080
1081         * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
1082         to 0 for EABI64.
1083
1084 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
1085
1086         * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
1087
1088 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
1089
1090         * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
1091         tree sharing.
1092
1093 2009-02-17  Ruan Beihong  <ruanbeihong@gmail.com>
1094             Richard Sandiford  <rdsandiford@googlemail.com>
1095
1096         * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
1097         * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
1098         (loongson_biadd): ...this.
1099
1100 2009-02-17  Richard Guenther  <rguenther@suse.de>
1101
1102         PR tree-optimization/39202
1103         * tree-ssa-structalias.c (do_structure_copy): Before collapsing
1104         a var make sure to follow existing collapses.
1105
1106 2009-02-17  Richard Guenther  <rguenther@suse.de>
1107
1108         PR middle-end/39214
1109         * langhooks.c (lhd_print_error_function): Check for NULL block.
1110
1111 2009-02-17  Richard Guenther  <rguenther@suse.de>
1112
1113         PR tree-optimization/39204
1114         * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
1115         of the PHI arg.
1116
1117 2009-02-17  Uros Bizjak  <ubizjak@gmail.com>
1118
1119         * config/soft-fp/double.h: Update from glibc CVS.
1120
1121 2009-02-17  Richard Guenther  <rguenther@suse.de>
1122
1123         PR tree-optimization/39207
1124         * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
1125         strict-aliasing warnings for pointers pointing to NULL.
1126
1127 2009-02-16  Joseph Myers  <joseph@codesourcery.com>
1128
1129         PR c/35446
1130         * c-parser.c (c_parser_braced_init): Call pop_init_level when
1131         skipping until next close brace.
1132
1133 2009-02-16  H.J. Lu  <hongjiu.lu@intel.com>
1134
1135         PR target/37049
1136         * config/i386/i386.c (ix86_expand_push): Set memory alignment
1137         to function argument boundary.
1138
1139 2009-02-16  Hariharan Sandanagobalane  <hariharan@picochip.com>
1140
1141         * config/picochip/picochip.md (lea_add): Allow any nonimmediate
1142         in the lea_add. Reload eventually constraints it properly.
1143         * config/picochip/constraints.md : Remove the target constraint
1144         "b", since it is not needed anymore.
1145
1146 2009-02-16  Jakub Jelinek  <jakub@redhat.com>
1147
1148         * gthr-dce.h: Uglify function parameter and local variable names.
1149         * gthr-gnat.h: Likewise.
1150         * gthr-mipssde.h: Likewise.
1151         * gthr-nks.h: Likewise.
1152         * gthr-posix95.h: Likewise.
1153         * gthr-posix.h: Likewise.
1154         * gthr-rtems.h: Likewise.
1155         * gthr-single.h: Likewise.
1156         * gthr-solaris.h: Likewise.
1157         * gthr-tpf.h: Likewise.
1158         * gthr-vxworks.h: Likewise.
1159         * gthr-win32.h: Likewise.
1160
1161 2009-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1162
1163         PR target/39196
1164         * config/i386/i386.md: Restrict the new peephole2 to move
1165         between MMX/SSE registers.
1166
1167 2009-02-15  Richard Guenther  <rguenther@suse.de>
1168
1169         Revert
1170         2009-02-13  Richard Guenther  <rguenther@suse.de>
1171
1172         * configure.ac: Enable LFS.
1173         * configure: Re-generate.
1174         * config.in: Likewise.
1175
1176 2009-02-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1177
1178         * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
1179         spu_srqwbyte, spu_srqwbytebc): Define.
1180         * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
1181         spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
1182         * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
1183         "shrqby_<mode>"): New insn-and-split patterns.
1184         * config/spu/spu.c (expand_builtin_args): Determine and return
1185         number of operands using spu_builtin_description data.
1186         (spu_expand_builtin_1): Use it.
1187
1188 2009-02-13  Steve Ellcey  <sje@cup.hp.com>
1189
1190         PR target/38056
1191         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
1192         TARGET_CONST_GP.
1193
1194 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
1195
1196         PR target/39149
1197         * config/i386/i386.c (override_options): Correct warning
1198         messages for -malign-loops, -malign-jumps and -malign-functions.
1199
1200 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
1201
1202         PR target/39152
1203         * config/i386/i386.md: Restrict the new peephole2 to move
1204         between the general purpose registers.
1205
1206 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
1207
1208         PR target/39162
1209         * config/i386/i386.c (type_natural_mode): Add a new argument.
1210         Return the original mode and warn ABI change if vector size is 32byte.
1211         (function_arg_advance): Updated.
1212         (function_arg): Likewise.
1213         (ix86_function_value): Likewise.
1214         (ix86_return_in_memory): Likewise.
1215         (ix86_sol10_return_in_memory): Likewise.
1216         (ix86_gimplify_va_arg): Likewise.
1217         (function_arg_32): Don't warn ABX ABI change here.
1218         (function_arg_64): Likewise.
1219
1220 2009-02-13  Bernd Schmidt  <bernd.schmidt@analog.com>
1221
1222         * loop-iv.c (implies_p): In the final case, test that operands 0
1223         of the two comparisons match.
1224
1225         * config/bfin/bfin.c (find_prev_insn_start): New function.
1226         (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
1227         (find_next_insn_start): Move.
1228
1229 2009-02-13  Richard Guenther  <rguenther@suse.de>
1230
1231         * configure.ac: Enable LFS.
1232         * configure: Re-generate.
1233         * config.in: Likewise.
1234
1235 2009-02-13  Joseph Myers  <joseph@codesourcery.com>
1236
1237         PR c/35444
1238         * c-parser.c (c_parser_parms_list_declarator): Discard pending
1239         sizes on syntax error after some arguments have been parsed.
1240
1241 2009-02-12  Jakub Jelinek  <jakub@redhat.com>
1242
1243         * doc/invoke.texi (-fira): Remove.
1244
1245 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
1246
1247         * caller-save.c: Replace regclass.c with reginfo.c in comments.
1248         * recog.c: Likewise.
1249         * rtl.h: Likewise.
1250
1251 2009-02-12  Uros Bizjak  <ubizjak@gmail.com>
1252
1253         * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
1254         (umul_ppmm): Likewise.
1255         (count_leading_zeros): Likewise.
1256         (count_trailing_zeros): Likewise.
1257         (UMUL_TIME): Likewise.
1258
1259 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
1260
1261         * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
1262         soft-fp/t-softfp to tmake_file.
1263
1264         * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
1265         (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
1266         (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
1267         IA64_BUILTIN_INFQ]: New.
1268         (ia64_init_builtins): Initialize __builtin_infq,
1269         __builtin_fabsq and __builtin_copysignq if not HPUX.
1270         (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
1271         IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
1272
1273         * config/ia64/lib1funcs.asm (__divtf3): Define only if
1274         SHARED is defined.
1275         (__fixtfti): Likewise.
1276         (__fixunstfti): Likewise.
1277         (__floattitf): Likewise.
1278
1279         * config/ia64/libgcc-glibc.ver: New.
1280         * config/ia64/t-fprules-softfp: Likewise.
1281         * config/ia64/sfp-machine.h: Likewise.
1282
1283         * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
1284         (LIBGCC2_TF_CEXT): Likewise.
1285         (TF_SIZE): Likewise.
1286         (TARGET_INIT_LIBFUNCS): Likewise.
1287
1288         * config/ia64/t-glibc (SHLINB_MAPFILES):
1289         Add $(srcdir)/config/ia64/libgcc-glibc.ver.
1290
1291 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
1292
1293         * config/i386/i386.c (construct_container): Rewrite processing
1294         BLKmode with X86_64_SSE_CLASS.
1295
1296 2009-02-12  Paolo Bonzini  <bonzini@gnu.org>
1297
1298         PR target/39152
1299         * config/i386/i386.md: Replace simplify_replace_rtx with
1300         replace_rtx in the new peephole2.
1301
1302 2009-02-12  Nathan Sidwell  <nathan@codesourcery.com>
1303
1304         * doc/invoke.texi (Optimize Options): Stop claiming inlining and
1305         loop unrolling do not happen at -O2.
1306
1307 2009-02-12  Michael Matz  <matz@suse.de>
1308
1309         * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
1310
1311 2009-02-12  Jakub Jelinek  <jakub@redhat.com>
1312
1313         * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
1314         for -g3.
1315
1316 2009-02-12  Ben Elliston  <bje@au.ibm.com>
1317
1318         * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
1319         patterns when updating the back chain.  Missed in the 2009-02-10
1320         change.
1321
1322 2009-02-11  Janis Johnson  <janis187@us.ibm.com>
1323
1324         * doc/extend.texi (Decimal Floating Types): Update identifier of
1325         draft TR and list of missing support.
1326
1327 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
1328
1329         PR middle-end/39154
1330         * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
1331         bit to variable length decl's flags, add it also to its
1332         pointer replacement variable.
1333
1334 2009-02-11  Uros Bizjak  <ubizjak@gmail.com>
1335             Jakub Jelinek  <jakub@redhat.com>
1336
1337         PR target/39118
1338         * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
1339         (memory_blockage): New expander.
1340         (*memory_blockage): New insn pattern.
1341         * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
1342         instead of general blockage at the end of function prologue when
1343         frame pointer is used to access red zone area.  Do not emit blockage
1344         when profiling, it is emitted in generic code.
1345         (ix86_expand_epilogue): Emit memory_blockage at the beginning of
1346         function epilogue when frame pointer is used to access red zone area.
1347
1348 2009-02-11  Paolo Bonzini  <bonzini@gnu.org>
1349
1350         PR target/38824
1351         * config/i386/i386.md: Add two new peephole2 to avoid mov followed
1352         by arithmetic with memory operands.
1353         * config/i386/predicates.md (commutative_operator): New.
1354
1355 2009-02-10  Janis Johnson  <janis187@us.ibm.com>
1356
1357         * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
1358         bulleted lists.
1359
1360 2009-02-10  Eric Botcazou  <ebotcazou@adacore.com>
1361
1362         * alias.h (record_alias_subset): Declare.
1363         * alias.c (record_alias_subset): Make global.
1364
1365 2009-02-10  Nick Clifton  <nickc@redhat.com>
1366
1367         * tree-parloops.c: Change license to GPLv3.
1368         * ipa-struct-reorg.c: Change license to GPLv3.
1369         * ipa-struct-reorg.h: Change license to GPLv3.
1370
1371 2009-02-10  Steve Ellcey  <sje@cup.hp.com>
1372
1373         PR c/39084
1374         * c-decl.c (start_struct): Return NULL on error.
1375
1376 2009-02-10  Jakub Jelinek  <jakub@redhat.com>
1377
1378         PR middle-end/39124
1379         * cfgloopmanip.c (remove_path): Call remove_bbs after
1380         cancel_loop_tree, not before it.
1381
1382         PR target/39139
1383         * function.h (struct function): Add has_local_explicit_reg_vars bit.
1384         * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
1385         VAR_DECLs were seen.
1386         * tree-ssa-live.c (remove_unused_locals): Recompute
1387         cfun->has_local_explicit_reg_vars.
1388         * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
1389         copies or clearings if cfun->has_local_explicit_reg_vars.
1390
1391 2009-02-10  Uros Bizjak  <ubizjak@gmail.com>
1392
1393         PR target/39118
1394         * config/i386/i386.c (expand_prologue): Emit blockage at the end
1395         of function prologue when frame pointer is used to access
1396         red zone area.
1397
1398 2009-02-10  Richard Guenther  <rguenther@suse.de>
1399
1400         PR middle-end/39127
1401         * gimplify.c (gimple_regimplify_operands): Always look if
1402         we need to create a temporary.
1403
1404 2009-02-10  Richard Guenther  <rguenther@suse.de>
1405
1406         PR tree-optimization/39132
1407         * tree-loop-distribution.c (todo): New global var.
1408         (generate_memset_zero): Trigger TODO_rebuild_alias.
1409         (tree_loop_distribution): Return todo.
1410
1411 2009-02-10  H.J. Lu  <hongjiu.lu@intel.com>
1412
1413         PR target/39119
1414         * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
1415         (x86_64_reg_class_name): Removed.
1416         (classify_argument): Return 0 if bytes > 32.  Return 0 if the
1417         first one isn't X86_64_SSE_CLASS or any other ones aren't
1418         X86_64_SSEUP_CLASS when size > 16bytes.  Don't turn
1419         X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
1420         is X86_64_SSEUP_CLASS.  Set AVX modes to 1 X86_64_SSE_CLASS
1421         and 3 X86_64_SSEUP_CLASS.
1422         (construct_container): Remove X86_64_AVX_CLASS.  Handle 4
1423         registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
1424
1425 2009-02-10  Ben Elliston  <bje@au.ibm.com>
1426
1427         * config/rs6000/rs6000.md (allocate_stack): Always use an update
1428         form instruction to update the stack back chain word, even if the
1429         user has disabled the generation of update instructions.
1430         (movdi_<mode>_update_stack): New.
1431         (movsi_update_stack): Likewise.
1432         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
1433         always use an update form instruction to update the stack back
1434         chain word.
1435
1436 2009-02-09  Sebastian Pop  <sebastian.pop@amd.com>
1437
1438         PR middle-end/38953
1439         * graphite.c (if_region_set_false_region): After moving a region in
1440         the false branch of a condition, remove the empty dummy basic block.
1441         (gloog): Remove wrong fix for PR38953.
1442
1443 2009-02-09  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1444
1445         * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
1446         generation due to implicit sign extension.
1447
1448 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
1449
1450         PR middle-end/38981
1451         * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
1452         at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
1453
1454 2009-02-09  Richard Guenther  <rguenther@suse.de>
1455
1456         PR middle-end/35202
1457         * convert.c (convert_to_real): Disable (float)fn((double)x)
1458         to fnf(x) conversion if errno differences may occur and
1459         -fmath-errno is set.
1460
1461 2009-02-07  Anatoly Sokolov  <aesok@post.ru>
1462
1463         * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
1464         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1465         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1466
1467 2009-02-06  Joseph Myers  <joseph@codesourcery.com>
1468
1469         PR c/35434
1470         * c-common.c (handle_alias_attribute): Disallow attribute for
1471         anything not a FUNCTION_DECL or VAR_DECL.
1472
1473 2009-02-06  Janis Johnson  <janis187@us.ibm.com>
1474
1475         PR c/39035
1476         * real.c (do_compare): Special-case compare of zero against
1477         decimal float value.
1478
1479 2009-02-06  Joseph Myers  <joseph@codesourcery.com>
1480
1481         PR c/36432
1482         * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
1483         as indicating flexible array members unless the field itself is
1484         being declarared as the incomplete array.
1485
1486 2009-02-06  Jan Hubicka  <jh@suse.cz>
1487
1488         PR tree-optimization/38844
1489         * ipa-inline.c (try_inline): Stop inlining recursion when edge
1490         is already inlined.
1491
1492 2009-02-06  Richard Guenther  <rguenther@suse.de>
1493
1494         PR middle-end/38977
1495         * tree-cfg.c (need_fake_edge_p): Force a fake edge for
1496         fork because we may expand it as __gcov_fork.
1497
1498 2009-02-06  Nick Clifton  <nickc@redhat.com>
1499
1500         * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
1501
1502 2009-02-06  Paolo Bonzini  <bonzini@gnu.org>
1503
1504         PR tree-optimization/35659
1505         * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
1506         vn_phi_eq): Shortcut if hashcode does not match.
1507         (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
1508         NULL operands.
1509         * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
1510         and avoid iterative_hash_expr.
1511         (FOR_EACH_VALUE_ID_IN_SET): New.
1512         (value_id_compare): Remove.
1513         (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
1514         sort expressions by value id.
1515
1516 2009-02-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1517
1518         PR target/38991
1519         * config/sh/predicates.md (general_movsrc_operand): Don't check
1520         the subreg of system registers here.
1521
1522 2009-02-05  Jakub Jelinek  <jakub@redhat.com>
1523
1524         PR c++/39106
1525         * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
1526         on the copied decl.
1527
1528 2009-02-05  Paolo Bonzini  <bonzini@gnu.org>
1529
1530         PR rtl-optimization/39110
1531         * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
1532         addresses, not aligned ones.
1533
1534 2009-02-05  Daniel Berlin  <dberlin@dberlin.org>
1535             Richard Guenther  <rguenther@suse.de>
1536
1537         PR tree-optimization/39100
1538         * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
1539         comment says and add edges.
1540
1541 2009-02-05  Joseph Myers  <joseph@codesourcery.com>
1542
1543         PR c/35435
1544         * c-common.c (handle_tls_model_attribute): Ignore attribute for
1545         non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
1546
1547 2009-02-04  Tobias Grosser  <grosser@fim.uni-passau.de> 
1548
1549         * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
1550         sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
1551         register_bb_in_sese, new_sese, free_sese): Moved.
1552         (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
1553         outermost_loop_in_scop, build_scop_iteration_domain,
1554         expand_scalar_variables_ssa_name, get_vdef_before_scop,
1555         limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
1556         Use loop_in_sese_p instead of loop_in_scop_p.
1557         (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
1558         (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
1559         (scopdet_basic_block_info): Fix bug in scop detection.
1560         (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
1561         eq_loop_to_cloog_loop): Remove.
1562         (nb_loops_around_loop_in_scop, nb_loop
1563         ref_nb_loops): Moved here...
1564         * graphite.h (ref_nb_loops): ... from here.
1565         (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
1566         (loop_domain_dim, loop_iteration_vector_dim): Remove.
1567         (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
1568         * testsuite/gcc.dg/graphite/scop-19.c: New
1569
1570 2009-02-04  Paolo Bonzini  <bonzini@gnu.org>
1571             Hans-Peter Nilsson  <hp@axis.com>
1572
1573         PR rtl-optimization/37889
1574         * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
1575         Move offset handling from PLUS to before the switch.  Use new
1576         arguments when considering SYMBOL_REFs too.
1577         (rtx_addr_can_trap_p): Pass dummy offset and size.
1578         (enum may_trap_p_flags): Remove.
1579         (may_trap_p_1): Pass size from MEM_SIZE.
1580
1581         PR rtl-optimization/38921
1582         * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
1583         * rtl.h (may_trap_after_code_motion_p): Delete prototype.
1584         * rtlanal.c (may_trap_after_code_motion_p): Delete.
1585         (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
1586
1587 2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
1588
1589         AVX Programming Reference (January, 2009)
1590         * config/i386/sse.md (*vpclmulqdq): New.
1591
1592 2009-02-04  Jakub Jelinek  <jakub@redhat.com>
1593
1594         PR tree-optimization/38977
1595         PR gcov-profile/38292
1596         * calls.c (special_function_p): Disregard __builtin_ prefix.
1597
1598 2009-02-04  Hariharan Sandanagobalane  <hariharan@picochip.com>
1599
1600         * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
1601         non-indexable addresses even before reload.
1602
1603 2009-02-03  Joseph Myers  <joseph@codesourcery.com>
1604
1605         PR c/29129
1606         * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
1607         as having variable size.  Do not give an error for unnamed
1608         parameters with [*] declarators.  Give a warning for type names
1609         with [*] declarators and mark them as variable size.
1610         * c-parser.c (c_parser_sizeof_expression): Do not give an error
1611         for sizeof applied to [*] type names.
1612
1613 2009-02-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1614
1615         PR C++/36607
1616         * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
1617
1618 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
1619
1620         * gcc.c (process_command): Update copyright notice dates.
1621         * gcov.c (print_version): Likewise.
1622         * gcov-dump.c (print_version): Likewise.
1623         * mips-tfile.c (main): Likewise.
1624         * mips-tdump.c (main): Likewise.
1625
1626 2009-02-03  Joseph Myers  <joseph@codesourcery.com>
1627
1628         PR c/35433
1629         * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
1630         for composite type involving a zero-length array type.
1631
1632 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
1633
1634         PR target/35318
1635         * function.c (match_asm_constraints_1): Skip over
1636         initial optional % in the constraint.
1637
1638         PR inline-asm/39059
1639         * c-parser.c (c_parser_postfix_expression): If fixed point is not
1640         supported, don't accept FIXED_CSTs.
1641         * c-decl.c (finish_declspecs): Error if fixed point is not supported
1642         and _Sat is used without _Fract/_Accum.  Set specs->type to
1643         integer_type_node for cts_fract/cts_accum if fixed point is not
1644         supported.
1645
1646 2009-02-02  Catherine Moore  <clm@codesourcery.com>
1647
1648         * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
1649
1650 2009-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
1651
1652         * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
1653         (ABI_HAS_64BIT_SYMBOLS): Use it.
1654         (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
1655
1656 2009-02-02  Paul Brook  <paul@codesourcery.com>
1657
1658         * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
1659
1660 2009-02-02  Jakub Jelinek  <jakub@redhat.com>
1661
1662         PR inline-asm/39058
1663         * recog.h (asm_operand_ok): Add constraints argument.
1664         * recog.c (asm_operand_ok): Likewise.  If it is set, for digits
1665         recurse on matching constraint.
1666         (check_asm_operands): Pass constraints as 3rd argument to
1667         asm_operand_ok.  Don't look up matching constraint here.
1668         * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
1669         to asm_operand_ok.
1670
1671 2009-02-02  Ben Elliston  <bje@au.ibm.com>
1672
1673         * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
1674         TARGET_NARROW_VOLATILE_BITFIELD macro names.
1675
1676 2009-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1677
1678         * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
1679         information.  Remove some obsolete information.  Reorganize.
1680
1681         * config/pa/fptr.c: Revert license to GPL 2.
1682         * config/pa/milli64.S: Likewise.
1683
1684 2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>
1685
1686         PR target/38904
1687         * mkmap-flat.awk (END):  Use pe_dll command-line arg to pass
1688         LIBRARY name in, instead of hard-coding it.
1689         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*):  Add an
1690         extra target make frag to tmake_files according to EH model.
1691         (i[34567]86-*-mingw* | x86_64-*-mingw*):  Likewise.
1692         * config/i386/t-dw2-eh, config/i386/t-sjlj-eh:  Add new target
1693         frags that define makefile variable EH_MODEL appropriately.
1694         * config/i386/cygming.h (DWARF2_UNWIND_INFO):  Add comment.
1695         * config/i386/cygwin.h (LIBGCC_EH_EXTN):  Define to nothing or
1696         to "-sjlj" according to type of EH configured.
1697         (LIBGCC_SONAME):  Concatenate it to shared library base name.
1698         * config/i386/mingw32.h (LIBGCC_EH_EXTN):  Define to "_dw2" or
1699         to "_sjlj" according to type of EH configured.
1700         (LIBGCC_SONAME):  Concatenate it to shared library base name.
1701         * config/i386/t-cygming (SHLIB_SONAME):  Use EH_MODEL.
1702         (SHLIB_LINK):  Add missing semicolon to if-else construct.
1703         (SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
1704         string value of "pe_dll" command-line option.
1705         * config/i386/t-cygwin (SHLIB_EH_EXTENSION):  New helper.
1706         (SHLIB_SONAME):  Use it when overriding t-cygming default.
1707         (SHLIB_IMPLIB):  Override t-cygming default.
1708         (SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
1709         string value of "pe_dll" command-line option.
1710
1711 2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>
1712
1713         PR target/38952
1714         * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
1715         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
1716
1717 2009-01-31  Richard Guenther  <rguenther@suse.de>
1718
1719         PR tree-optimization/38937
1720         * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
1721         computing the transitive closure.
1722
1723 2009-01-30  Richard Guenther  <rguenther@suse.de>
1724
1725         PR tree-optimization/39041
1726         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
1727         Propagate variable indices only if the types match for this stmt.
1728
1729 2009-01-30  Jakub Jelinek  <jakub@redhat.com>
1730
1731         PR target/39013
1732         * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
1733         inline but never defined.
1734
1735 2009-01-30  Wolfgang Gellerich  <gellerich@de.ibm.com>
1736
1737         * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
1738         (*insv_h_di_reg_extimm): New insn.
1739         (*insv_l<mode>_reg_extimm): New insn.
1740
1741 2009-01-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
1742
1743         * config/picochip/picochip.c (flag_conserve_stack): set
1744         PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
1745         fconserve-stack. Reduce call-overhead used by inliner.
1746
1747 2009-01-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
1748
1749         PR/38157
1750         * common.opt (flag_conserve_stack): Initialised to zero.
1751
1752 2009-01-30  Kai Tietz  <kai.tietz@onevision.com>
1753
1754         PR/39002
1755         * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
1756         (ix86_expand_epilogue): Take nsseregs in account to use proper restore
1757         method.
1758
1759 2009-01-29  H.J. Lu  <hongjiu.lu@intel.com>
1760
1761         * ira-color.c (allocno_reload_assign): Update comments.
1762         * regmove.c (regmove_optimize): Likewise.
1763
1764         * ra.h: Removed.
1765
1766 2009-01-29  Robert Millan  <rmh@aybabtu.com>
1767
1768         * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
1769         * gcc/config/i386/kopensolaris-gnu.h: New file.  Undefine
1770         `MD_UNWIND_SUPPORT'.
1771         * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
1772
1773 2009-01-29  Kazu Hirata  <kazu@codesourcery.com>
1774
1775         PR tree-optimization/39007
1776         * tree-loop-distribution.c (generate_builtin): Use
1777         recompute_dominator to compute the immediate dominator of the
1778         basic block just after the loop.
1779
1780 2009-01-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1781
1782         * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
1783         (ASM_OUTPUT_DWARF_PCREL): Define.
1784
1785 2009-01-29  Vladimir Makarov  <vmakarov@redhat.com>
1786
1787         * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
1788         * doc/passes.texi: Remove entries about regclass, local-alloc, and
1789         global.  Modify entries about regmove and IRA.
1790
1791         * ra-conflict.c: Remove the file.
1792
1793         * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
1794
1795         * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
1796         (pass_regclass_init): Rename to pass_reginfo_init.
1797
1798         * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
1799
1800         * toplev.h (flag_ira): Remove.
1801
1802         * caller-save.c (setup_save_areas): Remove flag_ira.
1803
1804         * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
1805
1806         * global.c: Remove the file.
1807
1808         * opts.c: (decode_options): Remove flag_ira.
1809
1810         * hard-reg-set.h (losing_caller_save_reg_set): Remove.
1811
1812         * regmove.c: Modify file description.
1813         (find_use_as_address, try_auto_increment): Define them only if
1814         AUTO_INC_DEC is defined.
1815         (replacement_quality, replace_in_call_usage, fixup_match_1,
1816         stable_and_no_regs_but_for_p): Remove.
1817         (reg_set_in_bb): Make it static.
1818         (regmove_optimize): Remove flag_ira and code which worked for
1819         !flag_ira.
1820
1821         * local-alloc.c: Remove the file.
1822
1823         * common.opt (fira): Remove.
1824
1825         * ira.c: Include except.h.
1826         (eliminable_regset): Move from global.c.
1827         (mark_elimination): Ditto.  Remove flag_ira.
1828         (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
1829         equiv_mem_modified, validate_equiv_mem_from_store,
1830         validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
1831         contains_replace_regs, memref_referenced_p, memref_used_between_p,
1832         no_equiv, recorded_label_ref): Move from local-alloc.c.
1833         (update_equiv_regs): Ditto.  Make it static.
1834         (print_insn_chain, print_insn_chains): Move it from global.c.
1835         (pseudo_for_reload_consideration_p): Ditto.  Remove flag_ira.
1836         (build_insn_chain): Ditto.  Make it static.
1837         (ra_init_live_subregs): Move from ra-conflict.c.  Make it static.
1838         Rename to init_live_subregs.
1839         (gate_ira): Remove flag_ira.
1840
1841         * regclass.c: Rename reginfo.c.  Change file description.
1842         (FORBIDDEN_INC_DEC_CLASSES): Remove.
1843         (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
1844         (init_reg_sets_1): Remove code for evaluation of
1845         reg_class_superclasses and losing_caller_save_reg_set.
1846         (init_regs): Remove init_reg_autoinc.
1847         (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
1848         ok_for_base_p_nonstrict): Remove.
1849         (regclass_init): Rename to reginfo_init.  Don't initialize init_cost.
1850         (pass_regclass_init): Rename to pass_reginfo_init.  Modify
1851         corresponding entries.
1852         (dump_regclass, record_operand_costs, scan_one_insn,
1853         init_reg_autoinc, regclass, record_reg_classes, copy_cost,
1854         record_address_regs, auto_inc_dec_reg_p): Remove.
1855         (gt-regclass.h): Rename to gt-reginfo.h.
1856
1857         * rtl.h (dump_global_regs, retry_global_alloc,
1858         build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
1859
1860         * Makefile.in (RA_H): Remove.
1861         (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
1862         Rename regclass.o to reginfo.o.
1863         (regclass.o): Rename to reginfo.o.  Rename gt-regclass.h to
1864         gt-reginfo.h.
1865         (global.o, local-alloc.o, ra-conflict.o): Remove entries.
1866         (GTFILES): Rename regclass.c to reginfo.c.
1867
1868         * passes.c (init_optimization_passes): Remove pass_local_alloc and
1869         pass_global_alloc.  Rename pass_regclass_init to pass_reginfo_init.
1870
1871         * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
1872         count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
1873         Remove flag_ira.
1874         (finish_spills): Ditto.  Remove code for !flag_ira.
1875         
1876 2009-01-29  Kenneth Zadeck  <zadeck@naturalbridge.com>
1877
1878         PR middle-end/35854
1879         * doc/invoke.texi (rtl debug options): Complete rewrite.
1880         * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
1881         to auto_inc_dec".
1882         * mode-switching.c (pass_mode_switching): Rename pass from
1883         "mode-sw" to "mode_sw".
1884         * except.c (pass_convert_to_eh_ranges): Rename pass from
1885         "eh-ranges" to "eh_ranges".
1886         * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
1887         to "subreg1".
1888                 
1889         
1890 2009-01-29  Andrey Belevantsev  <abel@ispras.ru>
1891             Alexander Monakov  <amonakov@ispras.ru>
1892
1893         PR middle-end/38857
1894         * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
1895         register.
1896         (move_exprs_to_boundary): Change return type and pass through
1897         should_move from move_op.  Relax assert.  Update usage ...
1898         (schedule_expr_on_boundary): ... here.  Use should_move instead of
1899         cant_move.
1900         (move_op_orig_expr_found): Indicate that insn was disconnected from
1901         stream.
1902         (code_motion_process_successors): Do not call after_merge_succs
1903         callback if original expression was not found when traversing any of
1904         the branches.
1905         (code_motion_path_driver): Change return type.  Update prototype.
1906         (move_op): Update comment.  Add a new parameter (should_move).  Update
1907         prototype.  Set *should_move based on indication provided by
1908         move_op_orig_expr_found.
1909
1910 2009-01-28  Pat Haugen  <pthaugen@us.ibm.com>
1911
1912         * doc/invoke.texi (avoid-indexed-addresses): Document new option.
1913         * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
1914         * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
1915         * config/rs6000/rs6000.c (rs6000_override_options): Default
1916         avoid-indexed-addresses on for Power6, off for everything else.
1917         (avoiding_indexed_address_p): New function.
1918         (rs6000_legitimize_address): Use it.
1919         (rs6000_legitimate_address): Likewise.
1920         * config/rs6000/rs6000.md (movXX_updateX): Likewise
1921
1922 2009-01-28  Kazu Hirata  <kazu@codesourcery.com>
1923
1924         PR tree-optimization/38997
1925         * tree-loop-distribution.c (generate_memset_zero): Use
1926         POINTER_PLUS_EXPR for a pointer addition.
1927
1928 2009-01-28  Andreas Krebbel  <krebbel1@de.ibm.com>
1929
1930         * config/s390/s390.md (bswap<mode>2): New pattern added.
1931
1932 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1933
1934         * config/s390/s390.md (*tls_load_31): Added type attribute.
1935
1936 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1937
1938         * config/s390/s390.md: Fix a few comments.
1939
1940 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1941
1942         * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
1943         (*tm<mode>_full): Fixed z10prop attribute.
1944         (*tst<mode>_extimm): Fixed z10prop attribute.
1945         (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
1946         (*tstqiCCT_cconly): Fixed z10prop attribute.
1947         (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
1948         (*movsi_larl): Fixed z10prop attribute.
1949         (*movsi_zarch): Fixed z10prop attribute.
1950         (*movsi_eas): Fixed z10prop attribute.
1951         (*movhi): Fixed z10prop attribute.
1952         (*movqi): Fixed z10prop attribute.
1953         (*movstrictqi): Fixed z10prop attribute.
1954         (*mov<mode>): Fixed z10prop attribute.
1955         (*movcc): Fixed z10prop attribute.
1956         (*sethighpartdi_64): Fixed z10prop attribute.
1957         (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
1958         (*negdi2_sign_cc): Fixed z10prop attribute.
1959         (*negdi2_sign): Fixed z10prop attribute.
1960         (*absdi2_sign_cc): Fixed z10prop attribute.
1961         (*absdi2_sign): Fixed z10prop attribute.
1962         (*negabsdi2_sign_cc): Fixed z10prop attribute.
1963         (*negabsdi2_sign): Fixed z10prop attribute.
1964         (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
1965         (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
1966         (doloop_si64): Fixed z10prop attribute.
1967         (doloop_si31): Fixed z10prop attribute.
1968         (doloop_long): Fixed z10prop attribute.
1969         (indirect_jump): Fixed z10prop attribute.
1970         (nop): Fixed z10prop attribute.
1971         (main_base_64): Fixed z10prop attribute.
1972         (reload_base_64): Fixed z10prop attribute.
1973
1974 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
1975
1976         PR rtl-optimization/38740
1977         * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
1978         if !optimize.
1979         * config/mips/mips.c (mips_reorg): Likewise.
1980
1981 2009-01-28  Richard Guenther  <rguenther@suse.de>
1982
1983         PR tree-optimization/38926
1984         * tree-ssa-pre.c (add_to_value): Assert we add only expressions
1985         with the correct value id to a value.
1986         (do_regular_insertion): Use the value number of edoubleprime
1987         for the value number of the expr.
1988
1989         Revert
1990         2008-08-21  Richard Guenther  <rguenther@suse.de>
1991
1992         * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
1993         a PHI ask VN if it is already available.
1994         * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
1995         * tree-ssa-sccvn.c (vn_phi_lookup): Export.
1996
1997 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
1998
1999         PR middle-end/38934
2000         * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
2001         set to varying whenever max has TREE_OVERFLOW set, similarly
2002         for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
2003
2004 2009-01-28  Richard Guenther  <rguenther@suse.de>
2005
2006         PR middle-end/38908
2007         * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
2008         uninitialized aggregate uses in call arguments.
2009
2010 2009-01-28  Paolo Bonzini  <bonzini@gnu.org>
2011
2012         PR tree-optimization/38984
2013         * tree-ssa-structalias.c (get_constraints_for_1): Do not use
2014         the nothing_id variable if -fno-delete-null-pointer-checks.
2015
2016 2009-01-28  Uros Bizjak  <ubizjak@gmail.com>
2017
2018         PR target/38988
2019         * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
2020         (set_got_offset_rex64): Ditto.
2021
2022 2009-01-27  H.J. Lu  <hongjiu.lu@intel.com>
2023
2024         PR target/38941
2025         * doc/extend.texi: Improve local variable with asm reg.
2026
2027 2009-01-27  Adam Nemet  <anemet@caviumnetworks.com>
2028
2029         * c.opt (Wpacked-bitfield-compat): Change init value to -1.
2030         * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
2031         was not supplied then set warn_packed_bitfield_compat to the
2032         default value of 1.
2033         * stor-layout.c (place_field): Check warn_packed_bitfield_compat
2034         against 1.
2035
2036 2009-01-27  Richard Guenther  <rguenther@suse.de>
2037
2038         PR tree-optimization/38503
2039         * cfgexpand.c (expand_gimple_basic_block): Ignore
2040         GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
2041         * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
2042         variables that cannot have TBAA applied.
2043         (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
2044         statements.
2045
2046 2009-01-27  Uros Bizjak  <ubizjak@gmail.com>
2047
2048         PR middle-end/38969
2049         * calls.c (initialize_argument_information): Do not wrap complex
2050         arguments in SAVE_EXPR.
2051
2052 2009-01-26  Andreas Tobler  <a.tobler@schweiz.org>
2053
2054         * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
2055         (INSTALL_LIBGCC): Revert typo commit.
2056
2057 2009-01-26  Richard Guenther  <rguenther@suse.de>
2058
2059         PR tree-optimization/38745
2060         * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
2061         from special handling.
2062
2063 2009-01-26  Richard Guenther  <rguenther@suse.de>
2064
2065         PR tree-optimization/38745
2066         * tree-ssa.c (execute_update_addresses_taken): Do not include
2067         variables that cannot possibly be a register in not_reg_needs.
2068         Do not clear TREE_ADDRESSABLE on vars that may not become
2069         registers.
2070         * tree-ssa.c (update_alias_info_1): Include those in the set
2071         of addressable vars.
2072
2073 2009-01-26  Richard Guenther  <rguenther@suse.de>
2074
2075         PR middle-end/38851
2076         * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
2077         * tree-ssa-dse.c: Include langhooks.h
2078         (execute_simple_dse): Remove stores with zero size.
2079
2080 2009-01-24  Jakub Jelinek  <jakub@redhat.com>
2081
2082         PR c/38957
2083         * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
2084         as PLUS_EXPR.
2085
2086 2009-01-24  Julian Brown  <julian@codesourcery.com>
2087
2088         * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
2089         config/arm/linux-atomic.c.
2090         * config/arm/linux-atomic.c: New.
2091
2092 2009-01-24  Eric Botcazou  <ebotcazou@adacore.com>
2093
2094         * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
2095         * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
2096         * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2097
2098 2009-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2099
2100         PR c/38938
2101         * c-opts.c (c_common_handle_option): Update warn_pointer_sign
2102         properly.
2103
2104 2009-01-24  Sebastian Pop  <sebastian.pop@amd.com>
2105
2106         PR tree-optimization/38953
2107         * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
2108         (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
2109         (gloog): Split the exit of the scop when the scop exit is a loop exit.
2110         (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
2111         changed the CFG.
2112
2113 2009-01-24  Paul Brook  <paul@codesourcery.com>
2114
2115         * config/arm/neon.md (neon_type): Move to arm.md.
2116         (neon_mov<VSTRUCT>): Add neon_type attribute.
2117         * config/arm/arm.md (neon_type): Move to here.
2118         (conds): Add "unconditioal" and use as default for NEON insns.
2119
2120 2009-01-24  Ben Elliston  <bje@au.ibm.com>
2121
2122         * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
2123         void *' warning from -Wc++-compat.
2124         * Makefile.in (dominance.o-warn): Remove.
2125
2126 2009-01-23  Paolo Bonzini  <bonzini@gnu.org>
2127
2128         PR tree-optimization/38932
2129         * fold-const.c (fold_unary_ignore_overflow): New.
2130         * tree.h (fold_unary_ignore_overflow): Declare.
2131         * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
2132         * tree-ssa-sccvn.c (visit_reference_op_load,
2133         simplify_unary_expression): Likewise.
2134
2135 2009-01-22  Adam Nemet  <anemet@caviumnetworks.com>
2136
2137         * c-decl.c (finish_struct): Move code to set DECL_PACKED after
2138         DECL_BIT_FIELD is alreay known.  Also inherit packed for bitfields
2139         regardless of their type.
2140         * c-common.c (handle_packed_attribute): Don't ignore packed on
2141         bitfields.
2142         * c.opt (Wpacked-bitfield-compat): New warning option.
2143         * stor-layout.c (place_field): Warn if offset of a field changed.
2144         * doc/extend.texi (packed): Mention the ABI change.
2145         * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
2146         (Warning Options): Add it to the list.
2147
2148 2009-01-22  H.J. Lu  <hongjiu.lu@intel.com>
2149
2150         * c-opts.c (c_common_post_options): Fix a typo in comments.
2151
2152 2009-01-22  Steve Ellcey  <sje@cup.hp.com>
2153
2154         PR middle-end/38615
2155         * gimplify.c (gimplify_init_constructor): Fix promotion of const
2156         variables to static.
2157         * doc/invoke.texi (-fmerge-all-constants): Update description.
2158
2159 2009-01-22  Uros Bizjak  <ubizjak@gmail.com>
2160
2161         PR target/38931
2162         * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
2163         (*movdi_1_rex64): Use type "mmx" for alternative 5.
2164
2165 2009-01-22  Richard Earnshaw  <rearnsha@arm.com>
2166
2167         * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
2168         a word boundary.
2169         (LOCAL_ALIGNMENT): Similarly.
2170
2171 2009-01-22  Mark Shinwell  <shinwell@codesourcery.com>
2172             Joseph Myers  <joseph@codesourcery.com>
2173
2174         * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
2175         * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
2176         * config/arm/arm-tune.md: Regenerate.
2177         * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
2178         -march=iwmmxt2.
2179
2180 2009-01-22  Mark Shinwell  <shinwell@codesourcery.com>
2181
2182         * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
2183         version number to five.
2184
2185 2009-01-22  Dodji Seketeli  <dodji@redhat.com>
2186
2187         PR c++/38930
2188         * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
2189         * c-common.c (set_underlying_type): Likewise.
2190         (is_typedef_decl ): Likewise
2191         * tree.h: Likewise
2192         (set_underlying_type): Likewise.
2193         (is_typedef_type): Likewise.
2194
2195 2009-01-21  Vladimir Makarov  <vmakarov@redhat.com>
2196
2197         PR middle-end/38587
2198         * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
2199         crossing setjmps.
2200
2201 2009-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
2202
2203         PR bootstrap/37660
2204         * config/i386/cygwin.h (SHARED_LIBGCC_SPEC):  New helper macro.
2205         (LIBGCC_SPEC):  Don't define.
2206         (REAL_LIBGCC_SPEC):  Define instead, using SHARED_LIBGCC_SPEC.
2207
2208 2009-01-21  Uros Bizjak  <ubizjak@gmail.com>
2209
2210         PR rtl-optimization/38879
2211         * alias.c (base_alias_check): Unaligned access via AND address can
2212         alias all surrounding object types except those with sizes equal
2213         or wider than the size of unaligned access.
2214
2215 2009-01-21  Dodji Seketeli  <dodji@redhat.com>
2216
2217         PR c++/26693
2218         * c-decl.c: (clone_underlying_type): Move this ...
2219         * c-common.c (set_underlying_type): ... here.
2220         Also, make sure the function properly sets TYPE_STUB_DECL() on
2221         the newly created typedef variant type.
2222         (is_typedef_decl ): New entry point.
2223         * tree.h: Added a new member member_types_needing_access_check to
2224         struct tree_decl_non_common.
2225         (set_underlying_type): New entry point.
2226         (is_typedef_type): Likewise.
2227
2228 2009-01-21  Bingfeng Mei  <bmei@broadcom.com>
2229
2230         * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
2231         Check whether two instructions have memory references that
2232         belong to conflicting alias sets.  walk_mems_1 and walk_mems_2
2233         are helper functions for traversing.
2234         * alias.h (insn_alias_sets_confilict_p): New prototypes.
2235         * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
2236         not to draw dependency edge for instructions with non-conflicting
2237         alias sets.
2238
2239 2009-01-20  Joseph Myers  <joseph@codesourcery.com>
2240
2241         PR other/38758
2242         * longlong.h: Update copyright years.  Use soft-fp license notice.
2243         Sync __clz_tab declaration with glibc.
2244
2245 2009-01-20  Steve Ellcey  <sje@cup.hp.com>
2246
2247         PR target/30687
2248         * doc/extend.texi (syscall_linkage): New.
2249         (version_id): Modify.
2250
2251 2009-01-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2252             Richard Guenther  <rguenther@suse.de>
2253
2254         PR tree-optimization/38747
2255         PR tree-optimization/38748
2256         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
2257         conversion if the base address is an indirect reference and the
2258         aliasing sets could cause issues.
2259
2260 2009-01-20  Sebastian Pop  <sebastian.pop@amd.com>
2261
2262         * common.opt (fgraphite, fgraphite-identity): Add comment for 
2263         explaining why these options are not documented.
2264
2265 2009-01-20  Sebastian Pop  <sebastian.pop@amd.com>
2266
2267         * graphite.c (stmt_simple_for_scop_p): Also handle cases when
2268         gimple_call_lhs is NULL.
2269
2270 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
2271
2272         PR target/38868
2273         * emit-rtl.c (adjust_address_1): Make sure memref is never
2274         overwritten.
2275
2276 2009-01-20  Ben Elliston  <bje@au.ibm.com>
2277
2278         * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
2279         const qualifier from arg parameter. Remove unnecessary cast to char *.
2280         * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
2281         const qualifier from arg 2.
2282
2283 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
2284
2285         * config/darwin.h: Add static-libgfortran to LINK_SPEC.
2286
2287 2009-01-19  Vladimir Makarov  <vmakarov@redhat.com>
2288
2289         PR c/38869
2290         * rtl.h (reinit_regs): New prototype.
2291         * regclass.c: Include ira.h.
2292         (reinit_regs): New.
2293         * Makefile.in (regclass.o): Add ira.h.
2294         * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
2295
2296 2009-01-18  H.J. Lu  <hongjiu.lu@intel.com>
2297
2298         PR target/38736
2299         * c-common.c (handle_aligned_attribute): Use
2300         ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
2301         default alignment value.
2302
2303         * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
2304
2305         * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
2306         * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
2307
2308         * doc/extend.texi: Update __attribute__ ((aligned)).  Document
2309         __BIGGEST_ALIGNMENT__.
2310
2311         * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
2312
2313 2009-01-18  Richard Guenther  <rguenther@suse.de>
2314
2315         PR tree-optimization/38819
2316         * tree-flow.h (operation_could_trap_helper_p): Declare.
2317         * tree-eh.c (operation_could_trap_helper_p): Export.
2318         * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
2319         * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
2320         * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
2321         are about to insert a possibly trapping instruction and fail
2322         in this case.
2323
2324 2009-01-18  Andreas Schwab  <schwab@suse.de>
2325
2326         * doc/install.texi (Configuration): Remove obsolete paragraph
2327         about use of --with-gnu-ld with --with-gnu-as.
2328
2329 2009-01-18  Kazu Hirata  <kazu@codesourcery.com>
2330
2331         * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
2332         doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
2333         Follow spelling conventions.
2334
2335 2009-01-18  Ben Elliston  <bje@au.ibm.com>
2336
2337         * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
2338         C++ warning about implicit conversion from void * to struct
2339         bitmap_head_def *.
2340         (bitmap_obstack_free): Likewise for bitmap_element *.
2341         * Makefile.in (bitmap.o-warn): Remove.
2342
2343 2009-01-17  Dave Korn  <dave.korn.cygwin@gmail.com>
2344
2345         * Makefile.in (BACKENDLIBS):  Reorder to match dependencies.
2346
2347 2009-01-17  Sebastian Pop  <sebastian.pop@amd.com>
2348             Tobias Grosser  <tobi.grosser@amd.com>
2349
2350         * graphite.c (graphite_trans_scop_block): Do not block single
2351         nested loops.
2352
2353 2009-01-16  Alexandre Oliva  <aoliva@redhat.com>
2354
2355         * ebitmap.h (ebitmap_iter_init): Initialize all fields.
2356         * ipa-struct-reorg.c (gen_struct_type): Replace known-true
2357         test with assertion.
2358
2359 2009-01-16  Richard Guenther  <rguenther@suse.de>
2360
2361         PR tree-optimization/38835
2362         PR middle-end/36227
2363         * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
2364         and INT + PTR -> (INT)(PTR p+ INT) folding.
2365         * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
2366
2367 2009-01-16  Adam Nemet  <anemet@caviumnetworks.com>
2368
2369         PR target/38554
2370         * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
2371         the subreg from a lowpart subreg if it is also casting the value.
2372
2373 2009-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2374             Tobias Grosser  <tobi.grosser@amd.com>
2375
2376         * graphite.c (compare_prefix_loops): New.
2377         (build_scop_canonical_schedules): Rewritten.
2378         (graphite_transform_loops): Move build_scop_canonical_schedules
2379         after build_scop_iteration_domain.
2380
2381 2009-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2382             Tobias Grosser  <tobi.grosser@amd.com>
2383
2384         * graphite.c (add_conditions_to_domain): Add the loops to 
2385         the dimension of the iteration domain.  Do copy the domain
2386         only when it exists.
2387         (build_scop_conditions_1): Do not call add_conditions_to_domain.
2388         (add_conditions_to_constraints): New.
2389         (can_generate_code_stmt, can_generate_code): Removed.
2390         (gloog): Do not call can_generate_code.
2391         (graphite_transform_loops): Call add_conditions_to_constraints
2392         after building the iteration domain.
2393
2394 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
2395
2396         PR tree-optimization/38789
2397         * tree-ssa-threadedge.c
2398         (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
2399         __builtin_constant_p.
2400
2401 2009-01-16  Kenneth Zadeck  <zadeck@naturalbridge.com>
2402
2403         * dce.c (delete_unmarked_insns): Reversed the order that insns are
2404         examined before deleting them.
2405         
2406 2009-01-16  Richard Earnshaw  <rearnsha@arm.com>
2407
2408         * function.c (aggregate_value_p): Correctly extract the function
2409         type from CALL_EXPR_FN lookup.
2410
2411 2009-01-16  Hariharan Sandanagobalane  <hariharan@picochip.com>
2412
2413         * config/picochip/picochip.c (picochip_override_options): Revert
2414         CFI asm flag disable commited previously.
2415
2416 2009-01-15  Sebastian Pop  <sebastian.pop@amd.com>
2417             Tobias Grosser  <tobi.grosser@amd.com>
2418             Jan Sjodin  <jan.sjodin@amd.com>
2419
2420         * graphite.c (scan_tree_for_params): On substractions negate
2421         all the coefficients of the term.
2422         (clast_to_gcc_expression_red): New.  Handle reduction expressions
2423         of more than two operands.
2424         (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
2425         (get_vdef_before_scop): Handle also the case of default definitions.
2426
2427 2009-01-15  Richard Sandiford  <rdsandiford@googlemail.com>
2428
2429         * caller-save.c (add_used_regs_1, add_used_regs): New functions.
2430         (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
2431         Also use them when walking CALL_INSN_FUNCTION_USAGE.
2432
2433 2009-01-15  H.J. Lu  <hongjiu.lu@intel.com>
2434             Joey Ye  <joey.ye@intel.com>
2435
2436         PR middle-end/37843
2437         * cfgexpand.c (expand_stack_alignment): Don't update stack
2438         boundary nor check incoming stack boundary here.
2439         (gimple_expand_cfg): Update stack boundary and check incoming
2440         stack boundary here.
2441
2442 2009-01-15  Kenneth Zadeck  <zadeck@naturalbridge.com>
2443
2444         * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
2445         
2446 2009-01-14  Jakub Jelinek  <jakub@redhat.com>
2447
2448         PR rtl-optimization/38245
2449         * calls.c (expand_call): Add stack arguments to
2450         CALL_INSN_FUNCTION_USAGE even for pure calls (when
2451         ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
2452         in regs and partially in memory or BLKmode arguments.
2453         (emit_library_call_value_1): Add stack arguments to
2454         CALL_INSN_FUNCTION_USAGE even for pure calls (when
2455         ACCUMULATE_OUTGOING_ARGS).
2456         * dce.c: Include tm_p.h.
2457         (find_call_stack_args): New function.
2458         (deletable_insn_p): Call it for CALL_P insns.  Add ARG_STORES
2459         argument.
2460         (mark_insn): Call find_call_stack_args for CALL_Ps.
2461         (prescan_insns_for_dce): Walk insns backwards in bb rather than
2462         forwards.  Allocate and free arg_stores bitmap if needed, pass it
2463         down to deletable_insn_p, don't mark stores set in arg_stores
2464         bitmap, clear the bitmap at the beginning of each bb.
2465         * Makefile.in (dce.o): Depend on $(TM_P_H).
2466
2467 2009-01-14  Michael Meissner  <gnu@the-meissners.org>
2468
2469         PR target/22599
2470         * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
2471         to make sure the insn is a conditional test (bug 22599).  Reformat a
2472         few long lines.
2473
2474 2009-01-14  Sebastian Pop  <sebastian.pop@amd.com>
2475
2476         PR middle-end/38431
2477         * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
2478         (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
2479         (gloog): Do not call cleanup_tree_cfg.
2480         (graphite_transform_loops): Call cleanup_tree_cfg after all 
2481         scops have been code generated.
2482
2483 2009-01-14  Basile Starynkevitch  <basile@starynkevitch.net>
2484         * doc/gty.texi (Invoking the garbage collector): Added new node
2485         and section documenting ggc_collect.
2486
2487 2009-01-14  Richard Guenther  <rguenther@suse.de>
2488
2489         PR tree-optimization/38826
2490         PR middle-end/38477
2491         * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
2492         initialization notes only if we actually emitted a warning.
2493         (intra_create_variable_infos): Add constraints for a result decl
2494         that is passed by hidden reference.
2495         (build_pred_graph): Mark all related variables non-direct on
2496         address-taking.
2497
2498 2009-01-14  Nick Clifton  <nickc@redhat.com>
2499
2500         * ira-conflicts.c: Include addresses.h for the definition of
2501         base_reg_class.
2502         (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
2503         * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
2504
2505 2009-01-13  Vladimir Makarov  <vmakarov@redhat.com>
2506
2507         PR target/38811
2508         * Makefile.in (ira-lives.o): Add except.h.
2509
2510         * ira-lives.c: Include except.h.
2511         (process_bb_node_lives): Process can_throw_internal.
2512
2513 2009-01-13  Jakub Jelinek  <jakub@redhat.com>
2514
2515         PR rtl-optimization/38774
2516         * combine.c (simplify_set): When undoing cc_use change, don't do
2517         PUT_CODE on the newly created comparison, but instead put back the
2518         old comparison.
2519
2520 2009-01-13  Joseph Myers  <joseph@codesourcery.com>
2521
2522         * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
2523         values.  Remove duplicate arm8 entry.
2524
2525 2009-01-13  Sebastian Pop  <sebastian.pop@amd.com>
2526
2527         PR tree-optimization/38786
2528         * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
2529         the SSA_NAME case of expand_scalar_variables_expr.
2530         Set the type of an expression to the type of its assign statement.
2531         (expand_scalar_variables_expr): Also gather the scalar computation
2532         used to index the memory access.  Do not pass loop_p.
2533         Fix comment.  Stop recursion on tcc_constant or tcc_declaration.
2534         (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
2535         the gimple_stmt_iterator where it inserts new code.
2536         Do not pass loop_p.
2537         (copy_bb_and_scalar_dependences): Do not pass loop_p.
2538         (translate_clast): Update call to copy_bb_and_scalar_dependences.
2539
2540 2009-01-13  Sebastian Pop  <sebastian.pop@amd.com>
2541
2542         * graphite.h (debug_value): Removed.
2543         * graphite.c (debug_value): Removed.
2544
2545 2009-01-13  Richard Earnshaw  <rearnsha@arm.com>
2546
2547         * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
2548         ldrd/strd with two 32-bit instructions.
2549
2550 2009-01-13  Richard Earnshaw  <rearnsha@arm.com>
2551
2552         * config/arm/arm.c (struct processors): Pass for speed down into
2553         cost helper functions.
2554         (const_ok_for_op): Handle COMPARE and inequality nodes.
2555         (arm_rtx_costs_1): Rewrite.
2556         (arm_size_rtx_costs): Update prototype.
2557         (arm_rtx_costs): Pass speed down to helper functions.
2558         (arm_slowmul_rtx_costs): Rework cost calculations.
2559         (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
2560         (arm_9e_rtx_costs): Likewise.
2561
2562 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
2563
2564         * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
2565         relocations of local symbols wider than UNITS_PER_WORD are not valid.
2566         (alpha_legitimize_address): Do not split local symbols wider than
2567         UNITS_PER_WORD into HIGH/LO_SUM parts.
2568
2569 2009-01-13  Danny Smith  <dannysmith@users.sourceforge.net>
2570
2571         PR bootstrap/38580
2572         * gcc.c (process_command): Replace call to execvp with calls
2573         to pex_one and exit.
2574
2575 2009-01-03  Anatoly Sokolov  <aesok@post.ru>
2576
2577         PR target/29141
2578         * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
2579         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
2580         variant for devices with 3-byte PC.
2581         (__tablejump_elpm__) : New.
2582
2583 2009-01-12  Jakub Jelinek  <jakub@redhat.com>
2584
2585         PR c/32041
2586         * c-parser.c (c_parser_postfix_expression): Allow `->' in
2587         offsetof member-designator, handle it as `[0].'.
2588
2589 2009-01-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2590
2591         * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
2592         function when not using named sections on targets with named sections
2593         if branch distance is less than 262132.
2594
2595 2009-01-12  Richard Earnshaw  <rearnsha@arm.com>
2596
2597         * combine.c (combine_instructions):  Recompute
2598         optimize_this_for_speed_p  for each BB in the main combine loop.
2599
2600 2009-01-12  Tomas Bily  <tbily@suse.cz>
2601
2602         PR middlend/38385
2603         * tree-loop-distribution.c (prop_phis): New function.
2604         (generate_builtin): Call prop_phis.
2605         * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
2606
2607 2009-01-12  Jakub Jelinek  <jakub@redhat.com>
2608
2609         PR tree-optimization/38807
2610         * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
2611         gimple_visited_p unless stmt is GIMPLE_ASSIGN.
2612
2613 2009-01-11  Adam Nemet  <anemet@caviumnetworks.com>
2614
2615         * expmed.c (store_bit_field_1): Properly truncate the paradoxical
2616         subreg of op0 to the original op0.
2617
2618 2009-01-11  Laurent GUERBY  <laurent@guerby.net>
2619
2620         * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
2621         
2622 2009-01-11  Markus Schoepflin  <markus.schoepflin@comsoft.de>
2623
2624         PR debug/7055
2625         * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
2626         starting with digits.
2627
2628 2009-01-10  Jakub Jelinek  <jakub@redhat.com>
2629
2630         PR target/38695
2631         * config/arm/arm.c (arm_is_long_call_p): Don't call
2632         arm_function_in_section_p if decl isn't a FUNCTION_DECL.
2633
2634 2009-01-09  Steven Bosscher  <steven@gcc.gnu.org>
2635
2636         * regrename.c (regrename_optimize): Fix dumping.
2637         (find_oldest_value_reg): Preserve REG_POINTER.
2638         (copy_hardreg_forward_1): Likewise.
2639
2640 2009-01-09  Diego Novillo  <dnovillo@google.com>
2641
2642         * gimple.h (struct gimple_statement_base) <uid>: Document
2643         the restrictions on its use.
2644         (gimple_uid): Tidy.
2645         (gimple_set_uid): Tidy.
2646
2647 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2648
2649         * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
2650         zero guard even if align_bytes != 0 and count is smaller than
2651         size_needed.
2652
2653 2009-01-09  Vladimir Makarov  <vmakarov@redhat.com>
2654
2655         PR rtl-optimization/38495
2656         * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
2657         (add_range_and_copies_from_move_list): Print all added ranges.
2658         Add ranges to memory optimized destination.
2659
2660 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2661
2662         PR target/38686
2663         PR target/38708
2664         * config/i386/i386.c (override_options): Reject
2665         -mstringop-strategy=rep_8byte with -m32.
2666         (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
2667         to 1.  Do count comparison against epilogue_size_needed at compile
2668         time even when count_exp was constant forced into register.  For
2669         size_needed don't jump to epilogue, instead just avoid aligning
2670         and invoke the body algorithm.  If need_zero_guard, add zero guard
2671         even if count is non-zero, but smaller than size_needed + number of
2672         bytes that could be stored for alignment.
2673         (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
2674         to 1.  If need_zero_guard, add zero guard even if count is non-zero,
2675         but smaller than size_needed + number of bytes that could be stored
2676         for alignment.  Compare size_needed with epilogue_size_needed instead
2677         of desired_align - align, don't adjust size_needed, pass
2678         epilogue_size_needed to the epilogue expanders.
2679
2680         PR c/35742
2681         * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
2682
2683 2009-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2684
2685         * pa.c (last_address): Change to unsigned.
2686         (update_total_code_bytes): Change argument to unsigned.  Don't
2687         check if insn addresses are set.
2688         (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
2689         addresses are not set.
2690         (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
2691
2692 2009-01-09  Nick Clifton  <nickc@redhat.com>
2693
2694         * config/sh/symbian.c: Replace uses of DECL_INLINE with
2695         DECL_DECLARED_INLINE_P.
2696
2697 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2698
2699         PR middle-end/38347
2700         * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
2701         GET_MODE (op0) in operand_subword_force calls.
2702
2703         PR middle-end/38771
2704         * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
2705         fold_convert arg0 operands to TREE_TYPE (op0) first.
2706
2707 2009-01-08  Vladimir Makarov  <vmakarov@redhat.com>
2708
2709         * params.def (ira-max-conflict-table-size): Decrease default value
2710         to 1000.
2711
2712 2009-01-08  Jakub Jelinek  <jakub@redhat.com>
2713
2714         PR tree-optimization/37031
2715         * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
2716         on parameter_set.
2717         (build_access_matrix): Reserve correct size for AM_MATRIX vector,
2718         allocate it using gc instead of heap, use VEC_quick_push instead of
2719         VEC_safe_push.
2720         * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
2721         instead of heap, use VEC_quick_push instead of VEC_safe_push.
2722         * tree-data-ref.h (struct access_matrix): Change matrix to gc
2723         allocated vector from heap allocated.
2724         * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
2725         * tree-loop-linear.c (linear_transform_loops): Allocate nest
2726         vector only after perfect_loop_nest_depth call.
2727
2728 2009-01-08  Sebastian Pop  <sebastian.pop@amd.com>
2729             Jan Sjodin  <jan.sjodin@amd.com>
2730
2731         PR tree-optimization/38559
2732         * graphite.c (debug_value, copy_constraint,
2733         swap_constraint_variables, scale_constraint_variable, ): New.
2734         (get_lower_bound, get_upper_bound): Removed.
2735         (graphite_trans_bb_strip_mine): Clean up this code that works
2736         only for constant number of iterations.  Fully copy upper and
2737         lower bound constraints, not only the constant part of them.
2738         * graphite.h (debug_value): Declared.
2739
2740 2009-01-08  Ira Rosen  <irar@il.ibm.com>
2741
2742         PR tree-optimization/37194
2743         * tree-vect-transform.c (vect_estimate_min_profitable_iters):
2744         Don't add the cost of cost model guard in prologue to scalar 
2745         outside cost in case of known number of iterations.
2746
2747 2009-01-07  Nathan Froyd  <froydnj@codesourcery.com>
2748             Alan Modra  <amodra@bigpond.net.au>
2749
2750         * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
2751         non-word-aligned REG+CONST addressing.
2752
2753 2009-01-07  Uros Bizjak  <ubizjak@gmail.com>
2754
2755         PR target/38706
2756         * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
2757         free_after_compilation when outputting a thunk.
2758         (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
2759         Do not call free_after_compilation here.
2760
2761 2009-01-07  Uros Bizjak  <ubizjak@gmail.com>
2762
2763         * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
2764         (ix86_valid_target_attribute_inner_p): Ditto.
2765
2766 2009-01-07  Jan Sjodin  <jan.sjodin@amd.com>
2767
2768         PR tree-optimization/38492
2769         PR tree-optimization/38498
2770         * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
2771         * tree-chrec.h (scev_is_linear_expression): Declared.
2772         * graphite.c (graphite_cannot_represent_loop_niter): New.
2773         (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
2774         (graphite_loop_normal_form): Use gcc_assert.
2775         (scan_tree_for_params): Use CASE_CONVERT.
2776         (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
2777         (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
2778         Use gcc_assert.  Discard scops that contain unhandled cases.
2779         (build_scop_conditions): Return a boolean status for unhandled cases.
2780         (strip_mine_profitable_p): Print the loop number, not its depth.
2781         (is_interchange_valid): Pass the depth of the loop nest, don't
2782         recompute it wrongly.
2783         (graphite_trans_bb_block): Same.
2784         (graphite_trans_bb_block): Print tentative of loop blocking.
2785         (graphite_trans_scop_block): Do not print that the loop has been
2786         blocked.
2787         (graphite_transform_loops): Do not handle scops that contain condition
2788         scalar phi nodes.
2789
2790 2009-01-07  H.J. Lu  <hongjiu.lu@intel.com>
2791
2792         AVX Programming Reference (December, 2008)
2793         * config/i386/avxintrin.h (_mm256_stream_si256): New.
2794         (_mm256_stream_pd): Likewise.
2795         (_mm256_stream_ps): Likewise.
2796
2797         * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
2798         IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
2799         (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
2800         (bdesc_special_args): Add __builtin_ia32_movntdq256,
2801         __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
2802         (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
2803         (ix86_expand_special_args_builtin): Likewise.
2804
2805         * config/i386/sse.md (AVXMODEDI): New.
2806         (avx_movnt<mode>): Likewise.
2807         (avx_movnt<mode>): Likewise.
2808         (<sse>_movnt<mode>): Remove AVX support.
2809         (sse2_movntv2di): Likewise.
2810
2811 2009-01-07  Richard Guenther  <rguenther@suse.de>
2812
2813         PR middle-end/38751
2814         * fold-const.c (extract_muldiv): Remove obsolete comment.
2815         (fold_plusminus_mult_expr): Undo MINUS_EXPR
2816         to PLUS_EXPR canonicalization for the canonicalization.
2817
2818 2009-01-07  Gerald Pfeifer  <gerald@pfeifer.com>
2819
2820         * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
2821         hosted cross-compilers generating less efficient code.
2822
2823 2009-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2824
2825         * function.h (rtl_data): Add a dbr_scheduled_p field.
2826         * reorg.c (dbr_schedule): Set it.
2827         (gate_handle_delay_slots): Check it.
2828         * config/mips/mips.c (mips_base_delayed_branch): Delete.
2829         (mips_reorg): Check flag_delayed_branch instead of
2830         mips_base_delayed_branch.
2831         (mips_override_options): Don't set mips_base_delayed_branch
2832         or flag_delayed_branch.
2833
2834 2009-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2835
2836         PR rtl-optimization/38426.
2837         * ira.c (ira): Set current_function_is_leaf earlier.
2838
2839 2009-01-06  Jakub Jelinek  <jakub@redhat.com>
2840
2841         PR rtl-optimization/38722
2842         * combine.c (try_combine): Don't modify PATTERN (i3) and notes
2843         too early, only set a flag and modify after last possible
2844         undo_all point.
2845
2846 2009-01-06  Janis Johnson  <janis187@us.ibm.com>
2847
2848         PR c/34252
2849         * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
2850         * real.c (decimal_single_format): Correct values of emin and emax.
2851         (decimal_double_format): Ditto.
2852         (decimal_quad_format): Ditto.
2853         * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
2854         computation of DECnn_MIN and DECnn_MAX for corrected values of
2855         emin and emax.  Define __DECnn_SUBNORMAL_MIN__ instead of
2856         __DECnn_MIN__, and adjust its computation for the corrected value
2857         of emin.
2858
2859 2009-01-06  Jan Hubicka  <jh@suse.cz>
2860
2861         PR target/38744
2862         * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
2863
2864 2009-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
2865
2866         * doc/contrib.texi (Contributors): Slightly adjust the end note.
2867         Add Robert Clark to the list of testers.
2868
2869 2009-01-06  Jan Hubicka  <jh@suse.cz>
2870             Kai Tietz  <kai.tietz@onevision.com>
2871
2872         * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
2873         * config/i386/i386.c (ix86_expand_call): Add clobbers.
2874
2875 2009-01-06  Jan Hubicka  <jh@suse.cz>
2876             Kai Tietz  <kai.tietz@onevision.com>
2877
2878         * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
2879         for w64 ABI.
2880         * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
2881         (ix86_nsaved_regs): Count only general purpose regs.
2882         (ix86_nsaved_sseregs): New.
2883         (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
2884         to 16 for w64; compute padding and size of sse reg save area.
2885         (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
2886         general purpose regs.
2887         (ix86_emit_save_sse_regs_using_mov): New.
2888         (ix86_expand_prologue): Save SSE regs if needed.
2889         (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
2890         (ix86_emit_restore_sse_regs_using_mov): New.
2891         (ix86_expand_epilogue): Save SSE regs if needed.
2892
2893 2009-01-06  Jan Hubicka  <jh@suse.cz>
2894             Kai Tietz  <kai.tietz@onevision.com>
2895
2896         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
2897         * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
2898         functions when accumulate outgoing args is off.
2899
2900 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2901
2902         PR bootstrap/38742
2903         * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
2904         before using pseudos_have_intersected_live_ranges_p.
2905
2906         * ira-int.h (ira_assert): Always define.
2907
2908 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2909
2910         AVX Programming Reference (December, 2008)
2911         * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
2912         (_mm256_permute2_pd): Likewise.
2913         (_mm_permute2_ps): Likewise.
2914         (_mm256_permute2_ps): Likewise.
2915         * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
2916         * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
2917
2918         * config/i386/i386.c (ix86_builtins): Remove
2919         IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
2920         IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
2921         (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
2922         V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
2923         and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
2924         (bdesc_args): Remove __builtin_ia32_vpermil2pd,
2925         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
2926         __builtin_ia32_vpermil2ps256.
2927         (ix86_init_mmx_sse_builtins): Updated.
2928         (ix86_expand_args_builtin): Likewise.
2929
2930 2009-01-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2931
2932         * pa.c (output_call): Relocate non-jump insns in the delay slot of
2933         long absolute calls when generating PA 2.0 code.
2934
2935 2009-01-05  Vladimir Makarov  <vmakarov@redhat.com>
2936
2937         PR rtl-optimization/38583
2938         * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
2939
2940         * params.def (ira-max-conflict-table-size): New.
2941
2942         * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
2943         
2944         * ira.h (ira_conflicts_p): New external definition.
2945         
2946         * ira-conflicts.c (build_conflict_bit_table): Do not build too big
2947         table.  Report this.  Return result of building.
2948         (ira_build_conflicts): Use ira_conflicts_p.  Check result of
2949         building conflict table.
2950
2951         * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
2952         (ira_color): Use ira_conflicts_p.
2953         
2954         * global.c: Include ira.h.
2955         (pseudo_for_reload_consideration_p, build_insn_chain): Use
2956         ira_conflicts_p.
2957
2958         * Makefile.in (global.o): Add ira.h.
2959         
2960         * ira-build.c (mark_all_loops_for_removal,
2961         propagate_some_info_from_allocno): New.
2962         (remove_unnecessary_allocnos): Call
2963         propagate_some_info_from_allocno.
2964         (remove_low_level_allocnos): New.
2965         (remove_unnecessary_regions): Add parameter.  Call
2966         mark_all_loops_for_removal and remove_low_level_allocnos.  Pass
2967         parameter to remove_unnecessary_regions.
2968         (ira_build): Remove all regions but root if the conflict table was
2969         not built.  Update conflict hard regs for allocnos crossing calls.
2970
2971         * ira.c (ira_conflicts_p): New global.
2972         (ira): Define and use ira_conflicts_p.
2973
2974         * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
2975         count_spilled_pseudo, find_reg, alter_reg, finish_spills,
2976         emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
2977         
2978 2009-01-06  Ben Elliston  <bje@au.ibm.com>
2979
2980         * gengtype-lex.l (YY_NO_INPUT): Define.
2981
2982 2009-01-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2983
2984         PR c/34911
2985         * c-common.c (handle_vector_size_attribute): Also reject
2986         BOOLEAN_TYPE types.
2987
2988 2009-01-05  Sebastian Pop  <sebastian.pop@amd.com>
2989
2990         PR tree-optimization/38492
2991         * graphite.c (rename_map_elt, debug_rename_elt,
2992         debug_rename_map_1, debug_rename_map, new_rename_map_elt,
2993         rename_map_elt_info, eq_rename_map_elts,
2994         get_new_name_from_old_name, bb_in_sese_p): Moved around.
2995         (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
2996         (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
2997         (sese_build_livein_liveouts): New.
2998         (new_sese, free_sese): New.
2999         (new_scop): Call new_sese.
3000         (free_scop): Call free_sese.
3001         (rename_variables_from_edge, rename_phis_end_scop): Removed.
3002         (register_old_new_names): Renamed register_old_and_new_names.
3003         (register_scop_liveout_renames, add_loop_exit_phis,
3004         insert_loop_close_phis, struct igp,
3005         default_liveout_before_guard, add_guard_exit_phis,
3006         insert_guard_phis, copy_renames): New.
3007         (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
3008         (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
3009         (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
3010         (scop_adjust_phis_for_liveouts): New.
3011         (gloog): Call scop_adjust_phis_for_liveouts.
3012
3013         * graphite.h (struct sese): Documented.  Added fields liveout,
3014         num_ver and livein.
3015         (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
3016         (new_sese, free_sese, sese_build_livein_liveouts): Declared.
3017         (struct scop): Added field liveout_renames.
3018         (SCOP_LIVEOUT_RENAMES): New.
3019
3020 2009-01-05  Harsha Jagasia  <harsha.jagasia@amd.com>
3021
3022         PR tree-optimization/38510
3023         * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
3024         (translate_clast): Call recompute_all_dominators before
3025         graphite_verify.
3026         (gloog): Call recompute_all_dominators before graphite_verify.
3027
3028 2009-01-05  Harsha Jagasia  <harsha.jagasia@amd.com>
3029             Jan Sjodin  <jan.sjodin@amd.com>
3030
3031         PR tree-optimization/38500
3032         * graphite.c (create_sese_edges): Call fix_loop_structure after
3033         splitting blocks.
3034
3035 2009-01-05  Joel Sherrill  <joel.sherrill@oarcorp.com>
3036
3037         * config.gcc: Add m32r*-*-rtems*.
3038         * config/m32r/rtems.h: New file.
3039
3040 2009-01-05  Ben Elliston  <bje@au.ibm.com>
3041
3042         * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
3043         (.po.pox): Likewise.
3044         (po/gcc.pot): Likewise.
3045
3046 2009-01-04  David S. Miller  <davem@davemloft.net>
3047
3048         * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
3049         (STARTING_FRAME_OFFSET): Always set to zero.
3050
3051 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
3052
3053         * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
3054         * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
3055         fixed-point types, and vectors of the same.
3056
3057 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
3058
3059         * config/mips/sync.md (*mb_barrier): Rename to...
3060         (*memory_barrier): ...this.
3061
3062 2009-01-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
3063
3064         * doc/extend.texi (Function Attributes): Move @cindex after @item
3065         for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
3066         and put in alphabetical order. Fix 'target' name and put in order.
3067         * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
3068         typos.
3069
3070 2009-01-04  Uros Bizjak  <ubizjak@gmail.com>
3071
3072         * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
3073         (memory_barrier): Expand as unspec instead of unspec_volatile.
3074         Remove mem:BLK from insn operands.  Use Pmode scratch register.
3075         (*memory_barrier): Define as unspec instead of unspec_volatile.
3076         Use (match_dup 0) as input operand.
3077
3078         * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
3079         * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
3080         unspec_volatile.  Remove mem:BLK from insn operands.  Use Pmode
3081         scratch register.  Remove operand 1.
3082         (*stbar): Define as unspec instead of unspec_volatile.
3083         Use (match_dup 0) as input operand, remove (const_int 8).
3084         (*membar): Define as unspec instead of unspec_volatile.
3085         Use (match_dup 0) as input operand, remove input operand 2.
3086
3087         * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
3088         (memory_barrier): Expand as unspec instead of unspec_volatile.
3089         Remove mem:BLK from insn operands.  Use Pmode scratch register.
3090         (*memory_barrier): Define as unspec instead of unspec_volatile.
3091         Use (match_dup 0) as input operand.
3092
3093         * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
3094         Remove mem:BLK from insn operands.  Use Pmode scratch register.
3095         Set volatile flag on operand 0.
3096         (*memory_barrier): New insn pattern.
3097
3098         * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
3099         insn operands.
3100         (*memory_barrier): Use (match_dup 0) as input operand.
3101
3102         * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
3103         Remove mem:BLK from insn operands.  Use Pmode scratch register.
3104         Set volatile flag on operand 0.
3105         (*mb_internal): New insn pattern.
3106
3107         * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
3108
3109 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
3110
3111         PR middle-end/38586
3112         * function.c (struct temp_slot): Move to the section of the file
3113         that deals with temp slots.  Remove field 'address'.
3114         (temp_slot_address_table): New hash table of address -> temp slot.
3115         (struct temp_slot_address_entry): New struct, items for the table.
3116         (temp_slot_address_compute_hash, temp_slot_address_hash,
3117         temp_slot_address_eq, insert_temp_slot_address): Support functions
3118         for the new table.
3119         (find_temp_slot_from_address): Rewrite to use the new hash table.
3120         (remove_unused_temp_slot_addresses): Remove addresses of temp
3121         slots that have been made available.
3122         (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
3123         worker function for remove_unused_temp_slot_addresses.
3124         (assign_stack_temp_for_type): Don't clear the temp slot address list.
3125         Add the temp slot address to the address -> temp slot map.
3126         (update_temp_slot_address): Update via insert_temp_slot_address.
3127         (free_temp_slots): Call remove_unused_temp_slot_addresses.
3128         (pop_temp_slots): Likewise.
3129         (init_temp_slots): Allocate the address -> temp slot map, or empty
3130         the map if it is already allocated.
3131         (prepare_function_start): Initialize temp slot processing.
3132
3133 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
3134
3135         PR middle-end/38584
3136         * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
3137         Calculate the size of all stack vars assuming no packing of stack
3138         vars will happen, replacing a quadratic algorithm with a linear one.
3139
3140 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
3141
3142         PR target/38707
3143         * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
3144         can't be used.
3145
3146 2009-01-03  Diego Novillo  <dnovillo@google.com>
3147
3148         * doc/contrib.texi: Update contributions.
3149
3150 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
3151
3152         PR c++/38705
3153         * builtins.c (fold_builtin_memory_op): Give up if either operand
3154         is volatile.  Set srctype or desttype to non-qualified version
3155         of the other type.
3156
3157         PR c/38700
3158         * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
3159         and FUNCTION_DECLs.
3160
3161 2009-01-02  Kenneth Zadeck  <zadeck@naturalbridge.com>
3162
3163         PR rtl-optimization/35805
3164         * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
3165         problem if fast dce is able to remove any instructions.
3166         * dce.c (dce_process_block): Fix dump message.
3167         
3168 2009-01-02  Mark Mitchell  <mark@codesourcery.com>
3169
3170         PR 33649
3171         * tree-ssa-pre.c (compute_antic): Correct loop bounds.
3172
3173 2009-01-02  Jakub Jelinek  <jakub@redhat.com>
3174
3175         PR middle-end/38690
3176         * tree-flow.h (op_code_prio, op_prio): New prototypes.
3177         * tree-pretty-print.c (op_code_prio): New function.
3178         (op_prio): No longer static.  Use op_code_prio.
3179         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
3180         Use op_prio and op_code_prio to determine if () should be
3181         printed around operand(s) or not.
3182
3183         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
3184         dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
3185         dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
3186         dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
3187         pp_character instead of pp_string for single letter printing.
3188
3189 2009-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
3190
3191         * doc/extend.texi: Fix '#pragma GCC option' typo.
3192
3193 2009-01-02  Richard Guenther  <rguenther@suse.de>
3194
3195         * doc/install.texi (--enable-checking): Mention different
3196         default for stage1.
3197         (--enable-stage1-checking): Document.
3198
3199 2009-01-01  Andrew Pinski  <pinskia@gmail.com>
3200
3201         PR middle-end/30142
3202         * tree-cfg.c (verify_expr): Add INDIRECT_REF case.  Change MODIFY_EXPR
3203         case to be an error.
3204
3205 2009-01-02  Ben Elliston  <bje@au.ibm.com>
3206
3207         * config/fp-bit.h (pack_d): Constify argument.
3208         * config/fp-bit.c (makenan): Constify return type. Remove casts.
3209         (isnan): Constify argument.
3210         (isinf): Likewise.
3211         (iszero): Likewise.
3212         (pack_d): Likewise.
3213         (_fpadd_parts): Constify return type.
3214         (_fpmul_parts): Likewise.
3215         (_fpdiv_parts): Likewise.
3216
3217 2009-01-01  Jakub Jelinek  <jakub@redhat.com>
3218
3219         PR c/36489
3220         * c-typeck.c (add_pending_init): Add IMPLICIT argument.  Only
3221         warn about overwriting initializer with side-effects or
3222         -Woverride-init if !IMPLICIT.
3223         (output_init_element): Likewise.  Pass IMPLICIT down to
3224         add_pending_init.
3225         (process_init_element): Add IMPLICIT argument.  Pass it down
3226         to output_init_element.
3227         (push_init_element, pop_init_level, set_designator): Adjust
3228         process_init_element callers.
3229         (set_nonincremental_init, set_nonincremental_init_from_string):
3230         Adjust add_pending_init callers.
3231         (output_pending_init_elements): Adjust output_init_element callers.
3232         * c-tree.h (process_init_element): Adjust prototype.
3233         * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
3234         process_init_element callers.