OSDN Git Service

PR tree-optimization/42906
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-04-06  Jan Hubicka  <jh@suse.czpli
2
3         PR tree-optimization/42906
4
5         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add IGNORE_SELF
6         argument; set visited_control_parents for fully processed BBs.
7         (find_obviously_necessary_stmts): Update call of
8         mark_control_dependent_edges_necessary.
9         (propagate_necessity): Likewise; handle PHI edges more curefully.
10
11 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
12
13         * config/i386/i386.md: Remove comment about 'e' and 'E'
14         operand modifier.
15
16 2010-04-06  Richard Guenther  <rguenther@suse.de>
17
18         PR tree-optimization/43627
19         * tree-vrp.c (extract_range_from_unary_expr): Widenings
20         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
21         not varying.
22
23 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
24
25         * BASE-VER: Change to 4.6.0.
26
27         PR target/43638
28         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
29         handling.
30
31 2010-04-06  Richard Guenther  <rguenther@suse.de>
32
33         PR middle-end/43661
34         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
35
36 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37
38         * doc/invoke.texi (Optimize Options): Document that LTO
39         won't remove object access purely due to incompatible
40         declarations.
41
42 2010-04-04  Matthias Klose  <doko@ubuntu.com>
43
44         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
45         Initialize variable.
46
47 2010-04-03  Richard Guenther  <rguenther@suse.de>
48
49         PR middle-end/42509
50         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
51         require a non-NULL MEM_OFFSET.
52
53 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
54
55         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, 
56         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
57         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
58         config/alpha/predicates.md, config/arm/arm.md,
59         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
60         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
61         config/darwin9.h, config/darwin.c, config/darwin.h,
62         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
63         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
64         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
65         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
66         config/mips/mips.md, config/mn10300/mn10300.c,
67         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
68         config/rs6000/aix.h, config/rs6000/dfp.md,
69         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
70         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
71         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
72         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
73         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
74         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
75         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
76         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
77         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
78         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
79         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
80         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
81         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
82         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
83         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
84         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
85         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
86         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
87         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
88         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
89         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
90         opt-functions.awk, opth-gen.awk, params.def, passes.c,
91         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
92         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
93         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
94         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
95         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
96         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
97         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
98         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
99         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
100         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
101         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
102         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
103         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
104         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
105
106 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107
108         PR other/43620
109         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
110         * aclocal.m4: Regenerate.
111
112 2010-04-02  Richard Guenther  <rguenther@suse.de>
113
114         PR tree-optimization/43629
115         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
116         if we have seen a constant value.
117
118 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
119
120         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for
121         ']'.
122
123 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
124
125         PR target/43469
126         * arm.c (legitimize_tls_address): Adjust call to 
127         gen_tls_load_dot_plus_four.
128         (arm_note_pic_base): New function.
129         (arm_cannot_copy_insn_p): Use it.
130         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
131         constraint.
132
133 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
134
135         PR bootstrap/43531
136
137         Revert:
138         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
139
140         * Makefile.in ($(out_object_file)): Depend on
141         gt-$(basename $(notdir $(out_file))).h.
142
143 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
144
145         * config.gcc (lm32-*-rtems*): Add t-lm32.
146
147 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
148
149         * config.gcc: Add lm32-*-rtems*.
150         * config/lm32/rtems.h: New file.
151
152 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
153
154         PR target/42609
155         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
156
157 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
158
159         * dwarf2out.c (output_compilation_unit_header): For
160         -gdwarf-4 use version 4 instead of version 3.
161         (output_line_info): For version 4 and above emit additional
162         maximum ops per insn header field.
163         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
164
165         * dwarf2out.c (is_c_family, is_java): Remove.
166         (lower_bound_default): New function.
167         (add_bound_info, gen_descr_array_type_die): Use it.
168
169 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
170
171         PR debug/43325
172         * dwarf2out.c (gen_variable_die): Allow debug info for variable
173         re-declaration when it happens in a function.
174
175 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
176
177         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
178         (cgraph_remove_function_insertion_hook): Same.
179         (cgraph_call_function_insertion_hooks): Same.
180
181 2010-04-01  Richard Guenther  <rguenther@suse.de>
182
183         PR middle-end/43614
184         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
185         and TREE_THIS_VOLATILE.
186         (copy_ref_info): Likewise.
187         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
188         * tree.c (build6_stat): Ignore side-effects of all but arg5
189         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
190         TARGET_MEM_REF.
191
192 2010-04-01  Richard Guenther  <rguenther@suse.de>
193
194         PR tree-optimization/43607
195         * ipa-type-escape.c (check_call): Do not access non-existing
196         arguments.
197
198 2010-04-01  Richard Guenther  <rguenther@suse.de>
199
200         PR middle-end/43602
201         Revert
202         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
203             Jack Howarth <howarth@bromo.med.uc.edu>
204
205         * tree-profile.c (tree_init_ic_make_global_vars): Make static
206         variables TLS.
207
208 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
209
210         * doc/install.texi (Prerequisites): Document libelf usability on
211         IRIX 5/6 and Solaris 2.
212         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
213         Update GNU as, GNU ld requirements.
214         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
215         Document Sun Studio compiler download.
216         Update and simplify as, ld recommendations.
217         (Specific, *-*-solaris2.7): Note obsoletion, removal.
218
219 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
220
221         * config.guess (i[34567]86-*-solaris2*): Default with_arch_32,
222         with_tune_32 to pentium4.
223
224 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
225
226         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
227
228 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
229
230         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
231         obsoletion, removal.
232         Update IDO URL.
233         Document GNU as requirement.
234         Update configure requirements.
235         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion,
236         removal.
237         Recomment IRIX 6.5.18+.
238         Document IDF/IDL requirement.
239         Document GNU as requirement.
240         Document GNU ld bootstrap failure.
241         Remove freeware.sgi.com reference.
242
243 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
244
245         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
246         UNIX V4.0, V5.0 obsoletion, removal.
247         Remove --with-gc=simple reference.
248         Update VM requirements during bootstrap.
249         Remove -oldas bootstrap description.
250         Update binutils reference.
251         Remove comparison failure note.
252
253 2010-03-31  Richard Guenther  <rguenther@suse.de>
254             Zdenek Dvorak  <ook@ucw.cz>
255             Sebastian Pop  <sebastian.pop@amd.com>
256
257         PR middle-end/43464
258         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
259         with multiple arguments.
260         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
261
262 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
263
264         * graphite-dependences.c (print_pddr): Call print_pdr with an
265         extra argument.
266         * graphite-poly.c (debug_pdr): Add an extra argument for the
267         verbosity level.
268         (print_pdr): Same.
269         (print_pbb_domain): Same.
270         (print_pbb): Same.
271         (print_scop_context): Same.
272         (print_scop): Same.
273         (print_cloog): Same.
274         (debug_pbb_domain): Same.
275         (debug_pbb): Same.
276         (print_pdrs): Same.
277         (debug_pdrs): Same.
278         (debug_scop_context): Same.
279         (debug_scop): Same.
280         (debug_cloog): Same.
281         (print_scop_params): Same.
282         (debug_scop_params): Same.
283         (print_iteration_domain): Same.
284         (print_iteration_domains): Same.
285         (debug_iteration_domain): Same.
286         (debug_iteration_domains): Same.
287         (print_scattering_function): Same.
288         (print_scattering_functions): Same.
289         (debug_scattering_function): Same.
290         (debug_scattering_functions): Same.
291         * graphite-poly.h (debug_pdr): Update declaration.
292         (print_pdr): Same.
293         (print_pbb_domain): Same.
294         (print_pbb): Same.
295         (print_scop_context): Same.
296         (print_scop): Same.
297         (print_cloog): Same.
298         (debug_pbb_domain): Same.
299         (debug_pbb): Same.
300         (print_pdrs): Same.
301         (debug_pdrs): Same.
302         (debug_scop_context): Same.
303         (debug_scop): Same.
304         (debug_cloog): Same.
305         (print_scop_params): Same.
306         (debug_scop_params): Same.
307         (print_iteration_domain): Same.
308         (print_iteration_domains): Same.
309         (debug_iteration_domain): Same.
310         (debug_iteration_domains): Same.
311         (print_scattering_function): Same.
312         (print_scattering_functions): Same.
313         (debug_scattering_function): Same.
314         (debug_scattering_functions): Same.
315
316 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
317
318         * graphite-poly.c (print_scattering_function_1): New.
319         (print_scattering_function): Call it.
320         (print_scop_params): Remove spaces at the end of lines.
321         (print_cloog): New.
322         (debug_cloog): New.
323         * graphite-poly.h (print_cloog): Declared.
324         (debug_cloog): Declared.
325
326 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
327
328         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
329         in loop->header.
330         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
331         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
332         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
333         to switch between adding the IV bump in loop->latch or in loop->header.
334
335 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
336
337         * graphite-poly.c (print_scattering_function): Pretty print following
338         the scoplib format.
339         (print_pdr): Same.
340         (print_pbb_domain): Same.
341         (dump_gbb_cases): Same.
342         (dump_gbb_conditions): Same.
343         (print_pdrs): Same.
344         (print_pbb): Same.
345         (print_scop_params): Same.
346         (print_scop_context): Same.
347         (print_scop): Same.
348         (print_pbb_body): New.
349         (lst_indent_to): New.
350         (print_lst): Start new lines with a #.
351         * graphite-poly.h (pbb_bb): New.
352         (pbb_index): Use pbb_bb.
353         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
354         disjuncts.
355         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
356
357 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
358
359         * dwarf2out.c (size_of_die): For -gdwarf-4 use
360         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
361         and 0 instead of 1 for dw_val_class_flag.
362         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
363         dw_val_class_range_list, dw_val_class_loc_list,
364         dw_val_class_lineptr and dw_val_class_macptr, use
365         DW_FORM_flag_present for dw_val_class_flag and
366         DW_FORM_exprloc for dw_val_class_loc.
367         (output_die): For -gdwarf-4 print dw_val_class_loc
368         size as uleb128 instead of 1 or 2 bytes and don't print
369         anything for dw_val_class_flag.
370
371         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
372         instead of cselib_lookup following by tweaking locs->setting_insn.
373
374         PR bootstrap/43596
375         * cselib.c (cselib_process_insn): Clear cselib_current_insn
376         even before returning from label, setjmp call or volatile asm
377         handling.
378
379 2010-03-31  Richard Guenther  <rguenther@suse.de>
380
381         PR middle-end/43600
382         * cgraphunit.c (cgraph_output_in_order): Do not allocate
383         temporary data on stack.
384
385 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
386
387         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
388         (PUSHSECTION_ASM_OP): Remove.
389         (POPSECTION_ASM_OP): Remove.
390         (PUSHSECTION_FORMAT): Remove.
391         * config/sol2.h (PUSHSECTION_FORMAT): Define.
392         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
393         * config/sol2.c (solaris_output_init_fini): Use it.
394
395 2010-03-31  Jie Zhang  <jie@codesourcery.com>
396
397         PR 43574
398         * opt-functions.awk (var_type_struct): Use signed char type
399         for simple variables.
400
401 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
402
403         * config/sol2.c: Include output.h.
404         (solaris_assemble_visibility): New function.
405         * config/t-sol2 (sol2.o): Add output.h dependency.
406         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
407         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
408         Redefine.
409
410 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
411
412         PR target/43580
413         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
414         V2SImode or XFmode on PRE_DEC.
415
416         PR debug/43557
417         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
418         BLKmode.
419
420 2010-03-31  Jie Zhang  <jie@codesourcery.com>
421
422         PR 43562
423         * reload.h (caller_save_initialized_p): Declare.
424         * toplev.c (backend_init_target): Don't call
425         init_caller_save but set caller_save_initialized_p to false.
426         * caller-save.c (caller_save_initialized_p): Define.
427         (init_caller_save): Check caller_save_initialized_p.
428         * ira.c (ira): Call init_caller_save if flag_caller_saves.
429
430 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
431
432         PR target/39048
433         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
434         and soft-fp/t-softfp to tmake_file.
435         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
436         (LIBGCC2_TF_CEXT): Define.
437         (TF_SIZE): Define.
438
439 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
440
441         PR debug/42977
442         * cselib.c (n_useless_values): Document handling of debug locs.
443         (n_useless_debug_values, n_debug_values): New variables.
444         (new_elt_loc_list): Don't add to debug values, keep count.
445         (promote_debug_loc): New.
446         (cselib_reset_table): Zero new variables.
447         (entry_and_rtx_equal_p): Promote debug locs.
448         (discard_useless_locs): Increment n_useless_debug_values for
449         debug values.
450         (remove_useless_values): Adjust n_useless_values and n_debug_values
451         with n_useless_debug_values.
452         (add_mem_for_addr): Promote debug locs.
453         (cselib_lookup_mem): Likewise.
454         (cselib_lookup_addr): Renamed to...
455         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
456         (cselib_log_lookup): ... this.  Turn into...
457         (cselib_lookup_addr): ... new wrapper.
458         (cselib_lookup_from_insn): New.
459         (cselib_invalidate_regno): Increment n_useless_debug_values for
460         debug values.
461         (cselib_invalidate_mem): Likewise.
462         (cselib_process_insn): Take n_deleted and n_debug_values into
463         account to guard remove_useless_value call.
464         (cselib_finish): Zero n_useless_debug_values.
465         * cselib.h (cselib_lookup_from_insn): Declare.
466         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
467         (sched_analyze_2): Likewise.
468
469 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
470
471         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
472         functions.
473         (adjust_mems): Replace narrowing SUBREG of expression containing
474         just PLUS, MINUS, MULT and ASHIFT of registers and constants
475         with operations in the narrower mode.
476
477         PR debug/43593
478         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
479         regs_invalidated_by_call instead all call_used_reg_set registers.
480
481 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
482
483         PR middle-end/43430
484         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
485         pointer comparisons with types_compatible_p.
486         * tree-vect-stmts.c (vectorizable_call): Same.
487         (vectorizable_condition): Same.
488
489 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
490
491         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
492         stack check if the mask would be zero.
493
494 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
495             Jack Howarth <howarth@bromo.med.uc.edu>
496
497         * tree-profile.c (tree_init_ic_make_global_vars): Make static
498         variables TLS.
499
500 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
501
502         PR other/25232
503         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
504         and __unordtf2.
505         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
506         Include ___unordxf2 and ___unordtf2.
507         * config/i386/libgcc-glibc.ver: Do not define inheritance from
508         GCC_4.4.0 here.
509
510 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
511
512         * config/lm32/t-lm32: New file.
513         * config.gcc: Use the above file when targetting lm32.
514
515 2010-03-28  Duncan Sands  <baldrick@free.fr>
516
517         * Makefile.in (PLUGIN_HEADERS): Add except.h.
518
519 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
520
521         PR middle-end/43431
522         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
523         Improve vectorization cost model diagnostic.
524
525 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
526
527         PR middle-end/43436
528         * tree-vect-data-refs.c (vect_analyze_data_refs): When
529         compute_data_dependences_for_loop returns false, early exit
530         and output an extra diagnostic for the failed data reference
531         analysis.
532
533 2010-03-29  Richard Guenther  <rguenther@suse.de>
534
535         PR tree-optimization/43560
536         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
537         (can_sm_ref_p): Treat stores to readonly locations as trapping.
538
539 2010-03-29  Jie Zhang  <jie@codesourcery.com>
540
541         PR 43564
542         * toplev.c (process_options): Set optimization_default_node
543         and optimization_current_node.
544         * opts.c (decode_options): Don't set optimization_default_node
545         and optimization_current_node.
546
547 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
548
549         * config/rtems.h: Abandon -qrtems_debug.
550
551 2010-03-28  Jan Hubicka  <jh@suse.cz>
552
553         PR tree-optimization/43505
554         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
555         map should not be copied.
556
557 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
558
559         PR middle-end/41674
560         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
561         cdtors, set DECL_PRESERVE_P.
562         * ipa.c (cgraph_externally_visible_p): Return true if declaration
563         should be preseved.
564
565 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
566
567         PR tree-optimization/43528
568         * stor-layout.c (place_field): Check that constant fits into
569         unsigned HWI when skipping calculation of MS bitfield layout.
570
571 2010-03-27  Jan Hubicka  <jh@suse.cz>
572
573         PR middle-end/43391
574         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
575         notice_global_symbol work.
576
577 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
578
579         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
580         instead of dwarf2out_decl.
581         (struct var_loc_node): Remove section_label field.
582         (dwarf2out_function_decl): New function.
583         (dwarf2out_var_location): Don't set section_label field.
584         (dwarf2out_begin_function): Don't empty decl_loc_table here.
585
586 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
587
588         PR tree-optimization/43544
589         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
590         First argument for builtin vectorized function hook is now a
591         tree to be able to distinguish between machine specific and
592         standard builtins.
593         * targhooks.c (default_builtin_vectorized_function): Ditto.
594         * targhooks.h (default_builtin_vectorized_function): Ditto.
595         * target.h (struct gcc_target): Ditto.
596         * tree-vect-stmts.c (vectorizable_function): Ditto.
597         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
598         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
599         Ditto.
600
601 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
602
603         PR c/43381
604         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
605         nested binding iff it is a FUNCTION_DECL.
606         (store_parm_decls_newstyle): Pass nested=true to bind for
607         FUNCTION_DECLs amongst parameters.
608
609 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
610
611         * var-tracking.c (vt_expand_loc_callback): Don't run
612         cselib_expand_value_rtx_cb in dummy mode if
613         cselib_dummy_expand_value_rtx_cb returned false.
614
615         * var-tracking.c (emit_note_insn_var_location): For one part
616         notes with offset 0, don't add EXPR_LIST around the location.
617         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
618         add_location_or_const_value_attribute): Adjust for that change.
619
620         PR debug/43540
621         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
622         into first operand and location into second.
623         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
624         dw_cfi_oprnd_loc for DW_CFA_expression.
625         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
626         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
627         assume first argument is regnum and second argument is location.
628
629 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
630
631         PR target/42113
632         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
633         of scratch register to DImode.  Split to DImode comparison operator.
634         Use SImode subreg of scratch register in the multiplication.
635         (*cmp_sadd_sidi): Ditto.
636         (*cmp_ssub_si): Ditto.
637         (*cmp_ssub_sidi): Ditto.
638
639 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
640
641         PR target/43524
642         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
643         Remove invalid assert and wrong comment.
644
645 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
646
647         PR debug/43516
648         * flags.h (final_insns_dump_p): New extern.
649         * final.c (final_insns_dump_p): New variable.
650         (rest_of_clean_state): Set it before -fdump-final-insns=
651         dumping, clear afterwards.
652         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
653         MEM_ALIAS_SET on MEMs.
654
655 2010-03-26  David S. Miller  <davem@davemloft.net>
656
657         * configure.ac: Fix sparc GOTDATA_OP bug check.
658         * configure: Rebuild.
659
660 2010-03-26  Alan Modra  <amodra@gmail.com>
661
662         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
663
664 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
665
666         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
667         TLS_SECTION_ASM_FLAG.
668
669 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
670
671         PR bootstrap/43511
672         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
673         Clear first_function_block_is_cold.
674
675         PR c/43385
676         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
677         argument if the argument is truth_value_p.
678
679 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
680
681         * config/rs6000/constraints.md: Update copyright year for my changes.
682
683         PR target/43484
684         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
685         used in reg+reg addressing, swap registers.
686
687 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
688
689         PR debug/43293
690         * target.h (struct gcc_target): Add code_end hook.
691         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
692         if not yet defined.
693         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
694         * toplev.c (compile_file): Call targetm.asm_out.code_end
695         hook before unwind info/debug info output.
696         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
697         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
698         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
699         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
700         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
701         * config/i386/i386.c (ix86_file_end): Renamed to...
702         (ix86_code_end): ... this.  Make static.  Don't call
703         file_end_indicate_exec_stack.  Emit unwind info using
704         final_start_function/final_end_function.
705         (darwin_x86_file_end): Remove.
706         (TARGET_ASM_CODE_END): Define.
707         * config/i386/i386.h (TARGET_ASM_FILE_END,
708         NEED_INDICATE_EXEC_STACK): Don't define.
709         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
710         (TARGET_ASM_FILE_END): Define to darwin_file_end.
711         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
712         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
713
714         PR target/43498
715         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
716         at the beginning and final_end_function at the end.
717         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
718
719 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
720
721         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
722         and Sun as TLS syntax.
723         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
724         * configure: Regenerate.
725         * config.in: Regenerate.
726         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
727         (default_elf_asm_named_section): Use it.
728         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
729         (i386_output_dwarf_dtprel): Likewise.
730         (output_addr_const_extra): Likewise.
731         (output_pic_addr_const): Lowercase @GOTTPOFF.
732         (output_addr_const_extra): Likewise.
733         (output_pic_addr_const): Lowercase @GOTNTPOFF.
734         (output_addr_const_extra): Likewise.
735         (output_pic_addr_const): Lowercase @INDNTPOFF.
736         (output_addr_const_extra): Likewise.
737         (output_pic_addr_const): Lowercase @NTPOFF.
738         (output_addr_const_extra): Likewise.
739         (output_pic_addr_const): Lowercase @TPOFF.
740         (output_addr_const_extra): Likewise.
741         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
742         (*tls_global_dynamic_64): Likewise.
743         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
744         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
745
746         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
747         (ASM_OUTPUT_TLS_COMMON): Use it.
748         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
749
750         PR target/38118
751         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
752         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
753         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
754         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
755         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
756         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
757
758 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
759
760         * config/i386/i386.c (override_options): Don't accept
761         -mtls-dialect=sun any longer.
762         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
763         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
764         (*tls_local_dynamic_base_32_sun): Likewise.
765         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
766
767 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
768
769         PR debug/43508
770         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
771         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
772
773         PR debug/43479
774         * ira.c (adjust_cleared_regs): New function.
775         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
776
777         PR debug/19192
778         PR debug/43479
779         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
780         from gimple_block.
781         * expr.c (expand_expr_real): Restore previous
782         curr_insn_source_location and curr_insn_block after
783         expand_expr_real_1 call.
784         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
785         instead of expand_expr_real_1.
786
787 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
788
789         PR rtl-optimization/43413
790         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
791         hard regs too.
792
793 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
794
795         PR target/43348
796         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
797         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
798
799 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
800
801         * config/i386/i386.c (ix86_target_string): Add -mfma.
802         Fix a typo in comment.
803
804 2010-03-22  Mike Stump  <mikestump@comcast.net>
805
806         PR target/23071
807         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
808         Don't overly align based upon packed packed fields.
809
810 2010-03-22  Jason Merrill  <jason@redhat.com>
811
812         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
813         Use () rather than [], and move before the element type.
814
815 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
816
817         * doc/configfiles.texi (Configuration Files): Removed
818         fixinc/Makefile*, intl/Makefile.*.
819         * doc/makefile.texi: Fixed markup. Abstract from version
820         control system used.
821         (Makefile): Removed obsolete gcc/java/parse.y example.
822         * doc/sourcebuild.texi: Likewise.
823         (Top Level): Added config, gnattools, libdecnumber, libgcc,
824         libgomp, libssp.  Removed fastjar.
825         (Miscellaneous Docs): Clarify location.
826         Added COPYING3, COPYING3.LIB.
827         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
828
829 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
830
831         PR target/38085
832         * config/i386/i386.c (x86_function_profiler)
833         [!NO_PROFILE_COUNTERS]: Fix typo.
834         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
835         instead of callq.
836
837 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
838             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
839
840         * doc/sourcebuild.texi (Test Directives): Split into six
841         subsections, with most of the current text in new subsections
842         Directives, Selectors, and Final Actions.
843         (Directives): Split list of test directives into multiple
844         subsubsections.
845         (Selectors): Describe use and syntax of selectors.
846         (Effective-Target Keywords): Describe all existing keywords.
847         (Add Options): Describe features for dg-add-options.
848         (Require Support): Describe variants of dg-require-support.
849         (Final Actions): Describe commands to use in dg-final.
850
851 2010-03-22  Michael Matz  <matz@suse.de>
852
853         PR middle-end/43475
854         * recog.c (validate_replace_rtx_group): Replace also in
855         REG_EQUAL and REG_EQUIV notes.
856
857 2010-03-22  Richard Guenther  <rguenther@suse.de>
858
859         PR tree-optimization/43390
860         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
861         sure vector extracts are type correct.
862
863 2010-03-22  Richard Guenther  <rguenther@suse.de>
864
865         PR middle-end/40106
866         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
867         x * sqrt (x) even when optimizing for size if the target
868         has native support for sqrt.
869
870 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
871
872         * varasm.c (make_decl_rtl_for_debug): Also clear
873         flag_mudflap for the duration of make_decl_rtl call.
874
875         PR debug/43443
876         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
877         locs from preserved VALUEs.
878
879 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
880
881         PR middle-end/42718
882         * pa.md (movmemsi): Set align to one if zero.
883         (movmemdi): Likewise.
884
885 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
886
887         PR target/42321
888         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
889         with their corresponding prologue pushes.
890
891 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
892
893         PR target/43156
894         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
895         at the begining or end.
896         (spu_expand_epilogue): Likewise.
897
898 2010-03-20  Richard Guenther  <rguenther@suse.de>
899
900         PR rtl-optimization/43438
901         * combine.c (make_extraction): Properly zero-/sign-extend an
902         extraction of the low part of a CONST_INT.  Also handle
903         CONST_DOUBLE.
904
905 2010-03-19  Mike Stump  <mikestump@comcast.net>
906
907         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
908         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
909         (override_options): Use SUBTARGET32_DEFAULT_CPU.
910
911 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
912
913         PR c/43211
914         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
915         an error.
916
917 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
918
919         PR rtl-optimization/42258
920         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
921         use that may match DEF.
922
923         PR target/40697
924         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
925         the cost of loading the constant rather than assuming
926         COSTS_N_INSNS (1).
927         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
928         outer code is AND, do the same tests as the andsi3 expander and
929         return COSTS_N_INSNS (1) if and is cheap.
930
931         * optabs.c (avoid_expensive_constant): Fix formatting.
932
933 2010-03-19  Michael Matz  <matz@suse.de>
934
935         PR c++/43116
936         * attribs.c (decl_attributes): When rebuilding a function pointer
937         type use the same qualifiers as the original pointer type.
938
939 2010-03-19  Martin Jambor  <mjambor@suse.cz>
940
941         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
942         and is_gimple_ip_invariant_address.
943
944 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
945
946         Revert
947         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
948
949         * config/arm/arm.c (arm_override_options): Turn off
950         flag_dwarf2_cfi_asm for AAPCS variants.
951
952 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
953
954         PR target/43399
955         * config/arm/arm.c (emit_multi_reg_push): Update comments.
956         Use PRE_MODIFY instead of PRE_DEC.
957         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
958         (vfp_emit_fstmd): Likewise.
959
960 2010-03-19  Michael Matz  <matz@suse.de>
961
962         PR target/43305
963         * builtins.c (expand_builtin_interclass_mathfn,
964         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
965         if that fails.
966
967 2010-03-19  Richard Guenther  <rguenther@suse.de>
968
969         PR tree-optimization/43415
970         * tree-ssa-pre.c (phi_translate): Split out worker to ...
971         (phi_translate_1): ... this.
972         (phi_translate): Move all caching here.  Cache all NARY
973         and REFERENCE translations.
974
975 2010-03-19  David S. Miller  <davem@davemloft.net>
976
977         With help from Eric Botcazou.
978         * config/sparc/sparc.c: Include dwarf2out.h.
979         (emit_pic_helper): Delete.
980         (pic_helper_symbol_name): Delete.
981         (pic_helper_emitted_p): Delete.
982         (pic_helper_needed): New.
983         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
984         (get_pc_thunk_name): New.
985         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
986         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
987         Set pic_helper_needed to true.  Don't call emit_pic_helper.
988         (sparc_expand_prologue): Update load_pic_register call.
989         (sparc_output_mi_thunk): Likewise.
990         (sparc_file_end): Emit a hidden comdat symbol for the PIC
991         thunk if possible.  Output CFI information as needed.
992
993 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
994             Jack Howarth <howarth@bromo.med.uc.edu>
995
996         PR target/36399
997         * config/i386/i386.h: Fix ABI on darwin x86-32.
998
999 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
1000
1001         * tree.h: Declare make_decl_rtl_for_debug.
1002         * varasm.c (make_decl_rtl_for_debug): New.
1003         * dwarf2out.c (rtl_for_decl_location): Call it.
1004         * cfgexpand.c (expand_debug_expr): Call it.
1005
1006 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1007
1008         PR bootstrap/43399
1009         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
1010         mem_mode.
1011
1012         PR bootstrap/43403
1013         * var-tracking.c (vt_init_cfa_base): Do nothing if
1014         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
1015
1016 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
1017
1018         PR debug/42873
1019         * var-tracking.c (canonicalize_vars_star): New.
1020         (dataflow_post_merge_adjust): Use it.
1021
1022 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
1023
1024         PR debug/43058
1025         * var-tracking.c (non_suitable_const): New function.
1026         (add_uses): For DEBUG_INSNs with constants, don't record any
1027         value, instead just the constant value itself.
1028         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
1029         is not VAR_LOC_UNKNOWN_P, set var to the constant.
1030         (emit_notes_in_bb): Likewise.
1031         (emit_note_insn_var_location): For onepart variables if
1032         cur_loc is a VOIDmode constant, use DECL_MODE.
1033
1034 2010-03-18  Martin Jambor  <mjambor@suse.cz>
1035
1036         PR middle-end/42450
1037         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
1038         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
1039         all non-clones.  Moved call redirection...
1040         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
1041         (cgraph_materialize_all_clones): Dispose of all
1042         combined_args_to_skip bitmaps.
1043         (verify_cgraph_node): Do not check for edges pointing to wrong
1044         nodes in inline clones.
1045         * tree-inline.c (copy_bb): Call
1046         cgraph_redirect_edge_call_stmt_to_callee.
1047         * ipa.c (cgraph_remove_unreachable_nodes): Call
1048         cgraph_node_remove_callees even when there are used clones.
1049
1050 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1051
1052         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
1053
1054 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1055
1056         PR target/43383
1057         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
1058         for 32bit.
1059
1060 2010-03-18  Michael Matz  <matz@suse.de>
1061
1062         PR middle-end/43419
1063         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
1064         into sqrt(x) if we need to preserve signed zeros.
1065
1066 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
1067             Eric Botcazou  <ebotcazou@adacore.com>
1068
1069         PR rtl-optimization/43360
1070         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
1071         note if we don't know its invariant status.
1072
1073 2010-03-18  Michael Matz  <matz@suse.de>
1074
1075         PR tree-optimization/43402
1076         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
1077         PHI chains of ssa names registered for update.
1078
1079 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
1080
1081         PR target/42427
1082         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
1083         non-offsettable and pre_modify update addressing.
1084         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
1085         and "2" alternatives "#".
1086         (*movdd_softfloat32): Make all alternatives "#";
1087         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
1088         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
1089         (*movdf_softfloat32): Make all alternatives "#";
1090         (movdi): Use the new DIFD mode iterator to create a common splitter
1091         for movdi, movdf and movdd patterns.
1092
1093 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
1094
1095         * common.opt (dumpdir): Remove redundant tab.
1096
1097 2010-03-17  Martin Jambor  <mjambor@suse.cz>
1098
1099         PR tree-optimization/43347
1100         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
1101         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
1102
1103 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
1104
1105         PR rtl-optimization/42216
1106         * regrename.c (create_new_chain): New function, broken out from...
1107         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
1108         appending a use to an empty chain.
1109         (build_def_use): Remove previous changes that convert OP_INOUT to
1110         OP_OUT operands; instead detect the case where an OP_INOUT operand
1111         uses a previously untracked register and create an empty chain for it.
1112
1113 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1114
1115         * doc/extend.texi (Function Attributes): Rewrite unfinished
1116         sentence in ms_abi documentation.
1117
1118 2010-03-17  Alan Modra  <amodra@gmail.com>
1119
1120         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
1121         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
1122         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
1123         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
1124
1125 2010-03-16  Richard Henderson  <rth@redhat.com>
1126
1127         PR middle-end/43365
1128         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
1129         (lower_try_finally): Save and restore eh_seq around the expansion
1130         of the try-finally.
1131
1132 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1133
1134         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
1135         statements before splitting block.
1136
1137 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1138
1139         * doc/sourcebuild.texi (Testsuites): Fix markup.
1140         Use pathnames relative to gcc/testsuite.
1141         (Test Directives): Move description of how timeout is determined.
1142         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
1143         (C Tests): Correct gcc.misc-tests directory.
1144         Framework tests now live in gcc.test-framework.
1145
1146 2010-03-16  Richard Guenther  <rguenther@suse.de>
1147
1148         PR middle-end/43379
1149         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
1150         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
1151
1152 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
1153             Alexandre Oliva  <aoliva@redhat.com>
1154
1155         PR tree-optimization/42917
1156         * lambda-code.c (remove_iv): Skip debug statements.
1157         (lambda_loopnest_to_gcc_loopnest): Likewise.
1158         (not_interesting_stmt): Debug statements are not interesting.
1159
1160 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
1161
1162         PR debug/43051
1163         PR debug/43092
1164         * cselib.c (cselib_preserve_constants,
1165         cfa_base_preserved_val): New static variables.
1166         (preserve_only_constants): New function.
1167         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
1168         clear its REG_VALUES.  If cselib_preserve_constants, don't
1169         empty the whole hash table, but preserve there VALUEs with constants,
1170         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
1171         (cselib_preserve_cfa_base_value): New function.
1172         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
1173         (cselib_init): Change argument to int bitfield.  Set
1174         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
1175         is in it.
1176         (cselib_finish): Clear cselib_preserve_constants and
1177         cfa_base_preserved_val.
1178         * cselib.h (enum cselib_record_what): New enum.
1179         (cselib_init): Change argument to int.
1180         (cselib_preserve_cfa_base_value): New prototype.
1181         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
1182         * dse.c (dse_step1): Likewise.
1183         * cfgcleanup.c (thread_jump): Likewise.
1184         * sched-deps.c (sched_analyze): Likewise.
1185         * gcse.c (local_cprop_pass): Likewise.
1186         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
1187         If FN is non-NULL, call the callback always and whenever it returns
1188         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
1189         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
1190         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
1191         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
1192         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
1193         * var-tracking.c: Include recog.h.
1194         (bb_stack_adjust_offset): Remove.
1195         (vt_stack_adjustments): Don't call it, instead just gather the
1196         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
1197         (adjust_stack_reference): Remove.
1198         (compute_cfa_pointer): New function.
1199         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
1200         (struct adjust_mem_data): New type.
1201         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
1202         functions.
1203         (get_address_mode): New function.
1204         (replace_expr_with_values): Use it.
1205         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
1206         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
1207         (adjust_sets): Remove.
1208         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
1209         Use get_address_mode.
1210         (get_adjusted_src): Remove.
1211         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
1212         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
1213         (add_with_sets): Don't call adjust_sets.
1214         (fp_setter, vt_init_cfa_base): New functions.
1215         (vt_initialize): Change return type to bool.  Move most of pool etc.
1216         initialization to the beginning of the function from end.  Pass
1217         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
1218         If !frame_pointer_needed, call vt_stack_adjustment before mos
1219         vector is filled, call vt_init_cfa_base if argp/framep has been
1220         eliminated to sp.  If frame_pointer_needed and argp/framep has
1221         been eliminated to hard frame pointer, set
1222         hard_frame_pointer_adjustment and call vt_init_cfa_base after
1223         encountering fp setter in the prologue.  For MO_ADJUST, call
1224         log_op_type before pusing the op into mos vector, not afterwards.
1225         Call adjust_insn before cselib_process_insn/add_with_sets,
1226         call cancel_changes (0) afterwards.
1227         (variable_tracking_main_1): Adjust for vt_initialize calling
1228         vt_stack_adjustments and returning whether it succeeded or not.
1229
1230 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
1231
1232         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
1233         debug statements.
1234
1235 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
1236
1237         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
1238         has been set.
1239         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
1240         drap_reg has not been set.
1241
1242 2010-03-15  Michael Matz  <matz@suse.de>
1243
1244         PR middle-end/43300
1245         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
1246         use it to expand block copies.
1247         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
1248         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
1249         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
1250
1251 2010-03-15  Richard Guenther  <rguenther@suse.de>
1252
1253         PR tree-optimization/43367
1254         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
1255         elimination check.
1256
1257 2010-03-15  Richard Guenther  <rguenther@suse.de>
1258
1259         PR tree-optimization/43317
1260         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
1261
1262 2010-03-15  Martin Jambor  <mjambor@suse.cz>
1263
1264         PR tree-optimization/43141
1265         * tree-sra.c (create_abstract_origin): New function.
1266         (modify_function): Call create_abstract_origin.
1267
1268 2010-03-15  Chris Demetriou  <cgd@google.com>
1269
1270         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
1271         wasn't copied.
1272
1273 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1274
1275         PR middle-end/43354
1276         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
1277         call insert_out_of_ssa_copy for default definitions.
1278
1279 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1280
1281         * graphite-clast-to-gimple.c (my_long_long): Defined.
1282         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
1283         * graphite-sese-to-poly.c (my_long_long): Defined.
1284         (scop_ivs_can_be_represented): Use it.
1285
1286 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1287
1288         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
1289         graphite-max-bbs-per-function, and loop-block-tile-size.
1290         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
1291         with "maximum".
1292         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
1293
1294 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1295
1296         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
1297         forward declaration.
1298         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
1299         (add_upper_bounds_from_estimated_nit): New.
1300         (build_loop_iteration_domains): Use it.
1301
1302 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1303
1304         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
1305
1306 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1307
1308         PR middle-end/43306
1309         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
1310         should be an INTEGER_CST.  Also handle CASE_CONVERT.
1311
1312 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1313
1314         * graphite.c (graphite_initialize): To bound the number of bbs per
1315         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
1316         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
1317         * doc/invoke.texi: Document it.
1318
1319 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1320
1321         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
1322         * graphite-sese-to-poly.h (build_poly_scop): Same.
1323
1324 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1325
1326         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
1327         the number of parameters in the scop.  Use as an upper bound
1328         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
1329         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
1330         * doc/invoke.texi: Document it.
1331
1332 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
1333
1334         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
1335         * doc/c-tree.texi: Remove.
1336         * doc/generic.texi: Merge c-tree.texi here.
1337         * doc/gccint.texi (Trees): Remove menu entry.
1338         (c-tree.texi): Remove @include.
1339         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
1340         * doc/languages.texi (Reading RTL): Ditto.
1341
1342 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
1343
1344         PR target/42869
1345         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
1346
1347 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
1348
1349         PR middle-end/42431
1350         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
1351         code added to work around reload clobbering CONST insns.
1352
1353 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
1354
1355         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
1356         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
1357         (cselib_preserve_only_values): Remove retain argument, don't
1358         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
1359         * cselib.h (cselib_preserve_only_values): Remove retain argument.
1360         * var-tracking.c (micro_operation): Move insn field before union.
1361         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
1362         (struct variable_tracking_info_def): Remove n_mos field, change
1363         mos into a vector of micro_operations.
1364         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
1365         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
1366         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
1367         changing into a vector.
1368         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
1369         come before all other uops generated by add_stores.
1370         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
1371         argument removal.
1372         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
1373         a vector.  Run just one pass over the bbs instead of separate counting
1374         and computation phase.
1375         (vt_finalize): Free VTI (bb)->mos vector instead of array.
1376
1377         PR debug/43329
1378         * tree-inline.c (remap_decls): Put old_var rather than origin_var
1379         into *nonlocalized_list vector.
1380         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
1381         even if origin is non-NULL.
1382         (gen_variable_die): Likewise.
1383         (process_scope_var): Don't change origin.
1384         (gen_decl_die): Likewise.
1385         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
1386         before adding new edges instead of after it, fix moving over
1387         debug stmts.
1388
1389 2010-03-11  David S. Miller  <davem@davemloft.net>
1390
1391         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
1392         of four.
1393         * configure: Rebuild.
1394
1395 2010-03-11  Martin Jambor  <mjambor@suse.cz>
1396
1397         PR tree-optimization/43257
1398         * tree.c (assign_assembler_name_if_neeeded): New function.
1399         (free_lang_data_in_cgraph): Assembler name assignment moved to the
1400         above new function.
1401         * tree.h (assign_assembler_name_if_neeeded): Declare.
1402         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
1403         the function if needed.
1404
1405 2010-03-11  Chris Demetriou  <cgd@google.com>
1406
1407         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
1408         include/stdint-gcc.h, and include/stdint.h world-readable.
1409
1410 2010-03-11  Richard Guenther  <rguenther@suse.de>
1411
1412         PR tree-optimization/43255
1413         * tree-vrp.c (process_assert_insertions_for): Do not insert
1414         asserts for trivial conditions.
1415
1416 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1417
1418         PR tree-optimization/43280
1419         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
1420         generation.  Move calculation of size out of the if branch.
1421         (find_bswap): Modify compare number generation.
1422
1423 2010-03-11  Richard Guenther  <rguenther@suse.de>
1424
1425         PR lto/43200
1426         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
1427         (input_gimple_stmt): Fixup handled component types during
1428         operand read.  Also fix up decls in ADDR_EXPRs.
1429
1430 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
1431
1432         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
1433         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
1434
1435 2010-03-10  Jan Hubicka  <jh@suse.cz>
1436
1437         PR c/43288
1438         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
1439         * varasm.c (get_variable_section): Don't do that here...
1440         (make_decl_rtl): ... and here.
1441         (do_assemble_alias): Produce decl RTL.
1442         (assemble_alias): Likewise.
1443
1444 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
1445
1446         PR debug/43290
1447         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
1448         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
1449         of fde->vdrap_reg.
1450         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
1451         (based_loc_descr): Only express drap or vdrap regno based expressions
1452         using DW_OP_fbreg when not optimizing.
1453         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
1454         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
1455         REG_CFA_SET_VDRAP note.
1456
1457 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
1458
1459         PR tree-optimization/43236
1460         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
1461         error in calculation of base address in reverse iteration case.
1462         (generate_builtin): Take number of latch executions if the statement
1463         is in the latch.
1464
1465 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
1466
1467         PR middle-end/42859
1468         * tree-eh.c: Include pointer-set.h.
1469         (lower_eh_dispatch): Filter out duplicate case labels and
1470         remove the unneeded edge when the label is unused.  Return
1471         true when some edges are removed.
1472         (execute_lower_eh_dispatch): When any lowering resulted in
1473         removing an edge, also delete unreachable blocks.
1474
1475 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
1476
1477         PR bootstrap/43287
1478         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
1479         UNSPEC_MACHOPIC_OFFSET.
1480
1481 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
1482
1483         PR target/43294
1484         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
1485         (m68k_delegitimize_address): New function.
1486
1487 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
1488
1489         PR debug/43299
1490         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
1491
1492         PR debug/43299
1493         * var-tracking.c (adjust_sets): New function.
1494         (count_with_sets, add_with_sets): Use it.
1495         (get_adjusted_src): New inline function.
1496         (add_stores): Use it.
1497
1498         PR debug/43304
1499         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
1500         call cselib_dummy_expand_value_rtx_cb instead of
1501         cselib_expand_value_rtx_cb.
1502
1503         PR debug/43293
1504         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
1505         * config/i386/i386.c: Include debug.h and dwarf2out.h.
1506         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
1507         and .cfi_endproc around the pic thunks.
1508         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
1509         all queued unwind info register saves are saved before the call.
1510         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
1511         considered as sp-=4 for unwind info and the pop as sp+=4 which
1512         also clobbers dest, but doesn't actually restore it.
1513
1514         PR debug/43290
1515         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
1516         RTX_FRAME_RELATED_P.
1517
1518 2010-03-09  Jie Zhang  <jie@codesourcery.com>
1519
1520         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
1521         whitespaces in output template.
1522
1523 2010-03-09  Jie Zhang  <jie@codesourcery.com>
1524
1525         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
1526         out array boundary.
1527
1528 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
1529
1530         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
1531         builtins.exp in a separate job.
1532
1533 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1534
1535         * graphite-sese-to-poly.c (add_param_constraints): Use
1536         lower_bound_in_type and upper_bound_in_type.
1537
1538 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1539
1540         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
1541         instead of unsigned_type_node.
1542
1543 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1544             Reza Yazdani  <reza.yazdani@amd.com>
1545
1546         PR middle-end/43065
1547         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
1548         on pointer type parameters.
1549
1550 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1551
1552         PR middle-end/42644
1553         PR middle-end/42130
1554         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
1555         handle conversions from pointer to integers.
1556         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
1557         induction variable, to be able to work with code generated by CLooG.
1558         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
1559         (build_poly_scop): Bail out if we cannot codegen a loop.
1560
1561 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1562
1563         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
1564         code generation with gloog_error.
1565
1566 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1567
1568         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
1569         Call fold_convert on all the returned values.
1570         (expand_scalar_variables_expr): Pass to
1571         expand_scalar_variables_ssa_name the type of the resulting expression.
1572
1573 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1574
1575         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
1576         ppl_min_for_le_pointset.
1577         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
1578         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
1579
1580 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1581
1582         * graphite-dependences.c (map_into_dep_poly): Removed.
1583         (dependence_polyhedron_1): Use combine_context_id_scat.
1584
1585 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1586
1587         * graphite-poly.h (struct poly_scattering): Add layout documentation.
1588         (struct poly_bb): Same.
1589         (combine_context_id_scat): New.
1590
1591 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1592
1593         PR middle-end/42326
1594         * sese.c (name_defined_in_loop_p): Return false for default
1595         definitions.
1596
1597 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1598
1599         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
1600         and clean up the logic.
1601
1602 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1603
1604         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
1605         early return.
1606
1607 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
1608
1609         * var-tracking.c (remove_cselib_value_chains): Define only for
1610         ENABLE_CHECKING.
1611         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
1612         delete_slot_part, emit_notes_for_differences_1): Don't call
1613         remove_cselib_value_chains here.
1614         (set_slot_part, emit_notes_for_differences_2): Don't call
1615         add_cselib_value_chains here.
1616         (preserved_values): New vector.
1617         (preserve_value): New function.
1618         (add_uses, add_stores, vt_add_function_parameters): Use it
1619         instead of cselib_preserve_value.
1620         (changed_values_stack): New vector.
1621         (check_changed_vars_0): New function.
1622         (check_changed_vars_1, check_changed_vars_2): Use it.
1623         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
1624         changed_values_stack VALUEs.
1625         (vt_emit_notes): For all preserved_values call
1626         add_cselib_value_chains.  If ENABLE_CHECKING call
1627         remove_cselib_value_chains before verifying value_chains is empty.
1628         Initialize and free changed_values_stack.
1629         (vt_initialize): Initialize preserved_values.
1630         (vt_finalize): Free preserved_values.
1631
1632 2010-03-08  Richard Guenther  <rguenther@suse.de>
1633
1634         PR tree-optimization/43269
1635         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
1636         region detection.
1637
1638 2010-03-08  Martin Jambor  <mjambor@suse.cz>
1639
1640         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
1641         (ipa_is_param_called): Removed.
1642         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
1643         (ipa_print_node_params): Do not print the called flag.
1644         (ipa_write_node_info): Do not stream the called flag.
1645         (ipa_read_node_info): Likewise.
1646
1647 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
1648
1649         PR debug/43176
1650         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
1651         * cselib.c (struct expand_value_data): Add dummy field.
1652         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
1653         dummy to false.
1654         (cselib_dummy_expand_value_rtx_cb): New function.
1655         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
1656         any rtl.
1657         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
1658         * var-tracking.c: Include pointer-set.h.
1659         (variable): Change n_var_parts to char from int.  Add
1660         cur_loc_changed and in_changed_variables fields.
1661         (variable_canonicalize): Remove.
1662         (shared_var_p): New inline function.
1663         (unshare_variable): Maintain cur_loc_changed and
1664         in_changed_variables fields.  If var was in changed_variables,
1665         replace it there with new_var.  Just copy cur_loc instead of
1666         resetting it to something else.
1667         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
1668         (dataflow_set_union): Don't call variable_canonicalize.
1669         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
1670         of their DEBUG_EXPR_TREE_DECLs.
1671         (canonicalize_loc_order_check): Verify that cur_loc is NULL
1672         and in_changed_variables and cur_loc_changed is false.
1673         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
1674         and cur_loc_changed.  Don't update cur_loc here.
1675         (variable_merge_over_src): Don't call variable_canonicalize.
1676         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
1677         removing loc that is equal to cur_loc, clear cur_loc,
1678         set cur_loc_changed and ensure variable_was_changed is called.
1679         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
1680         compare pointers in cur_loc check, if it is equal to loc,
1681         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
1682         (variable_different_p): Remove compare_current_location argument,
1683         don't compare cur_loc.
1684         (dataflow_set_different_1): Adjust variable_different_p caller.
1685         (variable_was_changed): If dv had some var in changed_variables
1686         already, reset in_changed_variables flag for it and propagate
1687         cur_loc_changed over to the new variable.  On empty var
1688         always set cur_loc_changed.  Set in_changed_variables on whatever
1689         var is added to changed_variables.
1690         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
1691         Use shared_var_p.  When removing loc that is equal to cur_loc,
1692         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
1693         end, don't set it to something else, just call variable_was_changed.
1694         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
1695         loc being removed, clear cur_loc and set cur_loc_changed.
1696         Set cur_loc_changed if all locations have been removed.
1697         (struct expand_loc_callback_data): New type.
1698         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
1699         allocated.  Always create SUBREGs if simplify_subreg failed.
1700         Prefer to use cur_loc, when that fails and still in
1701         changed_variables (and seen first time) recompute it.  Set
1702         cur_loc_changed of variables which had to change cur_loc and
1703         compute elcd->cur_loc_changed if any of the subexpressions used
1704         had to change cur_loc.
1705         (vt_expand_loc): Adjust to pass arguments in
1706         expand_loc_callback_data structure.
1707         (vt_expand_loc_dummy): New function.
1708         (emitted_notes): New variable.
1709         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
1710         that weren't used for any other decl in current
1711         emit_notes_for_changes call call vt_expand_loc_dummy to update
1712         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
1713         first loc_chain location if NULL before.  Always use just
1714         cur_loc instead of first loc_chain location.  When cur_loc_changed
1715         is false, when not --enable-checking=rtl just don't emit any note.
1716         When rtl checking, compute the note and assert it is the same
1717         as previous note.  Clear cur_loc_changed and in_changed_variables
1718         at the end before removing from changed_variables.
1719         (check_changed_vars_3): New function.
1720         (emit_notes_for_changes): Traverse changed_vars to call
1721         check_changed_vars_3 on each changed var.
1722         (emit_notes_for_differences_1): Clear cur_loc_changed and
1723         in_changed_variables.  Recompute cur_loc of new_var.
1724         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
1725         (vt_emit_notes): Initialize and destroy emitted_notes.
1726
1727 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
1728
1729         PR rtl-optimization/42220
1730         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
1731         Use verify_reg_tracked to determine if we should use OP_OUT rather
1732         than OP_INOUT.
1733         (build_def_use): If we see an in-out operand for a register that we
1734         know nothing about, treat is an output if possible, fail the block if
1735         not.
1736
1737 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
1738
1739         PR debug/42897
1740         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
1741         permanently.
1742
1743 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
1744
1745         PR debug/42897
1746         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
1747         uses of relevant DEFs that are dead outside the loop too.
1748
1749 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
1750
1751         * var-tracking.c (dataflow_set_merge): Swap src and src2.
1752         Reverted:
1753         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
1754         PR debug/41371
1755         * var-tracking.c (values_to_unmark): New variable.
1756         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
1757         values_to_unmark vector.  Moved body to...
1758         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
1759         instead queue it into values_to_unmark vector.
1760         (vt_find_locations): Free values_to_unmark vector.
1761
1762 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
1763
1764         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
1765         (site.exp): Export them when plugins are enabled.
1766
1767 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
1768
1769         PR middle-end/42326
1770         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
1771         that contain scevs.
1772         (chrec_fold_multiply): Same.
1773
1774 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
1775
1776         PR c/43248
1777         * c-decl.c (build_compound_literal): Return early if init is
1778         an error_mark_node.
1779
1780 2010-03-04  Martin Jambor  <mjambor@suse.cz>
1781
1782         PR tree-optimization/43164
1783         PR tree-optimization/43191
1784         * tree-sra.c (type_consists_of_records_p): Reject records with
1785         zero-size bit-fields at the end.
1786
1787 2010-03-04  Mike Stump  <mikestump@comcast.net>
1788
1789         * Makefile.in (TAGS): Remove *.y.
1790
1791 2010-03-04  Richard Guenther  <rguenther@suse.de>
1792
1793         PR tree-optimization/40761
1794         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
1795         in reverse order.
1796         (my_rev_post_order_compute): New function.
1797         (init_pre): Call it.
1798
1799 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
1800
1801         PR middle-end/43209
1802         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
1803         decrease the cost of an IV candidate when the cost is infinite.
1804
1805 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1806
1807         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
1808         Use '3DNow!' for the extension of that name, ensure normal space
1809         after the string.
1810         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
1811
1812 2010-03-03  Jeff Law  <law@redhat.com>
1813
1814         * PR middle-end/32693
1815         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
1816         than gen_rtx_SUBREG.
1817         (extract_bit_field_1): Likewise.
1818
1819 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
1820
1821         * doc/sourcebuild.texi (Test directives): Document that arguments
1822         include-opts and exclude-opts are now optional for dg-skip-if,
1823         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
1824
1825 2010-03-03  Jason Merrill  <jason@redhat.com>
1826
1827         PR c++/12909
1828         * cgraph.h (varpool_node): Add extra_name field.
1829         * varpool.c (varpool_extra_name_alias): New.
1830         (varpool_assemble_decl): Emit extra name aliases.
1831         (varpool_mark_needed_node): Look past an extra name alias.
1832         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
1833         * lto-streamer-in.c (lto_input_tree): Read it.
1834         * lto-streamer-out.c (output_unreferenced_globals): Write it.
1835
1836 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
1837
1838         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
1839         (sparc*-*-solaris2*): ...this.
1840
1841 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
1842
1843         PR debug/43229
1844         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
1845         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
1846         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
1847         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
1848
1849         PR debug/43237
1850         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
1851         fallthrough to default handling, just with want_address 0 instead of 2.
1852         For single element lists, add_AT_loc directly, otherwise create an
1853         artificial variable DIE and stick location list to it.
1854
1855         PR debug/43177
1856         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
1857         (VAL_EXPR_HAS_REVERSE): Define.
1858         (reverse_op): New function.
1859         (add_stores): For reversible operations add an extra MO_VAL_USE.
1860
1861 2010-03-02  Jason Merrill  <jason@redhat.com>
1862
1863         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
1864
1865 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1866
1867         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
1868         (sparc64-*-linux*): Likewise.
1869         (sparc64-*-solaris2*): Include assembler files before linker ones.
1870         (sparc-*-solaris2*): Simplify and reorder to match previous case.
1871         * config/sparc/gas.h: Delete.
1872         * config/sparc/sol2-64.h: Add copyright notice.
1873         * config/sparc/sol2-gas-bi.h: Likewise.
1874         * config/sparc/sol2-gld.h: Likewise.
1875         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
1876         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
1877         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
1878         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
1879         (sparc_elf_asm_named_section): Rename into...
1880         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
1881
1882 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
1883
1884         * config/alpha/alpha.c (override_options): Fix -mtune error message.
1885
1886 2010-03-02  Jeff Law  <law@redhat.com>
1887
1888         PR middle-end/42431
1889         * reload1.c (rtx_p, substitute_stack): Declare.
1890         (substitute): Record addresses of changed rtxs.
1891         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
1892         Restore the original rtx when complete.
1893         (reload): Free subsitute_stack when complete.
1894
1895 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
1896
1897         * doc/gccint.texi (menu): Add Testsuites as a chapter.
1898         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
1899         new chapter.
1900         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
1901         LTO Testing, gcov Testing, profopt Testing, compat Testing,
1902         Torture Tests): Change from subsection to section.
1903
1904 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
1905             Steven Bosscher  <steven@gcc.gnu.org>
1906
1907         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
1908         instead of bb.
1909
1910 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
1911
1912         PR middle-end/42640
1913         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
1914         the assignment from the new induction variable to the assignment
1915         of the value from the original loop PHI function.
1916
1917 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
1918             Daniel Jacobowitz  <dan@codesourcery.com>
1919
1920         * doc/sourcebuild.texi (Test directives): Clarify options to
1921         dg-skip-if.
1922
1923 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1924
1925         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
1926         Disable cfi directives unless GCC and gas agree on using read-only
1927         .eh_frame sections for 64-bit.
1928         * configure: Regenerate.
1929
1930 2010-03-01  Richard Guenther  <rguenther@suse.de>
1931
1932         PR tree-optimization/43220
1933         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
1934         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
1935
1936 2010-03-01  Richard Guenther  <rguenther@suse.de>
1937             Martin Jambor  <mjambor@suse.cz>
1938
1939         PR middle-end/41250
1940         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
1941         gimplified parameters.
1942
1943 2010-03-01  Christian Bruel  <christian.bruel@st.com>
1944
1945         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
1946
1947 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
1948
1949         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
1950
1951 2010-03-01  Richard Guenther  <rguenther@suse.de>
1952
1953         PR middle-end/43213
1954         * expr.c (expand_assignment): Use the alias-oracle to tell
1955         if the rhs aliases the result decl.
1956
1957 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1958
1959         PR pch/14940
1960         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
1961         to sol_gt_pch_get_address.
1962         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
1963         64-bit, SPARC and x86.
1964         (sol_gt_pch_get_address): New function.
1965
1966 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
1967
1968         * toplev.h (inform_n, error_n): Declare.
1969         * diagnostic.c (inform_n, error_n): New function.
1970
1971 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
1972
1973         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
1974         has no rtl yet when processing local_decls, queue it and recheck
1975         if deferred stack allocation hasn't assigned it rtl.
1976
1977 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
1978
1979         * config/sh/sh.c (unspec_bbr_uid): New.
1980         (gen_block_redirect): Use it instead of INSN_UID.
1981         (gen_far_branch): Likewise.
1982
1983 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
1984
1985         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
1986         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
1987
1988 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1989
1990         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
1991         (Warning Options): -Wno-conversion-null is valid for
1992         Objective-C++ as well.
1993         * doc/tm.texi (Named Address Spaces): Likewise.
1994         * doc/plugins.texi (Plugins): Replace TABs with spaces.
1995         * doc/tree-ssa.texi (Tree SSA): Likewise.
1996
1997 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1998
1999         PR bootstrap/43202
2000         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
2001         by default.  Don't set the default arch for
2002         i[34567]86-*-darwin*|x86_64-*-darwin*.
2003
2004 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2005
2006         PR bootstrap/43202
2007         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
2008         default.  Set the default 32bit/64bit archs with $with_arch
2009         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
2010
2011 2010-02-27  Richard Guenther  <rguenther@suse.de>
2012
2013         PR tree-optimization/43186
2014         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
2015         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
2016         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
2017         unroller iterations.
2018
2019 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2020
2021         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
2022         required and i[34567]86-*-* targets don't support 64bit ISA.
2023
2024 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
2025
2026         PR ada/43096
2027         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2028         the same alias set.
2029
2030 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2031
2032         * config.gcc: Set the default arch at least to Prescott for
2033         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
2034         if SSE math is enabled.
2035
2036 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2037
2038         * diagnostic.c (diagnostic_initialize): Update.
2039         (diagnostic_report_diagnostic): Test inhibit_notes_p for
2040         informative notes.
2041         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
2042         (diagnostic_inhibit_notes): New.
2043         * toplev.c (process_options): inhibit notes with -fcompare-debug.
2044
2045 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2046
2047         PR c/20631
2048         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
2049         * doc/standards.texi: Likewise.
2050         * doc/extend.texi: Likewise.
2051         * doc/trouble.texi: Likewise.
2052         * doc/cppopts.texi: Likewise.
2053         * doc/install.texi: Likewise.
2054         * c.opt (std=c90,std=gnu90): New options.
2055         * c-opts.c (c_common_handle_option): Handle them.
2056
2057 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2058
2059         PR c/24577
2060         * c-decl.c (undeclared_variable): Use an informative note.
2061
2062 2010-02-26  Richard Guenther  <rguenther@suse.de>
2063
2064         PR tree-optimization/43186
2065         * gimple.h (gimple_fold): Remove.
2066         * gimple.c (gimple_fold): Remove.  Inline into single user ...
2067         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
2068         Try harder for conditions.
2069
2070 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2071
2072         PR debug/43190
2073         * function.c (used_types_insert): Don't skip through named pointer
2074         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
2075         and it is different from the main variant's type.
2076
2077 2010-02-26  Nick Clifton  <nickc@redhat.com>
2078
2079         * config/rx/rx.md (sminsi3): Remove bogus alternative.
2080
2081 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2082
2083         * config.gcc: Support --with-fpmath=sse for x86.
2084
2085         * config/i386/ssemath.h: New.
2086
2087         * doc/install.texi (--with-fpmath=sse): Documented.
2088
2089 2010-02-26  Richard Guenther  <rguenther@suse.de>
2090
2091         PR tree-optimization/43188
2092         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
2093         vector types of over-aligned element type.
2094
2095 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
2096
2097         PR target/43175
2098         * config/i386/i386.c (expand_vec_perm_blend): Use correct
2099         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
2100
2101 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
2102
2103         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
2104
2105 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
2106
2107         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
2108         * var-tracking.c: Include diagnostic.h.
2109         (debug_dv): New function.
2110         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
2111
2112         PR debug/43160
2113         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
2114         (add_value_chain, add_value_chains, remove_value_chain,
2115         remove_value_chains): Handle DEBUG_EXPRs.
2116         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
2117
2118         PR debug/43161
2119         * regcprop.c (struct queued_debug_insn_change): New type.
2120         (struct value_data_entry): Add debug_insn_changes field.
2121         (struct value_data): Add n_debug_insn_changes field.
2122         (debug_insn_changes_pool): New variable.
2123         (free_debug_insn_changes, apply_debug_insn_changes,
2124         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
2125         (kill_value_one_regno): Call free_debug_insn_changes if needed.
2126         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
2127         fields.
2128         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
2129         changes for them.
2130         (copyprop_hardreg_forward_1): Don't call apply_change_group for
2131         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
2132         changes, call cprop_find_used_regs via note_stores.
2133         (copyprop_hardreg_forward): When copying vd from predecessor
2134         which has any queued DEBUG_INSN changes, make sure the pointers are
2135         cleared.  At the end call df_analyze and then if there are any
2136         DEBUG_INSN changes queued at the end of some basic block for still
2137         live registers, apply them.
2138         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
2139
2140 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
2141
2142         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
2143         (arm*-*-*): Ditto.
2144
2145 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
2146
2147         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
2148         targets.  Set the default with_cpu/with_arch from arch/cpu.
2149         Allow x86-64 and native for with_cpu/with_arch.
2150
2151 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
2152
2153         * ebitmap.c: Change calls to verify_popcount with calls to
2154         sbitmap_verify_popcount.
2155         (ebitmap_clear_bit): Fixed map->cacheindex test and
2156         map>cache update when bit clearing results in an empty
2157         element.
2158
2159 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
2160
2161         PR target/43154
2162         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
2163         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
2164         and support both V2DF and V2DI modes.
2165         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
2166         support both V2DF and V2DI modes.
2167         (general): Delete trailing whitespace from a few patterns.
2168
2169         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2170         V2DF/V2DI interleave high/low builtins.
2171
2172         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
2173         new VSX builtins.
2174
2175         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
2176         interleave high/low functions.
2177
2178 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
2179
2180         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
2181         #pragma extern_prefix.
2182
2183 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
2184
2185         PR debug/43166
2186         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
2187         BLKmode, assert op0 is a MEM and just adjust its mode.
2188
2189         PR debug/43165
2190         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
2191         if bitpos isn't multiple of mode's bitsize.
2192
2193 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2194
2195         * c.opt (-ftemplate-depth=): New.
2196         (-ftemplate-depth-): Deprecate.
2197         * optc-gen.awk: Handle -ftemplate-depth=.
2198         * opth-gen.awk: Likewise.
2199         * c-opts.c (c_common_handle_option): Likewise.
2200         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
2201
2202 2010-02-24  Jason Merrill  <jason@redhat.com>
2203
2204         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
2205
2206 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2207
2208         * cfg.c (alloc_aux_for_block): Remove inline.
2209         (alloc_aux_for_edge): Likewise.
2210
2211 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2212
2213         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
2214
2215 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2216
2217         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
2218         * config/i386/sol2-gas.h: New file.
2219         * config.gcc (i[34567]86-*-solaris2*): Use it.
2220
2221 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2222
2223         PR c/43128
2224         * c-typeck.c (ep_convert_and_check): New.
2225         (build_conditional_expr): Use it.
2226         (build_binary_op): Likewise.
2227
2228 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
2229
2230         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
2231
2232         PR debug/43150
2233         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
2234         bounds even for -O+.
2235         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
2236         expr needs to have DECL_NAME set.
2237
2238 2010-02-24  Nick Clifton  <nickc@redhat.com>
2239
2240         * config/mep/mep.c: Include gimple.h.
2241         (mep_function_uses_sp): Delete unused function.
2242         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
2243         parameters.  Use unsigned integers to count args.  Return a
2244         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
2245
2246 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2247
2248         PR target/43107
2249         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
2250         greater or equal to nelt instead of 2 * nelt.
2251         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
2252         with nelt - 1.
2253
2254 2010-02-23  Jason Merrill  <jason@redhat.com>
2255
2256         PR debug/42800
2257         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
2258         in cfun->local_decls even if they have register types.
2259
2260         PR c++/42837
2261         * stor-layout.c (place_field): Don't warn about unnecessary
2262         DECL_PACKED if the type is packed.
2263
2264 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2265
2266         PR target/43139
2267         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
2268         GOTOFF relocs, even when the base reg isn't pic pointer.
2269
2270 2010-02-23  Michael Matz  <matz@suse.de>
2271
2272         PR debug/43077
2273         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
2274         (expand_gimple_basic_block): Generate and use debug temps if there
2275         are debug uses left after the last real use of TERed ssa names.
2276         Unlink debug immediate uses when they are expanded.
2277
2278 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2279
2280         PR 43123
2281         * config/i386/i386.c (override_options): Reorganise to provide
2282         better error messages.
2283
2284 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2285
2286         PR middle-end/43083
2287         * graphite-scop-detection.c (create_single_exit_edge): Move
2288         the call to find_single_exit_edge to....
2289         (create_sese_edges): ...here.  Don't handle multiple edges
2290         exiting the function.
2291         (build_graphite_scops): Don't handle multiple edges
2292         exiting the function.
2293
2294 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2295
2296         PR middle-end/43097
2297         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
2298         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
2299
2300 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2301
2302         PR middle-end/43026
2303         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
2304
2305 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2306
2307         PR c++/43126
2308         * c-typeck.c (convert_arguments): Print declaration location.
2309         * c-common.c (validate_nargs): Rename as
2310         builtin_function_validate_nargs.
2311         (check_builtin_function_arguments): Update.
2312
2313 2010-02-22  Richard Guenther  <rguenther@suse.de>
2314
2315         PR lto/43045
2316         * tree-inline.c (declare_return_variable): Use the type of
2317         the call stmt lhs if available.
2318
2319 2010-02-22  Duncan Sands  <baldrick@free.fr>
2320
2321         * passes.c (register_pass): Always consider all pass lists when
2322         ref_pass_instance_number is zero.
2323
2324 2010-02-22  Richard Guenther  <rguenther@suse.de>
2325
2326         PR tree-optimization/42749
2327         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
2328         parameter.  Do arithmetic in the original type.
2329         (update_accumulator_with_ops): Likewise.
2330         (adjust_accumulator_values): Adjust.
2331
2332 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2333
2334         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
2335         (QI to BLKmode splitter): New splitter.
2336
2337 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2338
2339         * config/i386/i386.c (initial_ix86_tune_features): Turn on
2340         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
2341
2342 2010-02-22  Richard Guenther  <rguenther@suse.de>
2343
2344         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
2345
2346 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
2347
2348         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
2349         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
2350         ($(T)crti.o, $(T)crtn.o): Remove rules.
2351
2352 2010-02-21  Tobias Burnus  <burnus@net-b.de>
2353
2354         PR fortran/35259
2355         * doc/invoke.texi (-fassociative-math): Document that this
2356         option is automatically enabled for Fortran.
2357
2358 2010-02-20  David S. Miller  <davem@davemloft.net>
2359
2360         * configure.ac: Test if linker and assembler properly support
2361         GOTDATA_OP relocations.
2362         * configure: Rebuild.
2363         * config.in: Likewise.
2364         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
2365         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
2366         (movsi_high_pic): Likewise.
2367         (movdi_lo_sum_pic): Likewise.
2368         (movdi_high_pic): Likewise.
2369         (movsi_pic_gotdata_op): New pattern.
2370         (movdi_pic_gotdata_op): Likewise.
2371         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
2372         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
2373
2374 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
2375
2376         PR target/43067
2377         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
2378         attribute to ssemul.
2379         (xop_mulv2div2di3_high): Ditto.
2380
2381 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2382
2383         PR c++/35669
2384         * c.opt (Wconversion-null): New option.
2385         * doc/invoke.texi (Wconversion-null): Document.
2386
2387 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2388
2389         * common.opt (Wlarger-than-): Add Undocumented.
2390
2391 2010-02-19  Mike Stump  <mikestump@comcast.net>
2392
2393         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
2394
2395 2010-02-19  Jason Merrill  <jason@redhat.com>
2396
2397         PR target/40332
2398         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
2399         * configure: Likewise.
2400
2401 2010-02-20  Alan Modra  <amodra@gmail.com>
2402
2403         PR middle-end/42344
2404         * cgraph.h (cgraph_make_decl_local): Declare.
2405         * cgraph.c (cgraph_make_decl_local): New function.
2406         (cgraph_make_node_local): Use it.
2407         * cgraphunit.c (cgraph_function_versioning): Likewise.
2408         * ipa.c (function_and_variable_visibility): Likewise.
2409
2410 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2411
2412         PR bootstrap/43121
2413         * except.c (sjlj_emit_function_enter): Don't call
2414         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
2415         directly.
2416         * rtl.h (add_reg_br_prob_note): Remove prototype.
2417
2418 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2419
2420         PR 41779
2421         * c-common.c (conversion_warning): Remove widening conversions
2422         before checking the conversion of integers to reals.
2423
2424 2010-02-19  Mike Stump  <mikestump@comcast.net>
2425
2426         PR middle-end/43125
2427         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
2428
2429         PR objc/43061
2430         * cgraphunit.c (process_function_and_variable_attributes): Check
2431         DECL_PRESERVE_P instead of looking up attribute "used".
2432         * ipa-pure-const.c (check_decl): Likewise.
2433         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
2434         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
2435         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
2436         instead of attribute "used".
2437         * config/sol2-c.c (solaris_pragma_init): Likewise.
2438         (solaris_pragma_fini): Likewise.
2439
2440 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2441
2442         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
2443         Use XCNEW instead of xcalloc.
2444         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
2445         XNEW instead of xmalloc.
2446         (get_fields): Use XNEWVEC instead of xmalloc.
2447
2448         PR debug/43084
2449         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
2450         populate vars array.
2451         (create_new_general_access): For debug stmts just reset value.
2452         (get_stmt_accesses): For accesses within debug stmts just record them
2453         using add_access_to_acc_sites instead of preventing the peeling or
2454         counting them as accesses.
2455
2456         PR middle-end/42233
2457         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
2458
2459 2010-02-19  Richard Guenther  <rguenther@suse.de>
2460
2461         PR tree-optimization/42916
2462         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
2463         instructions.
2464
2465 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
2466
2467         * configure.ac: Replace all uses of changequote in macro arguments
2468         with proper quoting.
2469
2470 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2471
2472         PR middle-end/42233
2473         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
2474
2475 2010-02-19  Richard Guenther  <rguenther@suse.de>
2476
2477         PR tree-optimization/42944
2478         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
2479         test for aliasing with errno.
2480
2481 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2482
2483         PR middle-end/42233
2484         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
2485         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
2486         * dojump.c: Include output.h.
2487         (inv): New inline function.
2488         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
2489         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
2490         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
2491         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
2492         argument, pass it down to other calls.
2493         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
2494         add REG_BR_PROB note to the conditional jump.
2495         * cfgexpand.c (add_reg_br_prob_note): Removed.
2496         (expand_gimple_cond): Don't call it, add the probability
2497         as last argument to jumpif_1/jumpifnot_1.
2498         * Makefile.in (dojump.o): Depend on output.h.
2499         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
2500         callers.
2501         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
2502         * stmt.c (do_jump_if_equal): Likewise.
2503         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
2504         * loop-unswitch.c (compare_and_jump_seq): Likewise.
2505         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
2506         Likewise.
2507         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
2508         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
2509         jumpifnot_1 callers.
2510         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
2511         callers.
2512         (store_expr): Adjust jumpifnot caller.
2513         (store_constructor): Adjust jumpif caller.
2514
2515         PR middle-end/42233
2516         * gimplify.c (gimple_boolify): For __builtin_expect call
2517         gimple_boolify also on its first argument.
2518
2519 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
2520
2521         * configure.ac (gnu-unique-object): Wrap regexps using [] in
2522         changequote block.
2523         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
2524         * configure: Regenerated.
2525
2526 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2527
2528         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
2529         lang_hooks.types_compatible_p instead of comptypes.
2530
2531 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
2532
2533         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
2534         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
2535         if __prefer_thumb__ is defined.
2536
2537 2010-02-18  Martin Jambor  <mjambor@suse.cz>
2538
2539         PR tree-optimization/43066
2540         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
2541         array with zero-sized element type.
2542
2543 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
2544
2545         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
2546         rtx, allocate struct var_loc_node here and return it to the
2547         caller, and only if it is actually needed.
2548         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
2549         move it earlier and return immediately if it returns NULL.
2550
2551 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
2552
2553         * config/sparc/gas.h: New file.  Restore
2554         TARGET_ASM_NAMED_SECTION to its ELF default.
2555         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
2556         check !HAVE_GNU_AS.
2557         * config/sparc/sparc.c (sparc_elf_asm_named_section):
2558         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
2559         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
2560         after sparc/sysv4.h.
2561
2562 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
2563
2564         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
2565
2566 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
2567
2568         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
2569         patterns from predicated pattern.
2570
2571 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
2572
2573         PR target/43103
2574         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
2575         for insn mnemonic suffix.
2576
2577 2010-02-17  Richard Guenther  <rguenther@suse.de>
2578
2579         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
2580         to loop PHI nodes.
2581
2582 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
2583
2584         PR debug/42918
2585         * caller-save.c (save_call_clobbered_regs): If BB ends with
2586         a DEBUG_INSN, move any notes in between last real insn and the last
2587         DEBUG_INSN after the last DEBUG_INSN.
2588
2589 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
2590
2591         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
2592         Fix return type.  Fix argument type.  Explain meaning of return value.
2593
2594 2010-02-16  Richard Guenther  <rguenther@suse.de>
2595
2596         PR tree-optimization/41043
2597         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
2598         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
2599         statements ...
2600         (vrp_visit_phi_node): ... but only for loop PHI nodes.
2601
2602 2010-02-16  Ira Rosen  <irar@il.ibm.com>
2603
2604         PR tree-optimization/43074
2605         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
2606         * tree-vect-loop.c (vect_analyze_loop_operations): Add
2607         vectorizable cycles in hybrid SLP check.
2608         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
2609
2610 2010-02-16  Richard Guenther  <rguenther@suse.de>
2611
2612         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
2613         (true_dependence): If memrefs_conflict_p computes must-alias
2614         trust it.  Move TBAA check after offset-based disambiguation.
2615         (canon_true_dependence): Likewise.
2616
2617 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
2618
2619         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
2620         * doc/invoke.texi: Document it.
2621         * var-tracking.c: Include toplev.h and params.h.
2622         (vt_find_locations): Return bool indicating success.  Compute
2623         hash sizes unconditionally.  Check new parameter, report.
2624         (variable_tracking_main_1): Check vt_find_locations results and
2625         retry.  Renamed from...
2626         (variable_tracking_main): ... this.  New wrapper to preserve
2627         flag_var_tracking_assignments.
2628         * Makefile.in (var-tracking.o): Adjust dependencies.
2629
2630 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
2631             Jakub Jelinek <jakub@redhat.com>
2632
2633         PR target/42854
2634         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
2635         if weak_import attribute is present.
2636         * config/darwin.c (machopic_select_section): Likewise.
2637
2638 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
2639
2640         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
2641         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
2642         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
2643         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
2644
2645         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
2646         types.
2647
2648         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2649         Fix argument types.
2650
2651         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
2652         Rewrite text to refer to the names.
2653
2654 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
2655
2656         * config/i386/i386-builtin-types.def
2657         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
2658         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
2659         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
2660         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
2661         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
2662         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
2663         IX86_BUILTIN_VPERMIL2PS256.
2664         (MULTI_ARG_4_DF2_DI_I): Defined.
2665         (MULTI_ARG_4_DF2_DI_I1): Defined.
2666         (MULTI_ARG_4_SF2_SI_I): Defined.
2667         (MULTI_ARG_4_SF2_SI_I1): Defined.
2668         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
2669         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
2670         __builtin_ia32_vpermil2ps256.
2671         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2672         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2673         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
2674         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2675         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2676         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
2677         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
2678         CODE_FOR_xop_vpermil2v8sf3.
2679         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
2680         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
2681         * config/i386/xopintrin.h (_mm_permute2_pd): New.
2682         (_mm256_permute2_pd): New.
2683         (_mm_permute2_ps): New.
2684         (_mm256_permute2_ps): New.
2685
2686 2010-02-15  Nick Clifton  <nickc@redhat.com>
2687
2688         * config/h8300/h8300.c (h8300_push_pop): Use bool type for
2689         boolean parameters.  Use emit_jump_insn when emitting a pop
2690         instruction containing a return insn.
2691         (push): Use 'true' rather than '1' as second parameter to F.
2692         (h8300_expand_prologue): Likewise.
2693         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
2694         (h8300_expand_epilogue): Likewise.
2695
2696 2010-02-15  Richard Guenther  <rguenther@suse.de>
2697
2698         PR middle-end/43068
2699         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
2700         if that is zero.
2701
2702 2010-02-15  Nick Clifton  <nickc@redhat.com>
2703
2704         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
2705         delta.
2706
2707 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
2708
2709         * intl.c (fake_ngettext): New function.
2710         * intl.h (fake_ngettext): Declare.
2711         (ngettext): Define macro.
2712         * collect2.c (notice_translated): New function.
2713         (main): Use notice_translated and ngettext.
2714         * collect2.h (notice_translated): Declare.
2715
2716 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
2717
2718         * reorg.c (delete_computation): Comment fixes.
2719         * caller-save.c (setup_save_areas): Idem.
2720         * sel-sched-dump.c (dump_lv_set): Idem.
2721         * rtl.def: Idem.
2722
2723 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2724
2725         * config/s390/s390.c (s390_sched_init): New function.
2726         (TARGET_SCHED_INIT): Target hook defined.
2727
2728 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
2729             Jack Howarth  <howarth@bromo.med.uc.edu>
2730             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2731
2732         PR target/42982
2733         Partial revert of unintended change in fix for PR41605.
2734         * config/darwin.h: Fix typo.
2735         * config/darwin9.h: Same.
2736
2737 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2738
2739         * c-pch.c (pch_init): Clear v.
2740
2741 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2742
2743         PR middle-end/42930
2744         * graphite-scop-detection.c (graphite_can_represent_scev): Call
2745         graphite_can_represent_init for MULT_EXPR.
2746
2747 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2748
2749         PR middle-end/42914
2750         PR middle-end/42530
2751         * graphite-sese-to-poly.c (remove_phi): New.
2752         (translate_scalar_reduction_to_array): Call remove_phi.
2753
2754 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2755
2756         PR middle-end/42771
2757         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
2758         * graphite-clast-to-gimple.h (gloog): Update declaration.
2759         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
2760         * graphite-poly.h (struct poly_bb): Add missing comments.
2761         (struct scop): Add poly_scop_p field.
2762         (POLY_SCOP_P): New.
2763         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
2764         * graphite.c (graphite_transform_loops): Build the polyhedral
2765         representation for each scop before code generation.
2766         * sese.c (rename_variables_in_operand): Removed.
2767         (rename_variables_in_expr): Return the renamed expression.
2768         (rename_sese_parameters): New.
2769         * sese.h (rename_sese_parameters): Declared.
2770
2771 2010-02-11  Richard Guenther  <rguenther@suse.de>
2772
2773         PR tree-optimization/42998
2774         * tree-ssa-pre.c (create_expression_by_pieces): Treat
2775         POINTER_PLUS_EXPR properly.
2776
2777 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2778             Changpeng Fang  <changpeng.fang@amd.com>
2779
2780         PR middle-end/40886
2781         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
2782         the cost of an IV candidate when the IV is used in a test against zero.
2783
2784         * gcc.dg/tree-ssa/ivopts-3.c: New.
2785
2786 2010-02-11  Richard Guenther  <rguenther@suse.de>
2787
2788         PR lto/41664
2789         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
2790         pointer-vs-decl case by swapping refs.  Handle some cases
2791         of pointer-vs-decl disambiguations more conservatively.
2792         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
2793         to false after expanding.
2794
2795 2010-02-11  Richard Guenther  <rguenther@suse.de>
2796
2797         PR driver/43021
2798         * gcc.c (process_command): Handle LTO file@offset case more
2799         appropriately.
2800
2801 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2802
2803         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
2804         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
2805         of DEBUG_INSNs.
2806         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
2807
2808         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
2809         if MEM's mode size isn't DWARF2_ADDR_SIZE.
2810         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
2811         Optimize eq/ne comparisons when both arguments are known to be
2812         zero-extended.
2813         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
2814         Don't mask operands unnecessarily if they are known to be already
2815         zero-extended.
2816
2817 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
2818
2819         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
2820         instead of loop.
2821
2822 2010-02-10  Richard Guenther  <rguenther@suse.de>
2823
2824         PR tree-optimization/43017
2825         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
2826         for wrapping signed arithmetic.
2827
2828 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2829
2830         PR debug/43010
2831         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
2832         if no debug info should be emitted for it.
2833
2834 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
2835
2836         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
2837         note when flag_exceptions is set.
2838
2839 2010-02-10  Duncan Sands  <baldrick@free.fr>
2840
2841         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
2842
2843 2010-02-10  Richard Guenther  <rguenther@suse.de>
2844
2845         PR c/43007
2846         * tree.c (get_unwidened): Handle constants.
2847         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
2848
2849 2010-02-10  Martin Jambor  <mjambor@suse.cz>
2850
2851         PR lto/42985
2852         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
2853         check for variable argument counts independently.
2854
2855 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2856
2857         PR target/42841
2858         * config/sh/sh.c (find_barrier): Increase length for non delayed
2859         conditional branches.
2860
2861 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2862
2863         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
2864
2865 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2866
2867         * builtins.c (set_builtin_user_assembler_name): Also handle
2868         ffs if int is smaller than word.
2869
2870 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
2871
2872         PR middle-end/42973
2873         * ira-conflicts.c (get_dup): Remove.
2874         (process_reg_shuffles): Add new parameter.  Use it as an
2875         additional guard for copy generation.
2876         (add_insn_allocno_copies): Rewrite.
2877
2878 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
2879
2880         * common.opt (fsched2-use-traces): Preserved for backward
2881         compatibility.
2882         * doc/invoke.texi: Remove the documentation about option
2883         -fsched2-use-traces.
2884         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
2885         flag_sched2_use_traces.
2886         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
2887         the backward compatibility flag section.
2888
2889 2010-02-09  Richard Guenther  <rguenther@suse.de>
2890
2891         PR tree-optimization/43008
2892         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
2893         make HEAP variables initialized from global memory if they
2894         are not known builtin functions.
2895         (find_func_aliases): Adjust.
2896
2897 2010-02-09  Richard Guenther  <rguenther@suse.de>
2898
2899         PR tree-optimization/43000
2900         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
2901         arithmetic manually.
2902
2903 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
2904
2905         PR tree-optimization/42931
2906         * tree-loop-linear.c (try_interchange_loops): Don't call
2907         double_int_mul if estimated_loop_iterations failed.
2908
2909 2010-02-08  Martin Jambor  <mjambor@suse.cz>
2910
2911         PR middle-end/42898
2912         * tree-sra.c (build_accesses_from_assign): Do not mark in
2913         should_scalarize_away_bitmap if stmt has volatile ops.
2914         (sra_modify_assign): Do not process assigns piecemeal if if stmt
2915         has volatile ops.
2916
2917 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
2918
2919         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
2920
2921 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
2922
2923         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
2924         before the pattern.
2925
2926 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
2927
2928         PR middle-end/42946
2929         * df-core.c (df_finish_pass): Change type of saved_flags to int.
2930
2931 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2932
2933         PR middle-end/42988
2934         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
2935         to unknown_dependence.
2936         (graphite_legal_transform_dr): Handle the unknown_dependence.
2937         (graphite_carried_dependence_level_k): Same.
2938
2939 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2940
2941         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
2942
2943 2010-02-07  Richard Guenther  <rguenther@suse.de>
2944
2945         PR middle-end/42991
2946         * expr.c (get_inner_reference): Always initialize *pbitsize.
2947
2948 2010-02-07  Richard Guenther  <rguenther@suse.de>
2949
2950         PR middle-end/42956
2951         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
2952         new ARRAY_REFs on variable size element or minimal index arrays.
2953         Complete.
2954         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
2955         gimple_fold_indirect_ref.
2956
2957 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
2958
2959         PR target/42957
2960         * arm.c (arm_override_options): Just return if the user has specified
2961         an invalid fpu name.
2962
2963 2010-02-03  Jason Merrill  <jason@redhat.com>
2964
2965         PR c++/42870
2966         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
2967         i386_pe_maybe_record_exported_symbol.
2968
2969 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
2970
2971         PR target/42924
2972         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2973         (pa_delegitimize_address): New function.
2974
2975 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
2976
2977         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
2978         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
2979
2980 2010-02-05  Richard Guenther  <rguenther@suse.de>
2981
2982         PR lto/42762
2983         * lto-streamer-in.c (get_resolution): Deal with references
2984         to undefined functions.
2985
2986 2010-02-05  Richard Guenther  <rguenther@suse.de>
2987
2988         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
2989         (fold_const_aggregate_ref): Likewise.
2990         (ccp_fold_stmt): Substitute loads.
2991         (maybe_fold_reference): Verify types before substituting.
2992         Unshare properly.
2993         (fold_gimple_assign): Unshare properly.
2994         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
2995
2996 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
2997
2998         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
2999         for rs6000_gen_cell_microcode.
3000
3001 2010-02-04  Richard Guenther  <rguenther@suse.de>
3002
3003         PR rtl-optimization/42952
3004         * dse.c (const_or_frame_p): Remove MEM handling.
3005
3006 2010-02-04  Nick Clifton  <nickc@redhat.com>
3007
3008         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
3009         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
3010         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
3011         (mn10300_asm_output_mi_thunk): New function.
3012         (mn10300_can_output_mu_thunk): New function.
3013         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
3014         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
3015         (FUNCTION_ARG): Delete incorrect comment.
3016
3017 2010-02-03  Jason Merrill  <jason@redhat.com>
3018
3019         PR c++/40138
3020         * fold-const.c (operand_equal_p): Handle erroneous types.
3021
3022 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
3023
3024         * config/h8300/h8300.md (can_delay): Fix attibute condition.
3025
3026 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
3027
3028         PR rtl-optimization/42941
3029         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
3030         of xmalloc.
3031
3032 2010-02-03  Jason Merrill  <jason@redhat.com>
3033
3034         PR c++/35652
3035         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
3036
3037 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
3038
3039         PR debug/42896
3040         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
3041         (cselib_reset_table): Renamed from...
3042         (cselib_reset_table_with_next_value): ... this.
3043         (cselib_get_next_uid): Renamed from...
3044         (cselib_get_next_unknown_value): ... this.
3045         * cselib.c (next_uid): Renamed from...
3046         (next_unknown_value): ... this.
3047         (cselib_clear_table): Adjust.
3048         (cselib_reset_table): Adjust.  Renamed from...
3049         (cselib_reset_table_with_next_value): ... this.
3050         (cselib_get_next_uid): Adjust.  Renamed from...
3051         (cselib_get_next_unknown_value): ... this.
3052         (get_value_hash): Use hash.
3053         (cselib_hash_rtx): Likewise.
3054         (new_cselib_val): Adjust.  Set and dump uid.
3055         (cselib_lookup_mem): Pass next_uid as hash.
3056         (cselib_subst_to_values): Likewise.
3057         (cselib_log_lookup): Dump uid.
3058         (cselib_lookup): Pass next_uid as hash.  Adjust.
3059         (cselib_process_insn): Adjust.
3060         (cselib_init): Initialize next_uid.
3061         (cselib_finish): Adjust.
3062         (dump_cselib_table): Likewise.
3063         * dse.c (canon_address): Dump value uid.
3064         * print-rtl.c (print_rtx): Print value uid.
3065         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
3066         (dvuid): New type.
3067         (dv_uid): New function, sort of renamed from...
3068         (dv_htab_hash): ... this, reimplemented in terms of it and...
3069         (dv_uid2hash): ... this.  New.
3070         (variable_htab_eq): Drop excess assertions.
3071         (tie_break_pointers): Removed.
3072         (canon_value_cmp): Compare uids.
3073         (variable_post_merge_New_vals): Print uids.
3074         (vt_add_function_parameters): Adjust.
3075         (vt_initialize): Reset table.  Adjust.
3076
3077 2010-02-03  Richard Guenther  <rguenther@suse.de>
3078
3079         PR tree-optimization/42944
3080         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
3081         (call_may_clobber_ref_p_1): Likewise.  Properly handle
3082         malloc and calloc clobbering errno.
3083
3084 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
3085
3086         * doc/invoke.texi: Fix name of sched1 dump.
3087
3088         * opts.c (decode_options): Set flag_tree_switch_conversion
3089         only conditionally on optimize >= 2.
3090
3091         * gcse.c: Assorted comment fixes in pass description.
3092
3093 2010-02-03  Anthony Green  <green@moxielogic.com>
3094
3095         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
3096         nop padding in order to maintain alignment of storage location of
3097         target function address.
3098         (moxie_trampoline_init): Store target function address at newly
3099         aligned location.
3100         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
3101         to 32.
3102         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
3103
3104 2010-02-03  Richard Guenther  <rguenther@suse.de>
3105
3106         PR middle-end/42927
3107         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
3108
3109 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3110
3111         * config.gcc: Reenable check for obsolete targets.
3112         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
3113         mips-sgi-irix6.[0-4]*.
3114
3115 2010-02-02  Nick Clifton  <nickc@redhat.com>
3116
3117         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
3118         constant size of 4 as being the same as 0.
3119         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
3120         can take values in the range 0..4.
3121
3122 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
3123
3124         PR java/41991
3125         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
3126         as _darwin10_Unwind_FindEnclosingFunction().
3127         * libgcc-libsystem.ver: New.
3128
3129 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
3130
3131         PR target/41399
3132         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
3133         implicitly set registers.
3134
3135 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
3136
3137         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
3138         (arm_override_options): Allow automatic selection of the thread
3139         pointer register if thumb2.
3140         (legitimize_pic_address): Improve code sequences for Thumb2.
3141         (arm_call_tls_get_addr): Likewise.
3142         (legitimize_tls_address): Likewise.
3143         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
3144         (pic_load_addr_32bit): ... this.  New named pattern.
3145         * thumb2.md (pic_load_addr_thumb2): Delete.
3146         (pic_load_dot_plus_four): Delete.
3147         (tls_load_dot_plus_four): New named pattern.
3148
3149 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3150
3151         PR libgomp/29986
3152         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
3153         Document fix for TLS bug.
3154
3155 2010-01-31  Richard Guenther  <rguenther@suse.de>
3156
3157         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
3158         conservatively correct.
3159
3160 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3161
3162         PR target/42850
3163         Revert:
3164         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3165
3166         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
3167
3168 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3169
3170         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
3171
3172 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
3173
3174         * config.gcc: Adjust order of makefile fragments for mingw targets.
3175
3176 2010-01-31  Richard Guenther  <rguenther@suse.de>
3177
3178         PR middle-end/42898
3179         * gimplify.c (gimplify_init_constructor): For volatile LHS
3180         initialize a temporary.
3181
3182 2010-01-31  Matthias Klose  <doko@ubuntu.com>
3183
3184         * configure.ac: Fix __stack_chk_fail check for cross builds configured
3185         --with-headers
3186         * configure: Regenerate.
3187
3188 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
3189
3190         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
3191         the same alias set and their sizes different constantness.
3192         (aliasing_component_refs_p): Revert 2009-10-24 change.
3193
3194 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3195
3196         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
3197         unused.
3198
3199 2010-01-29  Richard Guenther  <rguenther@suse.de>
3200
3201         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
3202         Assert we successfully updated the call.
3203
3204 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
3205
3206         PR rtl-optimization/42889
3207         * df.h (df_set_bb_dirty_nonlr): New prototype.
3208         * df-core.c (df_set_bb_dirty_nonlr): New function.
3209         * df-scan.c (df_insn_rescan): Call it instead of
3210         df_set_bb_dirty for DEBUG_INSNs.
3211
3212 2010-01-29  Richard Guenther  <rguenther@suse.de>
3213
3214         PR middle-end/37448
3215         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
3216         quadratic behavior in most cases.
3217
3218 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
3219
3220         PR target/42891
3221         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
3222         in the call to gen_x86_movsicc_0_m1.
3223
3224 2010-01-28  Richard Guenther  <rguenther@suse.de>
3225
3226         PR tree-optimization/42871
3227         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3228
3229 2010-01-28  Richard Guenther  <rguenther@suse.de>
3230
3231         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
3232         into call arguments.
3233
3234 2010-01-28  Richard Guenther  <rguenther@suse.de>
3235
3236         PR middle-end/42883
3237         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
3238         the forwarder if the destination is an EH landing pad.
3239
3240 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
3241
3242         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
3243         block list passed to gimple_duplicate_sese_tail.
3244         (parallelize_loops): Avoid parallelization when the function
3245         has_nonlocal_label.
3246         Avoid parallelization when the preheader is IRREDUCIBLE.
3247         Try to optimize when estimated_loop_iterations_int is unresolved.
3248         Add the loop's location to the dump file.
3249         * tree-cfg.c (add_phi_args_after_redirect): Remove.
3250         (gimple_duplicate_sese_tail): Remove the check for the latch.
3251         Redirect nexits to the exit block.
3252         Remove handling of the incoming edges to the latch.
3253         Redirect the backedge from the copied latch to the exit bb.
3254
3255 2010-01-28  Michael Matz  <matz@suse.de>
3256
3257         PR target/42881
3258         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
3259         Wrap force_reg into a sequence, emit it before user.
3260
3261 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
3262
3263         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
3264         (arm_rev): New.
3265         (arm_legacy_rev): Likewise.
3266         (thumb_legacy_rev): Likewise.
3267
3268 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3269
3270         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
3271         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
3272         on MEM's address failed, try avoid_constant_pool_reference and
3273         recurse if it returned something different.
3274         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
3275         address, try avoid_constant_pool_reference and recurse if it
3276         returned something different.
3277         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
3278         address and avoid_constant_pool_reference returned something
3279         different, don't set have_address.
3280
3281 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
3282
3283         PR debug/42861
3284         * var-tracking.c (val_store): Add modified argument, obey it.
3285         Adjust callers.
3286         (count_uses): Move down logging of main.
3287         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
3288         don't need resolution.
3289         (emit_notes_in_bb): Likewise.
3290
3291 2010-01-27  Richard Guenther  <rguenther@suse.de>
3292
3293         PR middle-end/42878
3294         * tree-inline.c (remap_decl): Delay remapping of SSA name
3295         default definitions until we need them.
3296
3297 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3298
3299         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3300         (rs6000_delegitimize_address): New function.
3301
3302         * config/s390/s390.c (s390_delegitimize_address): Call
3303         delegitimize_mem_from_attrs.
3304
3305         PR middle-end/42874
3306         * tree-inline.c (cannot_copy_type_1): Removed.
3307         (copy_forbidden): Don't forbid copying of functions containing
3308         records/unions with variable length fields.
3309
3310 2010-01-27  Christian Bruel  <christian.bruel@st.com>
3311
3312         Revert:
3313         PR target/42841
3314         * config/sh/sh.c (find_barrier): Increase length for non delayed
3315         conditional branches.
3316
3317 2010-01-27  Matthias Klose  <doko@ubuntu.com>
3318
3319         * configure.ac (gnu-unique-object): Fix ldd version check.
3320         * configure: Regenerate.
3321
3322 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3323
3324         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
3325         HAVE_GNU_AS value.
3326         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
3327         Test for HAVE_GNU_AS value.
3328
3329 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3330
3331         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
3332         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
3333         INT64_TYPE): Define.
3334         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
3335         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
3336         INT_LEAST64_TYPE): Define.
3337         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
3338         UINT_LEAST64_TYPE): Define.
3339         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
3340         INT_FAST64_TYPE): Define.
3341         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
3342         UINT_FAST64_TYPE): Define.
3343         (INTMAX_TYPE, UINTMAX_TYPE): Define.
3344         (INTPTR_TYPE, UINTPTR_TYPE): Define.
3345         (SIG_ATOMIC_TYPE): Define.
3346
3347 2010-01-26  Richard Guenther  <rguenther@suse.de>
3348
3349         * df-scan.c (df_scan_set_bb_info): Remove assert.
3350         (df_insn_rescan_debug_internal): Merge asserts.
3351         (df_install_ref): Likewise.
3352         (df_mark_reg): Use bitmap_set_range.
3353         (df_hard_reg_used_p): Remove assert.
3354         (df_hard_reg_used_count): Likewise.
3355
3356 2010-01-26  Richard Guenther  <rguenther@suse.de>
3357
3358         PR rtl-optimization/42685
3359         * web.c (web_main): Ignore DEBUG_INSNs.
3360
3361 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
3362
3363         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
3364
3365         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
3366         Fix types of fndecl and arglist parameters.
3367
3368 2010-01-26  Richard Guenther  <rguenther@suse.de>
3369
3370         PR middle-end/42806
3371         * tree-eh.c (unsplit_eh): Skip debug insns.
3372
3373 2010-01-26  Richard Guenther  <rguenther@suse.de>
3374
3375         PR tree-optimization/42250
3376         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
3377
3378 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
3379
3380         PR fortran/42866
3381         * omp-low.c (expand_omp_sections): Only use single_pred if
3382         l2_bb is single_pred_p.
3383
3384 2010-01-25  Christian Bruel  <christian.bruel@st.com>
3385
3386         PR target/42841
3387         * config/sh/sh.c (find_barrier): Increase length for non delayed
3388         conditional branches.
3389         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
3390
3391 2010-01-24  David S. Miller  <davem@davemloft.net>
3392
3393         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
3394         define if not using GAS.
3395         * config/sparc/sparc.c (sparc_elf_asm_named_section):
3396         Likewise.  Delete SECTION_MERGE code, which is only applicable
3397         when using GAS.
3398
3399 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
3400
3401         PR c++/42748
3402         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
3403         mangling of va_list in system headers.
3404
3405 2010-01-23  Toon Moene  <toon@moene.org>
3406
3407         * tree-predcom.c (combine_chains): Return NULL, not false.
3408
3409 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
3410
3411         * tree-loop-distribution.c (distribute_loop): Fix declaration and
3412         initialization of variable res to agree with return type.
3413
3414 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
3415
3416         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
3417         * tree-sra.c: Add include of expr.h.
3418
3419 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
3420
3421         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
3422         insert the debug stmt on the single non-EH edge from the stmt.
3423
3424 2010-01-22  Richard Henderson  <rth@redhat.com>
3425
3426         PR tree-opt/42833
3427         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
3428         the RHS until after generate_subtree_copies has insertted its
3429         code before the current statement.
3430
3431 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
3432
3433         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
3434
3435         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
3436
3437 2010-01-21  Martin Jambor  <mjambor@suse.cz>
3438
3439         PR tree-optimization/42585
3440         * tree-sra.c (struct access): New field grp_total_scalarization.
3441         (dump_access): Dump the new field.
3442         (should_scalarize_away_bitmap): New variable.
3443         (cannot_scalarize_away_bitmap): Likewise.
3444         (sra_initialize): Allocate new bitmaps.
3445         (sra_deinitialize): Free new bitmaps.
3446         (create_access_1): New function.
3447         (create_access): Parts moved to create_access_1.
3448         (type_consists_of_records_p): New function.
3449         (completely_scalarize_record): Likewise.
3450         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
3451         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
3452         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
3453         access.
3454         (analyze_all_variable_accesses): Completely scalarize small eligible
3455         records.
3456
3457 2010-01-21  Martin Jambor  <mjambor@suse.cz>
3458
3459         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
3460
3461 2010-01-21  Andrew Haley  <aph@redhat.com>
3462
3463         * gcc.c (process_command): Move lang_specific_driver before
3464         setting cc_libexec_prefix.
3465
3466 2010-01-21  Richard Guenther  <rguenther@suse.de>
3467
3468         PR middle-end/19988
3469         * fold-const.c (negate_expr_p): Pretend only negative
3470         real constants are easily negatable.
3471
3472 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
3473             Jason Merrill  <jason@redhat.com>
3474
3475         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
3476         (TYPE_TRANSPARENT_AGGR): this, for union and record.
3477         * calls.c (initialize argument_information): Handle it.
3478         * c-common.c (handle_transparent_union_attribute): Use new name.
3479         * c-decl.c (finish_struct): Ditto.
3480         * c-typeck.c (type_lists_compatible_p): Ditto.
3481         (convert_for_assignment): Use new name and also handle record.
3482         * function.c (aggregate_value_p): Handle it.
3483         (pass_by_reference): Ditto.
3484         (assign_parm_data_types): Ditto.
3485         * print-tree.c (print_node): Ditto.
3486         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
3487         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
3488         * tree.c (first_field): New fn.
3489
3490 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
3491
3492         PR target/42818
3493         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
3494         even when linking statically, for now.
3495
3496 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
3497
3498         PR debug/42715
3499         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
3500         without a cselib val.
3501         (count_uses): Accept MO_VAL_SET with no val on stores.
3502         (add_stores): Likewise.
3503
3504 2010-01-20 &nbs