OSDN Git Service

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