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 types.
2646
2647         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2648         Fix argument types.
2649
2650         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
2651         Rewrite text to refer to the names.
2652
2653 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
2654
2655         * config/i386/i386-builtin-types.def
2656         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
2657         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
2658         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
2659         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
2660         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
2661         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
2662         IX86_BUILTIN_VPERMIL2PS256.
2663         (MULTI_ARG_4_DF2_DI_I): Defined.
2664         (MULTI_ARG_4_DF2_DI_I1): Defined.
2665         (MULTI_ARG_4_SF2_SI_I): Defined.
2666         (MULTI_ARG_4_SF2_SI_I1): Defined.
2667         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
2668         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
2669         __builtin_ia32_vpermil2ps256.
2670         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2671         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2672         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
2673         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2674         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2675         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
2676         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
2677         CODE_FOR_xop_vpermil2v8sf3.
2678         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
2679         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
2680         * config/i386/xopintrin.h (_mm_permute2_pd): New.
2681         (_mm256_permute2_pd): New.
2682         (_mm_permute2_ps): New.
2683         (_mm256_permute2_ps): New.
2684
2685 2010-02-15  Nick Clifton  <nickc@redhat.com>
2686
2687         * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
2688         boolean parameters.  Use emit_jump_insn when emitting a pop
2689         instruction containing a return insn.
2690         (push): Use 'true' rather than '1' as second parameter to F.
2691         (h8300_expand_prologue): Likewise.
2692         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
2693         (h8300_expand_epilogue): Likewise.
2694
2695 2010-02-15  Richard Guenther  <rguenther@suse.de>
2696
2697         PR middle-end/43068
2698         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
2699         if that is zero.
2700
2701 2010-02-15  Nick Clifton  <nickc@redhat.com>
2702
2703         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
2704         delta.
2705
2706 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
2707
2708         * intl.c (fake_ngettext): New function.
2709         * intl.h (fake_ngettext): Declare.
2710         (ngettext): Define macro.
2711         * collect2.c (notice_translated): New function.
2712         (main): Use notice_translated and ngettext.
2713         * collect2.h (notice_translated): Declare.
2714
2715 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
2716
2717         * reorg.c (delete_computation): Comment fixes.
2718         * caller-save.c (setup_save_areas): Idem.
2719         * sel-sched-dump.c (dump_lv_set): Idem.
2720         * rtl.def: Idem.
2721
2722 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2723
2724         * config/s390/s390.c (s390_sched_init): New function.
2725         (TARGET_SCHED_INIT): Target hook defined.
2726
2727 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
2728             Jack Howarth  <howarth@bromo.med.uc.edu>
2729             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2730
2731         PR target/42982
2732         Partial revert of unintended change in fix for PR41605.
2733         * config/darwin.h: Fix typo.
2734         * config/darwin9.h: Same.
2735
2736 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2737
2738         * c-pch.c (pch_init): Clear v.
2739
2740 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2741
2742         PR middle-end/42930
2743         * graphite-scop-detection.c (graphite_can_represent_scev): Call
2744         graphite_can_represent_init for MULT_EXPR.
2745
2746 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2747
2748         PR middle-end/42914
2749         PR middle-end/42530
2750         * graphite-sese-to-poly.c (remove_phi): New.
2751         (translate_scalar_reduction_to_array): Call remove_phi.
2752
2753 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2754
2755         PR middle-end/42771
2756         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
2757         * graphite-clast-to-gimple.h (gloog): Update declaration.
2758         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
2759         * graphite-poly.h (struct poly_bb): Add missing comments.
2760         (struct scop): Add poly_scop_p field.
2761         (POLY_SCOP_P): New.
2762         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
2763         * graphite.c (graphite_transform_loops): Build the polyhedral
2764         representation for each scop before code generation.
2765         * sese.c (rename_variables_in_operand): Removed.
2766         (rename_variables_in_expr): Return the renamed expression.
2767         (rename_sese_parameters): New.
2768         * sese.h (rename_sese_parameters): Declared.
2769
2770 2010-02-11  Richard Guenther  <rguenther@suse.de>
2771
2772         PR tree-optimization/42998
2773         * tree-ssa-pre.c (create_expression_by_pieces): Treat
2774         POINTER_PLUS_EXPR properly.
2775
2776 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2777             Changpeng Fang  <changpeng.fang@amd.com>
2778
2779         PR middle-end/40886
2780         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
2781         the cost of an IV candidate when the IV is used in a test against zero.
2782
2783         * gcc.dg/tree-ssa/ivopts-3.c: New.
2784
2785 2010-02-11  Richard Guenther  <rguenther@suse.de>
2786
2787         PR lto/41664
2788         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
2789         pointer-vs-decl case by swapping refs.  Handle some cases
2790         of pointer-vs-decl disambiguations more conservatively.
2791         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
2792         to false after expanding.
2793
2794 2010-02-11  Richard Guenther  <rguenther@suse.de>
2795
2796         PR driver/43021
2797         * gcc.c (process_command): Handle LTO file@offset case more
2798         appropriately.
2799
2800 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2801
2802         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
2803         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
2804         of DEBUG_INSNs.
2805         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
2806
2807         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
2808         if MEM's mode size isn't DWARF2_ADDR_SIZE.
2809         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
2810         Optimize eq/ne comparisons when both arguments are known to be
2811         zero-extended.
2812         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
2813         Don't mask operands unnecessarily if they are known to be already
2814         zero-extended.
2815
2816 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
2817
2818         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
2819         instead of loop.
2820
2821 2010-02-10  Richard Guenther  <rguenther@suse.de>
2822
2823         PR tree-optimization/43017
2824         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
2825         for wrapping signed arithmetic.
2826
2827 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2828
2829         PR debug/43010
2830         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
2831         if no debug info should be emitted for it.
2832
2833 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
2834
2835         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
2836         note when flag_exceptions is set.
2837
2838 2010-02-10  Duncan Sands  <baldrick@free.fr>
2839
2840         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
2841
2842 2010-02-10  Richard Guenther  <rguenther@suse.de>
2843
2844         PR c/43007
2845         * tree.c (get_unwidened): Handle constants.
2846         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
2847
2848 2010-02-10  Martin Jambor  <mjambor@suse.cz>
2849
2850         PR lto/42985
2851         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
2852         check for variable argument counts independently.
2853
2854 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2855
2856         PR target/42841
2857         * config/sh/sh.c (find_barrier): Increase length for non delayed
2858         conditional branches.
2859
2860 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2861
2862         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
2863
2864 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2865
2866         * builtins.c (set_builtin_user_assembler_name): Also handle
2867         ffs if int is smaller than word.
2868
2869 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
2870
2871         PR middle-end/42973
2872         * ira-conflicts.c (get_dup): Remove.
2873         (process_reg_shuffles): Add new parameter.  Use it as an
2874         additional guard for copy generation.
2875         (add_insn_allocno_copies): Rewrite.
2876
2877 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
2878
2879         * common.opt (fsched2-use-traces): Preserved for backward
2880         compatibility.
2881         * doc/invoke.texi: Remove the documentation about option
2882         -fsched2-use-traces.
2883         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
2884         flag_sched2_use_traces.
2885         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
2886         the backward compatibility flag section.
2887
2888 2010-02-09  Richard Guenther  <rguenther@suse.de>
2889
2890         PR tree-optimization/43008
2891         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
2892         make HEAP variables initialized from global memory if they
2893         are not known builtin functions.
2894         (find_func_aliases): Adjust.
2895
2896 2010-02-09  Richard Guenther  <rguenther@suse.de>
2897
2898         PR tree-optimization/43000
2899         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
2900         arithmetic manually.
2901
2902 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
2903
2904         PR tree-optimization/42931
2905         * tree-loop-linear.c (try_interchange_loops): Don't call
2906         double_int_mul if estimated_loop_iterations failed.
2907
2908 2010-02-08  Martin Jambor  <mjambor@suse.cz>
2909
2910         PR middle-end/42898
2911         * tree-sra.c (build_accesses_from_assign): Do not mark in
2912         should_scalarize_away_bitmap if stmt has volatile ops.
2913         (sra_modify_assign): Do not process assigns piecemeal if if stmt
2914         has volatile ops.
2915
2916 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
2917
2918         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
2919
2920 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
2921
2922         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
2923         before the pattern.
2924
2925 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
2926
2927         PR middle-end/42946
2928         * df-core.c (df_finish_pass): Change type of saved_flags to int.
2929
2930 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2931
2932         PR middle-end/42988
2933         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
2934         to unknown_dependence.
2935         (graphite_legal_transform_dr): Handle the unknown_dependence.
2936         (graphite_carried_dependence_level_k): Same.
2937
2938 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2939
2940         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
2941
2942 2010-02-07  Richard Guenther  <rguenther@suse.de>
2943
2944         PR middle-end/42991
2945         * expr.c (get_inner_reference): Always initialize *pbitsize.
2946
2947 2010-02-07  Richard Guenther  <rguenther@suse.de>
2948
2949         PR middle-end/42956
2950         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
2951         new ARRAY_REFs on variable size element or minimal index arrays.
2952         Complete.
2953         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
2954         gimple_fold_indirect_ref.
2955
2956 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
2957
2958         PR target/42957
2959         * arm.c (arm_override_options): Just return if the user has specified
2960         an invalid fpu name.
2961
2962 2010-02-03  Jason Merrill  <jason@redhat.com>
2963
2964         PR c++/42870
2965         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
2966         i386_pe_maybe_record_exported_symbol.
2967
2968 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
2969
2970         PR target/42924
2971         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2972         (pa_delegitimize_address): New function.
2973
2974 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
2975
2976         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
2977         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
2978
2979 2010-02-05  Richard Guenther  <rguenther@suse.de>
2980
2981         PR lto/42762
2982         * lto-streamer-in.c (get_resolution): Deal with references
2983         to undefined functions.
2984
2985 2010-02-05  Richard Guenther  <rguenther@suse.de>
2986
2987         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
2988         (fold_const_aggregate_ref): Likewise.
2989         (ccp_fold_stmt): Substitute loads.
2990         (maybe_fold_reference): Verify types before substituting.
2991         Unshare properly.
2992         (fold_gimple_assign): Unshare properly.
2993         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
2994
2995 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
2996
2997         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
2998         for rs6000_gen_cell_microcode.
2999
3000 2010-02-04  Richard Guenther  <rguenther@suse.de>
3001
3002         PR rtl-optimization/42952
3003         * dse.c (const_or_frame_p): Remove MEM handling.
3004
3005 2010-02-04  Nick Clifton  <nickc@redhat.com>
3006
3007         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
3008         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
3009         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
3010         (mn10300_asm_output_mi_thunk): New function.
3011         (mn10300_can_output_mu_thunk): New function.
3012         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
3013         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
3014         (FUNCTION_ARG): Delete incorrect comment.
3015
3016 2010-02-03  Jason Merrill  <jason@redhat.com>
3017
3018         PR c++/40138
3019         * fold-const.c (operand_equal_p): Handle erroneous types.
3020
3021 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
3022
3023         * config/h8300/h8300.md (can_delay): Fix attibute condition.
3024
3025 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
3026
3027         PR rtl-optimization/42941
3028         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
3029         of xmalloc.
3030
3031 2010-02-03  Jason Merrill  <jason@redhat.com>
3032
3033         PR c++/35652
3034         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
3035
3036 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
3037
3038         PR debug/42896
3039         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
3040         (cselib_reset_table): Renamed from...
3041         (cselib_reset_table_with_next_value): ... this.
3042         (cselib_get_next_uid): Renamed from...
3043         (cselib_get_next_unknown_value): ... this.
3044         * cselib.c (next_uid): Renamed from...
3045         (next_unknown_value): ... this.
3046         (cselib_clear_table): Adjust.
3047         (cselib_reset_table): Adjust.  Renamed from...
3048         (cselib_reset_table_with_next_value): ... this.
3049         (cselib_get_next_uid): Adjust.  Renamed from...
3050         (cselib_get_next_unknown_value): ... this.
3051         (get_value_hash): Use hash.
3052         (cselib_hash_rtx): Likewise.
3053         (new_cselib_val): Adjust.  Set and dump uid.
3054         (cselib_lookup_mem): Pass next_uid as hash.
3055         (cselib_subst_to_values): Likewise.
3056         (cselib_log_lookup): Dump uid.
3057         (cselib_lookup): Pass next_uid as hash.  Adjust.
3058         (cselib_process_insn): Adjust.
3059         (cselib_init): Initialize next_uid.
3060         (cselib_finish): Adjust.
3061         (dump_cselib_table): Likewise.
3062         * dse.c (canon_address): Dump value uid.
3063         * print-rtl.c (print_rtx): Print value uid.
3064         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
3065         (dvuid): New type.
3066         (dv_uid): New function, sort of renamed from...
3067         (dv_htab_hash): ... this, reimplemented in terms of it and...
3068         (dv_uid2hash): ... this.  New.
3069         (variable_htab_eq): Drop excess assertions.
3070         (tie_break_pointers): Removed.
3071         (canon_value_cmp): Compare uids.
3072         (variable_post_merge_New_vals): Print uids.
3073         (vt_add_function_parameters): Adjust.
3074         (vt_initialize): Reset table.  Adjust.
3075
3076 2010-02-03  Richard Guenther  <rguenther@suse.de>
3077
3078         PR tree-optimization/42944
3079         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
3080         (call_may_clobber_ref_p_1): Likewise.  Properly handle
3081         malloc and calloc clobbering errno.
3082
3083 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
3084
3085         * doc/invoke.texi: Fix name of sched1 dump.
3086
3087         * opts.c (decode_options): Set flag_tree_switch_conversion
3088         only conditionally on optimize >= 2.
3089
3090         * gcse.c: Assorted comment fixes in pass description.
3091
3092 2010-02-03  Anthony Green  <green@moxielogic.com>
3093
3094         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
3095         nop padding in order to maintain alignment of storage location of
3096         target function address.
3097         (moxie_trampoline_init): Store target function address at newly
3098         aligned location.
3099         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
3100         to 32.
3101         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
3102
3103 2010-02-03  Richard Guenther  <rguenther@suse.de>
3104
3105         PR middle-end/42927
3106         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
3107
3108 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3109
3110         * config.gcc: Reenable check for obsolete targets.
3111         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
3112         mips-sgi-irix6.[0-4]*.
3113
3114 2010-02-02  Nick Clifton  <nickc@redhat.com>
3115
3116         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
3117         constant size of 4 as being the same as 0.
3118         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
3119         can take values in the range 0..4.
3120
3121 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
3122
3123         PR java/41991
3124         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
3125         as _darwin10_Unwind_FindEnclosingFunction().
3126         * libgcc-libsystem.ver: New.
3127
3128 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
3129
3130         PR target/41399
3131         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
3132         implicitly set registers.
3133
3134 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
3135
3136         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
3137         (arm_override_options): Allow automatic selection of the thread
3138         pointer register if thumb2.
3139         (legitimize_pic_address): Improve code sequences for Thumb2.
3140         (arm_call_tls_get_addr): Likewise.
3141         (legitimize_tls_address): Likewise.
3142         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
3143         (pic_load_addr_32bit): ... this.  New named pattern.
3144         * thumb2.md (pic_load_addr_thumb2): Delete.
3145         (pic_load_dot_plus_four): Delete.
3146         (tls_load_dot_plus_four): New named pattern.
3147
3148 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3149
3150         PR libgomp/29986
3151         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
3152         Document fix for TLS bug.
3153
3154 2010-01-31  Richard Guenther  <rguenther@suse.de>
3155
3156         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
3157         conservatively correct.
3158
3159 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3160
3161         PR target/42850
3162         Revert:
3163         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3164
3165         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
3166
3167 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3168
3169         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
3170
3171 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
3172
3173         * config.gcc: Adjust order of makefile fragments for mingw targets.
3174
3175 2010-01-31  Richard Guenther  <rguenther@suse.de>
3176
3177         PR middle-end/42898
3178         * gimplify.c (gimplify_init_constructor): For volatile LHS
3179         initialize a temporary.
3180
3181 2010-01-31  Matthias Klose  <doko@ubuntu.com>
3182
3183         * configure.ac: Fix __stack_chk_fail check for cross builds configured
3184         --with-headers
3185         * configure: Regenerate.
3186
3187 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
3188
3189         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
3190         the same alias set and their sizes different constantness.
3191         (aliasing_component_refs_p): Revert 2009-10-24 change.
3192
3193 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3194
3195         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
3196         unused.
3197
3198 2010-01-29  Richard Guenther  <rguenther@suse.de>
3199
3200         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
3201         Assert we successfully updated the call.
3202
3203 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
3204
3205         PR rtl-optimization/42889
3206         * df.h (df_set_bb_dirty_nonlr): New prototype.
3207         * df-core.c (df_set_bb_dirty_nonlr): New function.
3208         * df-scan.c (df_insn_rescan): Call it instead of
3209         df_set_bb_dirty for DEBUG_INSNs.
3210
3211 2010-01-29  Richard Guenther  <rguenther@suse.de>
3212
3213         PR middle-end/37448
3214         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
3215         quadratic behavior in most cases.
3216
3217 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
3218
3219         PR target/42891
3220         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
3221         in the call to gen_x86_movsicc_0_m1.
3222
3223 2010-01-28  Richard Guenther  <rguenther@suse.de>
3224
3225         PR tree-optimization/42871
3226         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3227
3228 2010-01-28  Richard Guenther  <rguenther@suse.de>
3229
3230         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
3231         into call arguments.
3232
3233 2010-01-28  Richard Guenther  <rguenther@suse.de>
3234
3235         PR middle-end/42883
3236         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
3237         the forwarder if the destination is an EH landing pad.
3238
3239 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
3240
3241         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
3242         block list passed to gimple_duplicate_sese_tail.
3243         (parallelize_loops): Avoid parallelization when the function
3244         has_nonlocal_label.
3245         Avoid parallelization when the preheader is IRREDUCIBLE.
3246         Try to optimize when estimated_loop_iterations_int is unresolved.
3247         Add the loop's location to the dump file.
3248         * tree-cfg.c (add_phi_args_after_redirect): Remove.
3249         (gimple_duplicate_sese_tail): Remove the check for the latch.
3250         Redirect nexits to the exit block.
3251         Remove handling of the incoming edges to the latch.
3252         Redirect the backedge from the copied latch to the exit bb.
3253
3254 2010-01-28  Michael Matz  <matz@suse.de>
3255
3256         PR target/42881
3257         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
3258         Wrap force_reg into a sequence, emit it before user.
3259
3260 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
3261
3262         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
3263         (arm_rev): New.
3264         (arm_legacy_rev): Likewise.
3265         (thumb_legacy_rev): Likewise.
3266
3267 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3268
3269         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
3270         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
3271         on MEM's address failed, try avoid_constant_pool_reference and
3272         recurse if it returned something different.
3273         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
3274         address, try avoid_constant_pool_reference and recurse if it
3275         returned something different.
3276         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
3277         address and avoid_constant_pool_reference returned something
3278         different, don't set have_address.
3279
3280 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
3281
3282         PR debug/42861
3283         * var-tracking.c (val_store): Add modified argument, obey it.
3284         Adjust callers.
3285         (count_uses): Move down logging of main.
3286         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
3287         don't need resolution.
3288         (emit_notes_in_bb): Likewise.
3289
3290 2010-01-27  Richard Guenther  <rguenther@suse.de>
3291
3292         PR middle-end/42878
3293         * tree-inline.c (remap_decl): Delay remapping of SSA name
3294         default definitions until we need them.
3295
3296 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3297
3298         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3299         (rs6000_delegitimize_address): New function.
3300
3301         * config/s390/s390.c (s390_delegitimize_address): Call
3302         delegitimize_mem_from_attrs.
3303
3304         PR middle-end/42874
3305         * tree-inline.c (cannot_copy_type_1): Removed.
3306         (copy_forbidden): Don't forbid copying of functions containing
3307         records/unions with variable length fields.
3308
3309 2010-01-27  Christian Bruel  <christian.bruel@st.com>
3310
3311         Revert:
3312         PR target/42841
3313         * config/sh/sh.c (find_barrier): Increase length for non delayed
3314         conditional branches.
3315
3316 2010-01-27  Matthias Klose  <doko@ubuntu.com>
3317
3318         * configure.ac (gnu-unique-object): Fix ldd version check.
3319         * configure: Regenerate.
3320
3321 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3322
3323         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
3324         HAVE_GNU_AS value.
3325         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
3326         Test for HAVE_GNU_AS value.
3327
3328 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3329
3330         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
3331         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
3332         INT64_TYPE): Define.
3333         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
3334         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
3335         INT_LEAST64_TYPE): Define.
3336         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
3337         UINT_LEAST64_TYPE): Define.
3338         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
3339         INT_FAST64_TYPE): Define.
3340         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
3341         UINT_FAST64_TYPE): Define.
3342         (INTMAX_TYPE, UINTMAX_TYPE): Define.
3343         (INTPTR_TYPE, UINTPTR_TYPE): Define.
3344         (SIG_ATOMIC_TYPE): Define.
3345
3346 2010-01-26  Richard Guenther  <rguenther@suse.de>
3347
3348         * df-scan.c (df_scan_set_bb_info): Remove assert.
3349         (df_insn_rescan_debug_internal): Merge asserts.
3350         (df_install_ref): Likewise.
3351         (df_mark_reg): Use bitmap_set_range.
3352         (df_hard_reg_used_p): Remove assert.
3353         (df_hard_reg_used_count): Likewise.
3354
3355 2010-01-26  Richard Guenther  <rguenther@suse.de>
3356
3357         PR rtl-optimization/42685
3358         * web.c (web_main): Ignore DEBUG_INSNs.
3359
3360 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
3361
3362         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
3363
3364         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
3365         Fix types of fndecl and arglist parameters.
3366
3367 2010-01-26  Richard Guenther  <rguenther@suse.de>
3368
3369         PR middle-end/42806
3370         * tree-eh.c (unsplit_eh): Skip debug insns.
3371
3372 2010-01-26  Richard Guenther  <rguenther@suse.de>
3373
3374         PR tree-optimization/42250
3375         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
3376
3377 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
3378
3379         PR fortran/42866
3380         * omp-low.c (expand_omp_sections): Only use single_pred if
3381         l2_bb is single_pred_p.
3382
3383 2010-01-25  Christian Bruel  <christian.bruel@st.com>
3384
3385         PR target/42841
3386         * config/sh/sh.c (find_barrier): Increase length for non delayed
3387         conditional branches.
3388         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
3389
3390 2010-01-24  David S. Miller  <davem@davemloft.net>
3391
3392         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
3393         define if not using GAS.
3394         * config/sparc/sparc.c (sparc_elf_asm_named_section):
3395         Likewise.  Delete SECTION_MERGE code, which is only applicable
3396         when using GAS.
3397
3398 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
3399
3400         PR c++/42748
3401         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
3402         mangling of va_list in system headers.
3403
3404 2010-01-23  Toon Moene  <toon@moene.org>
3405
3406         * tree-predcom.c (combine_chains): Return NULL, not false.
3407
3408 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
3409
3410         * tree-loop-distribution.c (distribute_loop): Fix declaration and
3411         initialization of variable res to agree with return type.
3412
3413 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
3414
3415         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
3416         * tree-sra.c: Add include of expr.h.
3417
3418 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
3419
3420         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
3421         insert the debug stmt on the single non-EH edge from the stmt.
3422
3423 2010-01-22  Richard Henderson  <rth@redhat.com>
3424
3425         PR tree-opt/42833
3426         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
3427         the RHS until after generate_subtree_copies has insertted its
3428         code before the current statement.
3429
3430 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
3431
3432         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
3433
3434         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
3435
3436 2010-01-21  Martin Jambor  <mjambor@suse.cz>
3437
3438         PR tree-optimization/42585
3439         * tree-sra.c (struct access): New field grp_total_scalarization.
3440         (dump_access): Dump the new field.
3441         (should_scalarize_away_bitmap): New variable.
3442         (cannot_scalarize_away_bitmap): Likewise.
3443         (sra_initialize): Allocate new bitmaps.
3444         (sra_deinitialize): Free new bitmaps.
3445         (create_access_1): New function.
3446         (create_access): Parts moved to create_access_1.
3447         (type_consists_of_records_p): New function.
3448         (completely_scalarize_record): Likewise.
3449         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
3450         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
3451         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
3452         access.
3453         (analyze_all_variable_accesses): Completely scalarize small eligible
3454         records.
3455
3456 2010-01-21  Martin Jambor  <mjambor@suse.cz>
3457
3458         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
3459
3460 2010-01-21  Andrew Haley  <aph@redhat.com>
3461
3462         * gcc.c (process_command): Move lang_specific_driver before
3463         setting cc_libexec_prefix.
3464
3465 2010-01-21  Richard Guenther  <rguenther@suse.de>
3466
3467         PR middle-end/19988
3468         * fold-const.c (negate_expr_p): Pretend only negative
3469         real constants are easily negatable.
3470
3471 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
3472             Jason Merrill  <jason@redhat.com>
3473
3474         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
3475         (TYPE_TRANSPARENT_AGGR): this, for union and record.
3476         * calls.c (initialize argument_information): Handle it.
3477         * c-common.c (handle_transparent_union_attribute): Use new name.
3478         * c-decl.c (finish_struct): Ditto.
3479         * c-typeck.c (type_lists_compatible_p): Ditto.
3480         (convert_for_assignment): Use new name and also handle record.
3481         * function.c (aggregate_value_p): Handle it.
3482         (pass_by_reference): Ditto.
3483         (assign_parm_data_types): Ditto.
3484         * print-tree.c (print_node): Ditto.
3485         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
3486         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
3487         * tree.c (first_field): New fn.
3488
3489 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
3490
3491         PR target/42818
3492         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
3493         even when linking statically, for now.
3494
3495 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
3496
3497         PR debug/42715
3498         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
3499         without a cselib val.
3500         (count_uses): Accept MO_VAL_SET with no val on stores.
3501         (add_stores): Likewise.
3502
3503 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3504
3505         * var-tracking.c (check_value_val): Add a compile time assertion.
3506         (dv_is_decl_p): Simplify.
3507         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
3508         gcc_assert if ENABLE_CHECKING.
3509
3510 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
3511
3512         PR debug/42782
3513         * var-tracking.c: Include tree-flow.h.
3514         (mem_dies_at_call): New.
3515         (dataflow_set_preserve_mem_locs): Use it.
3516         (dataflow_set_remove_mem_locs): Likewise.
3517         (dump_var): Renamed from dump_variable.  Adjust all callers.
3518         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
3519         * Makefile.in (var-tracking.o): Adjust deps.
3520
3521 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
3522
3523         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
3524
3525 2010-01-20  Richard Guenther  <rguenther@suse.de>
3526
3527         PR tree-optimization/42717
3528         * tree-ssa-dce.c (get_live_post_dom): Remove.
3529         (forward_edge_to_pdom): Take an arbitrary edge to copy
3530         degenerate PHI args from.
3531         (remove_dead_stmt): Use the first post-dominator even if it
3532         does not contain live statements as redirection destination.
3533
3534 2010-01-20  Richard Guenther  <rguenther@suse.de>
3535
3536         * tree-inline.c (estimate_num_insns): Handle EH builtins.
3537
3538 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3539
3540         * sel-sched.c (create_speculation_check): Remove set but not used
3541         variable twin.
3542         (try_transformation_cache): Remove set but not used variable ds.
3543         (calculate_privileged_insns): Remove set but not used variables
3544         cur_insn and min_spec_insn.
3545         (find_best_expr): Remove set but not used variable avail_n.
3546         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
3547         variable e.
3548         * cgraphunit.c (assemble_thunk): Remove set but not used variable
3549         false_label.
3550         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
3551         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
3552         new_scop_exit_edge.
3553
3554 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
3555
3556         PR bootstrap/42786
3557         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
3558         cpu types.  Add support for *-sse3 cpu types.
3559         (x86_64-*-*): Ditto.
3560
3561 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3562
3563         PR middle-end/42803
3564         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
3565         argument, call initializer_constant_valid_p_1 instead of
3566         initializer_constant_valid_p, pass CACHE to it, return NULL
3567         immediately if first call returns NULL.
3568         (initializer_constant_valid_p_1): New function.
3569         (initializer_constant_valid_p): Use it.
3570
3571 2010-01-20  Thomas Quinot  <quinot@adacore.com>
3572
3573         * tree.def (PLACEHOLDER_EXPR): Fix comment.
3574
3575 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3576
3577         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
3578         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
3579         (loc_list_from_tree): Don't handle unsigned division.  Handle
3580         signed modulo using DW_OP_{over,over,div,mul,minus}.
3581         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
3582         modulo instead of signed.
3583
3584 2010-01-20  DJ Delorie  <dj@redhat.com>
3585
3586         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
3587         (Fpa): Pass it
3588         (h8300_emit_stack_adjustment): Propogate it.
3589         (push): Pass it.
3590         (h8300_expand_prologue): Likewise.
3591         (h8300_expand_epilogue): Likewise.
3592
3593 2010-01-19  Michael Matz  <matz@suse.de>
3594
3595         PR tree-optimization/41783
3596         * tree-data-ref.c (toplevel): Include flags.h.
3597         (dump_data_dependence_relation):  Also dump the inputs if the
3598         result will be unknown.
3599         (split_constant_offset_1): Look through some conversions.
3600         * tree-predcom.c (determine_roots_comp): Restart a new chain if
3601         the offset from last element is too large.
3602         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
3603         (reassociate_to_the_same_stmt): Handle vector registers.
3604         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
3605         (e.g. conversions).
3606         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
3607         wide_prolog_niters argument, emit widening instructions.
3608         (vect_do_peeling_for_alignment): Adjust caller, use widened
3609         variant of the iteration cound.
3610         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
3611
3612 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3613
3614         PR target/38697
3615         * config/arm/neon-testgen.m (emit_automatics): New parameter
3616         features. Adjust for Fixed_return_reg feature.
3617         (test_intrinsic): Call emit_automatics with new feature.
3618         * config/arm/neon.ml: Update copyright years.
3619         (features): New Fixed_return_reg feature.
3620         (ops): Update feature for Vget_low.
3621
3622 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
3623
3624         PR tree-optimization/42719
3625         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
3626         stmt uses.
3627
3628         PR debug/42728
3629         * fwprop.c (all_uses_available_at): Return false if def_set dest
3630         is a REG that is used in def_insn.
3631
3632 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
3633
3634         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
3635
3636         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
3637         Add argument names.
3638
3639         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
3640
3641         * target.h (struct gcc_target) <secondary_reload>: Change type
3642         of last argument to secondary_reload_info *.
3643
3644 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
3645
3646         PR target/42774
3647         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
3648         memory references with unaligned offsets.  Remove CQImode handling.
3649         (unaligned_memory_operand): Return 1 for memory references with
3650         unaligned offsets.  Remove CQImode handling.
3651
3652 2010-01-18  Richard Guenther  <rguenther@suse.de>
3653
3654         PR middle-end/39954
3655         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
3656         builtin calls.
3657
3658 2010-01-18  Richard Guenther  <rguenther@suse.de>
3659
3660         PR tree-optimization/42781
3661         * tree-ssa-structalias.c (find_what_var_points_to): Skip
3662         restrict processing only if the original variable was artificial.
3663
3664 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
3665
3666         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
3667         find number of popped argument bytes.
3668
3669         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
3670         Fix the text that describes the return value for invalid insns.
3671
3672         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
3673
3674         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
3675         Clarify what 'cost of the -dependence' is.  Fix quoting.
3676
3677         * toplev.c (default_get_pch_validity): Rename argument to "sz".
3678         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
3679
3680 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
3681
3682         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
3683         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
3684
3685 2010-01-17  Richard Guenther  <rguenther@suse.de>
3686
3687         PR middle-end/42248
3688         * function.c (split_complex_args): Take a VEC to modify.
3689         (assign_parms_augmented_arg_list): Build a VEC instead of
3690         a chain of PARM_DECLs.
3691         (assign_parms_unsplit_complex): Take a VEC of arguments.
3692         Do not fixup unmodified parms.
3693         (assign_parms): Deal with the VEC.
3694         (gimplify_parameters): Likewise.
3695
3696 2010-01-17  Richard Guenther  <rguenther@suse.de>
3697
3698         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
3699         node existence check.
3700         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
3701         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
3702         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
3703         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
3704         (gimple_execute_on_growing_pred): Likewise.
3705
3706 2010-01-17  Richard Guenther  <rguenther@suse.de>
3707
3708         PR tree-optimization/42773
3709         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
3710         (compute_antic_aux): Likewise.
3711         (compute_partial_antic_aux): Likewise.
3712
3713 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
3714
3715         PR debug/42767
3716         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
3717         and US_TRUNCATE.
3718
3719 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
3720
3721         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
3722         appearance.
3723
3724         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
3725         Fix markup for strict argument.
3726
3727         (TARGET_SCHED_REORDER2): Fix argument types.
3728
3729         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
3730         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
3731
3732         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
3733         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
3734
3735         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
3736         Add argument name.
3737
3738         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
3739         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
3740         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
3741         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
3742         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
3743
3744         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
3745
3746         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
3747
3748         (TARGET_ASM_RELOC_RW_MASK): Add return type.
3749         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
3750
3751         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
3752
3753         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
3754         Use prototype.
3755
3756         (TARGET_ASM_NAMED_SECTION): Fix argument list.
3757
3758         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
3759         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
3760
3761         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
3762
3763         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
3764
3765         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
3766         referring to it.  Fix language.
3767
3768         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
3769
3770         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
3771
3772         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
3773
3774         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
3775
3776         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
3777         '@var{stream}.  Remove stray 'and'.
3778
3779         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
3780
3781         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
3782
3783         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
3784
3785         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
3786         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
3787
3788         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
3789         Fix description of return value.
3790         Rename argument "sz" to "len."
3791
3792         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
3793         Clarify meaning of 'true' return value.
3794
3795         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
3796
3797         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
3798         rep_mode versus mode_rep.
3799
3800         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
3801
3802         (TARGET_BUILTIN_DECL): Fix name.
3803
3804         (TARGET_COMMUTATIVE_P): Fix type of first argument.
3805
3806         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
3807
3808         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
3809
3810         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
3811
3812         (TARGET_RELAXED_ORDERING): Use @deftypevr.
3813
3814         (TARGET_GET_DRAP_RTX): Note that this is a hook.
3815         Clarify language.
3816
3817         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
3818         Rename argument tm_fn to md_fn.
3819
3820         (TARGET_OPTION_PRINT): Fix argument list.
3821
3822 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
3823
3824         PR target/42664
3825         * config/i386/i386.c (ix86_fixup_binary_operands):
3826         Revert FMA4 fixup of operands.
3827
3828 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3829
3830         PR gcc/42525
3831         * Makefile.in (write_entries_to_file, install-plugin):
3832         Use \012 instead of \n with tr.
3833
3834 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
3835
3836         * configure.ac (HAVE_AS_REF): New C macro.
3837         * configure: Regenerate.
3838         * config.in: Likewise.
3839         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
3840         if HAVE_AS_REF.
3841         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
3842         if HAVE_AS_REF.
3843
3844 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
3845
3846         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
3847
3848         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
3849
3850         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
3851
3852         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
3853
3854         (TARGET_IN_SMALL_DATA_P): Fix argument type.
3855
3856         (TARGET_BINDS_LOCAL_P): Fix argument type.
3857
3858         (TARGET_ASM_FILE_END): Use prototype.
3859
3860         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
3861
3862         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
3863
3864         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
3865
3866         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
3867
3868         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
3869         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
3870
3871         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
3872         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
3873
3874         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
3875         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
3876         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
3877         (TARGET_ADDR_SPACE_CONVERT): Likewise.
3878
3879         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
3880
3881         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
3882
3883         (TARGET_INIT_BUILTINS): Use prototype.
3884
3885         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
3886         Put 'const char *' in braces.  Fix parameter types.
3887         (TARGET_INVALID_CONVERSION): Fix parameter types.
3888         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
3889         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
3890
3891         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
3892         Fix argument type.
3893
3894         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
3895
3896         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
3897
3898 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
3899
3900         * doc/tm.texi (TARGET_HELP): Fix return type.
3901
3902         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
3903         in braces.  Fix argument types.
3904
3905         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
3906
3907         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
3908
3909         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
3910
3911         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
3912         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
3913
3914         (TARGET_MANGLE_TYPE): Fix argument types.
3915
3916         (TARGET_IRA_COVER_CLASSES): Use prototype.
3917
3918         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
3919
3920         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
3921
3922         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
3923
3924         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
3925
3926         (TARGET_CALLEE_COPIES): Fix argument types.
3927
3928         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
3929
3930         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
3931
3932         (TARGET_FUNCTION_VALUE): Fix argument types.
3933
3934         (TARGET_RETURN_IN_MSB): Fix argument type.
3935
3936         (TARGET_RETURN_IN_MEMORY): Fix argument types.
3937
3938         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
3939
3940         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
3941
3942         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
3943         agree with return type.
3944
3945         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
3946
3947 2010-01-15  Jing Yu  <jingyu@google.com>
3948
3949         PR rtl-optimization/42691
3950         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
3951         a pseudo to a constant and are merged, and adjust comments.
3952
3953 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3954
3955         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
3956
3957 2010-01-15  Richard Guenther  <rguenther@suse.de>
3958
3959         PR middle-end/42739
3960         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
3961         labels of computed or non-local gotos to the destination.
3962         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
3963         landing pad label is the first label.
3964
3965 2010-01-15  Richard Guenther  <rguenther@suse.de>
3966
3967         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
3968
3969 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3970
3971         PR target/42747
3972         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
3973         to allow generation of the xssqrtdp instruction on power7.
3974         (sqrtdf2_fpr): Ditto.
3975
3976 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3977
3978         PR middle-end/42674
3979         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
3980         functions with noreturn attribute.
3981
3982         PR c++/42608
3983         * varasm.c (declare_weak): Add weak attribute to decl if it
3984         doesn't have one already.
3985         (assemble_external): Only add decls to weak_decls if they also
3986         have weak attribute.
3987
3988 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
3989
3990         * var-tracking.c (var_reg_delete): Don't delete the association
3991         between REGs and values or one-part variables if the register
3992         isn't clobbered.
3993
3994 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3995
3996         PR debug/42657
3997         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
3998         because its first operand is a non-localized variable.
3999
4000 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4001
4002         PR tree-optimization/42706
4003         * tree-sra.c (encountered_recursive_call): New variable.
4004         (encountered_unchangable_recursive_call): Likewise.
4005         (sra_initialize): Initialize both new variables.
4006         (callsite_has_enough_arguments_p): New function.
4007         (scan_function): Call decl and flags check only for IPA-SRA, check
4008         whether there is a recursive call and whether it has enough arguments.
4009         (all_callers_have_enough_arguments_p): New function.
4010         (convert_callers): Look for recursive calls only when
4011         encountered_recursive_call is set.
4012         (ipa_early_sra): Bail out either if
4013         !all_callers_have_enough_arguments_p or
4014         encountered_unchangable_recursive_call.
4015
4016 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4017
4018         * sel-sched.c: Add 2010 to copyright years.
4019         * sel-sched-ir.c: Likewise.
4020         * sel-sched-ir.h: Likewise.
4021
4022 2010-01-14  Martin Jambor  <mjambor@suse.cz>
4023
4024         PR tree-optimization/42714
4025         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
4026         constructors specially.
4027
4028 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4029
4030         * config/i386/drivers-i386.c (detect_caches_intel):
4031         Add l2sizekb parameter and fill in.
4032         (host_detect_local_cpu): Add l2sizekb, fill in.
4033         Add Atom small cache heuristic.
4034
4035 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4036
4037         * config/i386/drivers-i386.c (detect_caches_cpuid4):
4038         Add level3 parameter and fill in.
4039         (detect_caches_intel): Handle level3 cache.
4040
4041 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4042
4043         * config/i386/drivers-i386.c (host_detect_local_cpu):
4044         Fix core duo detection.
4045
4046 2010-01-14  Andi Kleen  <ak@linux.intel.com>
4047
4048         * config/i386/drivers-i386.c (host_detect_local_cpu):
4049         Fix Atom detection.
4050
4051 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4052
4053         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
4054         (rs6000_variable_issue_1): this.  Use...
4055         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
4056
4057 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4058
4059         * sel-sched-ir.c (sel_restore_other_notes): Rename to
4060         sel_restore_notes.  Update all callers.  Call reemit_notes
4061         for all insns.
4062
4063 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4064
4065         PR rtl-optimization/42246
4066         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
4067         loops.
4068
4069 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4070
4071         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
4072         all successors is the same as number of successors in current region.
4073
4074 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4075
4076         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
4077         to rename is not separable.  Otherwise check that its LHS is not NULL.
4078
4079 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4080
4081         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
4082
4083 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
4084
4085         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
4086         available registers when failed to discover LHS register class.
4087         Fix indentation.  Update comment.
4088
4089 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
4090             Alexander Monakov  <amonakov@ispras.ru>
4091
4092         PR rtl-optimization/42389
4093         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
4094         to can_issue_more.
4095         (advance_state_on_fence): Likewise.
4096         (sel_target_adjust_priority): Print debug output only when
4097         sched_verbose >= 4, not 2.
4098         (get_expr_cost): Do not issue all unique insns on the next cycle.
4099         (fill_insns): Initialize can_issue_more from the value saved
4100         with the fence.
4101         * sel-sched-ir.c (flist_add): New parameter issue_more.
4102         Init FENCE_ISSUE_MORE with it.
4103         (merge_fences): Likewise.
4104         (init_fences): Update call to flist_add.
4105         (add_to_fences, add_clean_fence_to_fences)
4106         (add_dirty_fence_to_fences): Likewise.
4107         (move_fence_to_fences): Update call to merge_fences.