OSDN Git Service

1d6d14b8b364470eb259dbe321523155ff6a7550
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
2
3         * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
4
5         * timevar.c: Do not include any core headers.
6         (timevar_print): De-i18n-ize.
7         (print_time): Likewise.
8         * timevar.h (timevar_push, timevar_pop): Make inline functions.
9
10 2010-05-21  Joseph Myers  <joseph@codesourcery.com>
11
12         * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
13         langhooks-def.h.
14         (diagnostic_initialize): Initialize x_data not last_function.
15         (diagnostic_report_current_function): Move to tree-diagnostic.c.
16         (default_diagnostic_starter): Call
17         diagnostic_report_current_module not
18         diagnostic_report_current_function.
19         (diagnostic_report_diagnostic): Initialize x_data not
20         abstract_origin.
21         (verbatim): Likewise.
22         * diagnostic.h (struct diagnostic_info): Change abstract_origin to
23         x_data.
24         (struct diagnostic_context): Change last_function to x_data.
25         (diagnostic_auxiliary_data): Replace with
26         diagnostic_context_auxiliary_data and
27         diagnostic_info_auxiliary_data.
28         (diagnostic_last_function_changed, diagnostic_set_last_function,
29         diagnostic_report_current_function): Move to tree-diagnostic.h.
30         (print_declaration, dump_generic_node, print_generic_stmt,
31         print_generic_stmt_indented, print_generic_expr,
32         print_generic_decl, debug_c_tree, dump_omp_clauses,
33         print_call_name, debug_generic_expr, debug_generic_stmt,
34         debug_tree_chain, default_tree_printer): Move to
35         tree-pretty-print.h.
36         (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
37         print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
38         gimple-pretty-print.h.
39         * pretty-print.c: Don't include tree.h
40         (pp_base_format): Don't handle %K here.
41         (pp_base_tree_identifier): Move to tree-pretty-print.c.
42         * pretty-print.h (text_info): Change abstract_origin to x_data.
43         (pp_tree_identifier, pp_unsupported_tree,
44         pp_base_tree_identifier): Move to tree-pretty-print.h.
45         * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
46         tree-pretty-print.h: New files.
47         * tree-pretty-print.c: Include tree-pretty-print.h.
48         (percent_K_format): New.  Moved from pretty-print.c.
49         (pp_base_tree_identifier): Move from pretty-print.c.
50         * c-objc-common.c: Include tree-pretty-print.h.
51         (c_tree_printer): Handle %K here.
52         * langhooks.c: Include tree-diagnostic.h.
53         (lhd_print_error_function): Use diagnostic_abstract_origin macro.
54         * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
55         (default_tree_printer): Handle %K using percent_K_format.
56         (general_init): Use default_tree_diagnostic_starter.
57         * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
58         (free_lang_data): Use default_tree_diagnostic_starter.
59         * c-pretty-print.c: Include tree-pretty-print.h.
60         * cfgexpand.c: Include tree-pretty-print.h and
61         gimple-pretty-print.h.
62         * cgraphunit.c: Include tree-pretty-print.h and
63         gimple-pretty-print.h.
64         * dwarf2out.c: Include tree-pretty-print.h.
65         * except.c: Include tree-pretty-print.h.
66         * gimple-pretty-print.c: Include tree-pretty-print.h and
67         gimple-pretty-print.h.
68         * gimplify.c: Include tree-pretty-print.h.
69         * graphite-poly.c: Include tree-pretty-print.h and
70         gimple-pretty-print.h.
71         * ipa-cp.c: Include tree-pretty-print.h.
72         * ipa-inline.c: Include gimple-pretty-print.h.
73         * ipa-prop.c: Include tree-pretty-print.h and
74         gimple-pretty-print.h.
75         * ipa-pure-const.c: Include gimple-pretty-print.h.
76         * ipa-struct-reorg.c: Include tree-pretty-print.h and
77         gimple-pretty-print.h.
78         * ipa-type-escape.c: Include tree-pretty-print.h.
79         * print-rtl.c: Include tree-pretty-print.h.
80         * print-tree.c: Include gimple-pretty-print.h.
81         * sese.c: Include tree-pretty-print.h.
82         * tree-affine.c: Include tree-pretty-print.h.
83         * tree-browser.c: Include tree-pretty-print.h.
84         * tree-call-cdce.c: Include gimple-pretty-print.h.
85         * tree-cfg.c: Include tree-pretty-print.h and
86         gimple-pretty-print.h.
87         * tree-chrec.c: Include tree-pretty-print.h.
88         * tree-data-ref.c: Include tree-pretty-print.h and
89         gimple-pretty-print.h.
90         * tree-dfa.c: Include tree-pretty-print.h.
91         * tree-if-conv.c: Include tree-pretty-print.h and
92         gimple-pretty-print.h.
93         * tree-inline.c: Include tree-pretty-print.h.
94         * tree-into-ssa.c: Include tree-pretty-print.h and
95         gimple-pretty-print.h.
96         * tree-nrv.c: Include tree-pretty-print.h.
97         * tree-object-size.c: Include tree-pretty-print.h and
98         gimple-pretty-print.h.
99         * tree-outof-ssa.c: Include tree-pretty-print.h and
100         gimple-pretty-print.h.
101         * tree-parloops.c: Include tree-pretty-print.h and
102         gimple-pretty-print.h.
103         * tree-predcom.c: Include tree-pretty-print.h and
104         gimple-pretty-print.h.
105         * tree-scalar-evolution.c: Include tree-pretty-print.h and
106         gimple-pretty-print.h.
107         * tree-sra.c: Include tree-pretty-print.h.
108         * tree-ssa-address.c: Include tree-pretty-print.h.
109         * tree-ssa-alias.c: Include tree-pretty-print.h.
110         * tree-ssa-ccp.c: Include tree-pretty-print.h and
111         gimple-pretty-print.h.
112         * tree-ssa-coalesce.c: Include tree-pretty-print.h.
113         * tree-ssa-copy.c: Include tree-pretty-print.h and
114         gimple-pretty-print.h.
115         * tree-ssa-copyrename.c: Include tree-pretty-print.h.
116         * tree-ssa-dce.c: Include tree-pretty-print.h and
117         gimple-pretty-print.h.
118         * tree-ssa-dom.c: Include tree-pretty-print.h and
119         gimple-pretty-print.h.
120         * tree-ssa-dse.c: Include gimple-pretty-print.h.
121         * tree-ssa-forwprop.c: Include tree-pretty-print.h.
122         * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
123         * tree-ssa-live.c: Include tree-pretty-print.h and
124         gimple-pretty-print.h.
125         * tree-ssa-loop-im.c: Include tree-pretty-print.h and
126         gimple-pretty-print.h.
127         * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
128         gimple-pretty-print.h.
129         * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
130         gimple-pretty-print.h.
131         * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
132         gimple-pretty-print.h.
133         * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
134         * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
135         * tree-ssa-operands.c: Include tree-pretty-print.h and
136         gimple-pretty-print.h.
137         * tree-ssa-phiprop.c: Include tree-pretty-print.h and
138         gimple-pretty-print.h.
139         * tree-ssa-pre.c: Include tree-pretty-print.h and
140         gimple-pretty-print.h.
141         * tree-ssa-propagate.c: Include gimple-pretty-print.h.
142         * tree-ssa-reassoc.c: Include tree-pretty-print.h and
143         gimple-pretty-print.h.
144         * tree-ssa-sccvn.c: Include tree-pretty-print.h and
145         gimple-pretty-print.h.
146         * tree-ssa-sink.c: Include gimple-pretty-print.h.
147         * tree-ssa-ter.c: Include tree-pretty-print.h and
148         gimple-pretty-print.h.
149         * tree-ssa-uninit.c: Include gimple-pretty-print.h.
150         * tree-ssa.c: Include tree-pretty-print.h and
151         gimple-pretty-print.h.
152         * tree-stdarg.c: Include gimple-pretty-print.h.
153         * tree-switch-conversion.c: Include gimple-pretty-print.h.
154         * tree-tailcall.c: Include tree-pretty-print.h and
155         gimple-pretty-print.h.
156         * tree-vect-data-refs.c: Include tree-pretty-print.h and
157         gimple-pretty-print.h.
158         * tree-vect-loop-manip.c: Include tree-pretty-print.h and
159         gimple-pretty-print.h.
160         * tree-vect-loop.c: Include tree-pretty-print.h and
161         gimple-pretty-print.h.
162         * tree-vect-patterns.c: Include gimple-pretty-print.h.
163         * tree-vect-slp.c: Include tree-pretty-print.h and
164         gimple-pretty-print.h.
165         * tree-vect-stmts.c: Include tree-pretty-print.h and
166         gimple-pretty-print.h.
167         * tree-vectorizer.c: Include tree-pretty-print.h.
168         * tree-vrp.c: Include tree-pretty-print.h and
169         gimple-pretty-print.h.
170         * value-prof.c: Include tree-pretty-print.h and
171         gimple-pretty-print.h.
172         * var-tracking.c: Include tree-pretty-print.h.
173         * Makefile.in (OBJS-common): Add tree-diagnostic.o.
174         (tree-diagnostic.o): New dependencies.
175         (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
176         tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
177         tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
178         tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
179         tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
180         tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
181         tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
182         tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
183         tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
184         tree-ssa-address.o, tree-ssa-loop-niter.o,
185         tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
186         tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
187         tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
188         gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
189         tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
190         tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
191         tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
192         tree-parloops.o, tree-stdarg.o, tree-object-size.o,
193         gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
194         toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
195         ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
196         ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
197         tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
198         tree-switch-conversion.o, var-tracking.o, value-prof.o,
199         cfgexpand.o, pretty-print.o): Update dependencies.
200
201 2010-05-22  Andreas Tobler  <andreast@fgznet.ch>
202
203         * tree-ssa-structalias.c: Remove tm_p.h from include.
204
205 2010-05-21  Jeff Law  <law@redhat.com>
206
207         * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
208
209 2010-05-21  Jason Merrill  <jason@redhat.com>
210
211         * tree-eh.c (cleanup_is_dead_in): New.
212         (lower_try_finally): Don't generate a dead cleanup region.
213         (lower_cleanup): Likewise.
214
215 2010-05-21  Jakub Jelinek  <jakub@redhat.com>
216
217         PR debug/44223
218         * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
219         unchain each use from the cyclic next_regno_use chain first.
220
221 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
222
223         * real: Do not include gmp.h, mpfr.h, and mpc.h.
224         (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
225         (real_value_negate, real_value_abs): New prototypes.
226         (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
227         * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
228         new include file for interface between MPFR and REAL_VALUE_TYPE.
229         * real.c: Include realmpfr.h.
230         (real_arithmetic2): Remove legacy function.
231         (real_value_negate): New.
232         (real_value_abs): New.
233         (mfpr_from_real, real_from_mpfr): Move from here...
234         * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
235         * builtins.c: Include realmpfr.h.
236         * fold-const.c: Include realmpfr.h.
237         (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
238         (fold_negate_const): Likewise.
239         (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
240         * toplev.c: Include realmpfr.h.
241         * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
242         and real_value_negate.
243         * fixed-value.c (check_real_for_fixed_mode): Likewise.
244         * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
245         (vfp3_const_double_index): Likewise.
246         (arm_print_operand): Likewise.
247         * Makefile.in: Update dependencies.
248
249 2010-05-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
250
251         * config/s390/s390.c (override_options): Increase the default
252         of max-completely-peel-times.
253
254 2010-05-21  Julian Brown  <julian@codesourcery.com>
255             Mark Mitchell  <mark@codesourcery.com>
256
257         * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
258         sibling calls for Thumb-1.
259         * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
260         * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
261         Thumb-2.
262         (*call_insn, *call_value_insn): Don't use for Thumb-2.
263         (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
264         for Thumb-2.
265         (return): New expander.
266         (*arm_return): New name for ARM return insn.
267         * config/arm/thumb2.md (*thumb2_return): New insn pattern.
268
269 2010-05-19  Joel Sherrill <joel.sherrill@oarcorp.com>
270
271         * config.gcc (sparc64-*-rtems*): New target.
272
273 2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
274
275         * tree.c (build_function_decl_skip_args): Fix grammar.
276         (build_function_type_list_1): Fix typos, adjust formatting.
277
278 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
279
280         * tree.h: Include real.h and fixed-value.h as basic datatypes.
281         * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
282         tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
283         tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
284         tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
285         genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
286         tree-pretty-print.c, tree-loop-distribution.c,
287         tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
288         tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
289         tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
290         tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
291         tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
292         tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
293         tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
294         tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
295         tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
296         tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
297         genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
298         tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
299         gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
300         tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
301         tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
302         store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
303         tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
304         tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
305         tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
306         tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
307         fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
308         tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
309         config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
310         config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
311         config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
312         config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
313         config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
314         config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
315         config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
316         config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
317         config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
318         config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
319         config/score/score7.c, config/score/score.c, config/arm/arm.c,
320         config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
321         config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
322         config/bfin/bfin.c:
323         Clean up redundant includes.
324         * Makefile.in: Update accordingly.
325
326 2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
327
328         PR middle-end/44204
329         * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
330         statement has no arguments.
331
332 2010-05-21  Kai Tietz  <kai.tietz@onevision.com>
333
334         PR/44139
335         * varasm.c (emutls_decl): Merge attributes to new decl.
336
337 2010-05-21  Eric Botcazou  <ebotcazou@adacore.com>
338
339         PR middle-end/44101
340         * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
341         around the uniquized constructor if its type requires a conversion.
342
343 2010-05-21  Jakub Jelinek  <jakub@redhat.com>
344
345         PR debug/44205
346         * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
347         at -O0 goto_locus of any of the incoming edges differs from
348         goto_locus of outgoing edge, or gimple_location of any of the
349         labels differs.
350
351 2009-09-14  Vladimir Makarov <vmakarov@redhat.com>
352
353         * ira.c (ira_non_ordered_class_hard_regs): Define.
354         (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
355         * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
356         * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
357         cost of unaligned hard regs when allocating multi-reg pseudos.
358
359 2010-05-20  Richard Sandiford  <rdsandiford@googlemail.com>
360
361         * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
362         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
363         for TARGET_NO_FLOAT.
364         * config/mips/mips.c (mips_file_start): Expand conditional expression
365         into "if" statements.  Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
366         (mips_override_options): Move -mno-float override -msoft-float and
367         -mhard-float.
368         * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
369         Condition(TARGET_SUPPORTS_NO_FLOAT).
370         * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
371         __mips_no_float here.
372         (SUBTARGET_OVERRIDE_OPTIONS): Delete.
373         (TARGET_SUPPORTS_NO_FLOAT): Define.
374         * config/mips/sdemtk.opt: Delete.
375
376 2010-05-20  Segher Boessenkool  <segher@kernel.crashing.org>
377
378         * ipa-prop.c (compute_complex_ancestor_jump_func): Bail
379         out if !cond.
380
381 2010-05-20  Uros Bizjak  <ubizjak@gmail.com>
382
383         PR target/43733
384         * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
385         * configure: Regenerate.
386         * config.in: Regenerate.
387         * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
388         instead of sahf only for 64bit targets.
389
390 2010-05-20  Jakub Jelinek  <jakub@redhat.com>
391
392         PR debug/44178
393         * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
394         setup_ref_regs for DEBUG_INSNs.
395
396 2010-05-20  Jan Hubicka  <jh@suse.cz>
397
398         PR middle-end/44197
399         * varpool.c (varpool_remove_node): Handle in-varpool aliases.
400
401 2010-05-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
402
403         PR bootstrap/43870
404         * df-scan.c (df_ref_compare): Stabilize sort.
405
406 2010-05-20  Jakub Jelinek  <jakub@redhat.com>
407
408         * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
409         argument.  Don't use DW_OP_piece if offset is non-zero,
410         put offset into second DW_OP_bit_piece argument.
411         (dw_sra_loc_expr): Adjust callers.  For memory expressions
412         compute offset.
413
414 2010-05-20  Hans-Peter Nilsson  <hp@axis.com>
415
416         PR target/44202
417         * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
418         settings for 16-bit-constant "addo" alternative.
419
420 2010-05-19  James E. Wilson  <wilson@codesourcery.com>
421
422         * config/mips/mips-dsp.md (add<DSPV:mode>3,
423         mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
424
425         PR target/43764
426         * mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
427         (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
428         Use it.
429
430 2010-05-19  Joseph Myers  <joseph@codesourcery.com>
431
432         * diagnostic.c (FLOAT, FFS): Don't undefine.
433         * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
434         * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
435         include ordering.
436
437 2010-05-19  Richard Sandiford  <rdsandiford@googlemail.com>
438
439         * combine.c (propagate_for_debug): Call make_compound_operation
440         on the source value.
441         (try_combine): When implementing a split chosen by find_split_point,
442         either copy i2src or set it to null.  Assert that i2src is not null
443         before substituting into CALL_INSN_FUNCTION_USAGE.
444
445 2010-05-19  Anatoly Sokolov  <aesok@post.ru>
446
447         * double-int.h (double_int_ior): New function.
448         * tree.h (build_int_cst_wide_type): Remove.
449         * tree.c (build_int_cst_wide_type): Remove.
450         * fold-const.c (native_interpret_int): Use double_int_to_tree instead
451         of build_int_cst_wide_type.
452         * stor-layout.c (set_sizetype): (Ditto.).
453         * dojump.c (do_jump): Use build_int_cstu instead of
454         build_int_cst_wide_type.
455
456 2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
457
458         * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
459         * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
460         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
461         * gimplify.c: (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
462         TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
463         propagate the 'data' argument to copy_tree_r.
464         (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
465         Propagate 'data' argument to walk_tree.
466         (copy_if_shared): New function.
467         (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
468         (unmark_visited): New function.
469         (unshare_body): Call copy_if_shared instead of doing it manually.
470         (unvisit_body): Call unmark_visited instead of doing it manually.
471
472 2010-05-19  Nathan Froyd  <froydnj@codesourcery.com>
473
474         * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
475         (hook_tree_tree_int_treep_bool_null): ...this.  Update signature.
476         * hooks.c: Likewise.
477         * target-def.h (TARGET_FOLD_BUILTIN): Define to
478         hook_tree_tree_int_treep_bool_null.
479         * target.h: (struct gcc_target): Update signature of fold_builtin
480         field.
481         * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
482         * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
483         instead of the call expression.
484         (fold_builtin_call_array): Pass n and argarray directly.
485         (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
486         consing a list.
487         * config/alpha/alpha.c (alpha_fold_builtin): Update signature.  Lift
488         MAX_ARGS check out of the loop.  Delete declaration of `arity', declare
489         `i' and use it in place of `arity'.
490         * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
491         Dereference `args' directly.
492         * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
493
494 2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
495
496         * doc/sourcebuild.texi (Effective-Target Keywords): Document
497         3dnow, sse3, sse2.
498         (Directives): Document optional dg-require-effective-target
499         selector.
500
501 2010-05-19  Richard Guenther  <rguenther@suse.de>
502
503         PR lto/44196
504         * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
505
506 2010-05-19  Richard Guenther  <rguenther@suse.de>
507
508         * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
509         * common.opt (fwhopr=): New.
510         * opts.c (common_handle_option): Handle OPT_fwhopr.
511         * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
512         * collect2.c (main): Match -fwhopr*.
513         * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
514         Execute ltrans stage in parallel when jobs is bigger than 1.
515
516 2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
517
518         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
519         pentiumpro on Solaris 8/x86 with Sun as.
520         * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
521         hidden alias bug.
522         (gcc_cv_as_ix86_quad): Check for .quad directive.
523         * configure: Regenerate.
524         * config.in: Regenerate.
525         * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
526
527 2010-05-19  Martin Jambor  <mjambor@suse.cz>
528
529         * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
530         also for indirect edges.  Actual printing moved...
531         (ipa_print_node_jump_functions_for_edge): ...here.
532         (ipa_compute_jump_functions): Renamed to
533         ipa_compute_jump_functions_for_edge and made static.
534         (ipa_compute_jump_functions): New function.
535         (make_edge_direct_to_target): Check if the number of arguments on
536         the newly direct edge is the same as the number of parametrs of
537         the callee.
538         * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
539         ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
540         * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
541         analysis functions unconditionally, call the new
542         ipa_analyze_params_uses on the node instead of every edge.
543
544 2010-05-19  Christian Borntraeger  <borntraeger@de.ibm.com>
545
546         * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
547         to tree.
548         (dump_mem_ref): Adopt debug code to handle a tree as step.  This
549         also checks for a constant int vs.  non-constant but
550         loop-invariant steps.
551         (find_or_create_group): Change the sort algorithm to only consider
552         steps that are constant ints.
553         (idx_analyze_ref): Adopt code to handle a tree instead of a
554         HOST_WIDE_INT for step.
555         (gather_memory_references_ref): Handle tree instead of int and be
556         prepared to see a NULL_TREE.
557         (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
558         prefetches if the step cannot be calculated at compile time.
559         (issue_prefetch_ref): Issue prefetches for non-constant but
560         loop-invariant steps.
561
562 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
563
564         Revert:
565         2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
566
567         * tree.h (build_call_list): Remove.
568         * tree.c (build_call_list): Remove.
569
570 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
571
572         * tree.h (build_call_list): Remove.
573         * tree.c (build_call_list): Remove.
574
575 2010-05-18  Jan Hubicka  <jh@suse.cz>
576
577         * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
578
579 2010-05-18  Vladimir Makarov  <vmakarov@redhat.com>
580
581         PR rtl-optimization/43332
582         * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
583
584 2010-05-18  Anatoly Sokolov  <aesok@post.ru>
585
586         * tree.h (build_int_cstu): Implement as static inline.
587         * tree.c (build_int_cstu): Remove function.
588         (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
589         sign extended.
590
591 2010-05-18  Richard Guenther  <rguenther@suse.de>
592
593         PR lto/44143
594         * lto-wrapper.c (verbose): New variable.  Initialize from -v.
595         (debug): Initialize from -save-temps.
596         (collect_execute): Print command-line when verbose.
597         (run_gcc): Always use COLLECT_GCC_OPTIONS.  Use fork_execute
598         for ltrans invocation.  Produce -dumpbase flag again.
599         (process_args): Remove.
600         (main): Simplify.
601         * collect2.c (maybe_run_lto_and_relink): Only pass object
602         files to lto-wrapper.
603         * gcc.c (LINK_COMMAND_SPEC): Likewise.
604
605 2010-05-18  Jan Hubicka  <jh@suse.cz>
606
607         * opts.c (decode_options): Do not disable whopr at ipa_cp.
608         * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
609
610 2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
611
612         PR lto/44184
613         * lto-streamer-out.c (output_gimple_stmt): Output number of labels
614         in a GIMPLE_ASM.
615         * lto-streamer-in.c (input_gimple_stmt): Read number of labels
616         in a GIMPLE_ASM.
617
618 2010-05-18  Jakub Jelinek  <jakub@redhat.com>
619
620         PR debug/41371
621         * var-tracking.c (find_loc_in_1pdv): Add a few checks from
622         rtx_equal_p inline.
623
624 2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
625
626         * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
627         lto-macho as lto_binary_reader.
628
629         * darwin.c (darwin_asm_named_section): Do not add assembler comment
630         after .section directive; just print it before the directive instead.
631
632 2010-05-17  Jan Hubicka  <jh@suse.cz>
633
634         * cgraph.c (cgraph_create_virtual_clone): Only check
635         versionable_function_p when not in wpa and checking is enabled.
636         * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
637         there are no more functions to materialize.
638
639 2010-05-17  Jan Hubicka  <jh@suse.cz>
640
641         * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
642         * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
643         New functions.
644         (output_cgraph): Call output_cgraph_opt_summary.
645         (input_cgrpah): Call input_cgraph_opt_summary.
646         (output_cgraph_opt_summary_p, output_node_opt_summary,
647         input_node_opt_summary, input_cgraph_opt_section): New functions.
648         * lto-section-in.c (lto_section_name): Add cgraphopt.
649         * tree-inline.c (tree_function_versioning): Handle parm_num.
650         * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
651         * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
652
653 2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>
654
655         * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
656         * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
657         the insn to prefetch ratio heuristic to loops with known trip count.
658
659 2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>
660
661         * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
662         (schedule_prefetches): Do not generate a prefetch if the unroll factor
663         is far from what is required by the prefetch.
664
665 2010-05-17  Jan Hubicka  <jh@suse.cz>
666
667         * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
668         (ipcp_estimate_growth): Likewise.
669         (ipcp_const_param_count): Likewise.
670         (ipcp_insert_stage): Likewise.
671         * ipa-prop.c (visit_load_for_mod_analysis): New function.
672         (visit_store_addr_for_mod_analysis): Set used flag.
673         (ipa_detect_param_modifications): Set used flag for SSE params;
674         update use of walk_stmt_load_store_addr_ops.
675         (ipa_print_node_params): Print used flag.
676         (ipa_write_node_info): Stream used flag.
677         (ipa_read_node_info): Likewise.
678         * ipa-prop.h (struct ipa_param_descriptor): Add used field.
679         (ipa_is_param_used): New function.
680         (lto_ipa_fixup_call_notes): Remove unused declaration.
681
682 2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
683
684         PR target/44074
685         * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
686         * configure: Regenerate.
687         * config.in: Regenerate.
688         * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
689         !HAVE_AS_IX86_REP_LOCK_PREFIX.
690         Don't emit whitespace.
691         * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
692         (*rep_movsi): Likewise.
693         (*rep_movsi_rex64): Likewise.
694         (*rep_movqi): Likewise.
695         (*rep_movqi_rex64): Likewise.
696         (*rep_stosdi_rex64): Likewise.
697         (*rep_stossi): Likewise.
698         (*rep_stossi_rex64): Likewise.
699         (*rep_stosqi): Likewise.
700         (*rep_stosqi_rex64): Likewise.
701         (*cmpstrnqi_nz_1): Use {%;} after repz.
702         (*cmpstrnqi_nz_rex_1): Likewise.
703         (*cmpstrnqi_1): Likewise.
704         (*cmpstrnqi_rex_1): Likewise.
705         (*strlenqi_1): Use {%;} after repnz.
706         (*strlenqi_rex_1): Likewise.
707         * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
708         (*sync_compare_and_swap<mode>): Likewise.
709         (sync_double_compare_and_swap<mode>): Likewise.
710         (*sync_double_compare_and_swapdi_pic): Likewise.
711         (sync_old_add<mode>): Likewise.
712         (sync_add<mode>): Likewise.
713         (sync_sub<mode>): Likewise.
714         (sync_<code><mode>): Likewise.
715
716 2010-05-17  Martin Jambor  <mjambor@suse.cz>
717
718         * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
719         otr_token and polymorphic.
720         * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
721         (cgraph_clone_edge): Copy the above fields.
722         * tree.c (get_binfo_at_offset): New function.
723         * tree.h (get_binfo_at_offset): Declare.
724         * ipa-prop.h (enum jump_func_type): Added known_type jump function
725         type, reordered items, updated comments.
726         (union jump_func_value): Added base_type field, reordered fields.
727         (enum ipa_lattice_type): Moved down in the file.
728         (struct ipa_param_descriptor): New field polymorphic.
729         (ipa_is_param_polymorphic): New function.
730         * ipa-prop.c: Include gimple.h and gimple-fold.h.
731         (ipa_print_node_jump_functions): Print known type jump functions.
732         (compute_complex_pass_through): Renamed to...
733         (compute_complex_assign_jump_func): this.
734         (compute_complex_ancestor_jump_func): New function.
735         (compute_known_type_jump_func): Likewise.
736         (compute_scalar_jump_functions): Create known type and complex ancestor
737         jump functions.
738         (ipa_note_param_call): New parameter polymorphic, set the corresponding
739         flag in the call note accordingly.
740         (ipa_analyze_call_uses): Renamed to...
741         (ipa_analyze_indirect_call_uses): this.  New parameter target, define
742         variable var only in the block where it is used.
743         (ipa_analyze_virtual_call_uses): New function.
744         (ipa_analyze_call_uses): Likewise.
745         (combine_known_type_and_ancestor_jfs): Likewise.
746         (update_jump_functions_after_inlining): Implemented handling of a
747         number of new jump function types combination.
748         (print_edge_addition_message): Removed.
749         (make_edge_direct_to_target): New function.
750         (try_make_edge_direct_simple_call): Likewise.
751         (try_make_edge_direct_virtual_call): Likewise.
752         (update_call_notes_after_inlining): Renamed to...
753         (update_indirect_edges_after_inlining): this.  Moved edge creation for
754         indirect calls to try_make_edge_direct_simple_call, also calls
755         try_make_edge_direct_virtual_call for virtual calls.
756         (ipa_print_node_params): Changed the header message.
757         (ipa_write_jump_function): Stream also known type jump functions.
758         (ipa_read_jump_function): Likewise.
759         (ipa_write_indirect_edge_info): Stream new fields in
760         cgraph_indirect_call_info.
761         (ipa_read_indirect_edge_info): Likewise.
762         * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
763         GIMPLE_FOLD_H.
764
765 2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
766
767         * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
768
769 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
770
771         * tree.h (CALL_EXPR_ARGS): Delete.
772         (call_expr_arglist): Delete.
773         * tree.c (call_expr_arglist): Delete.
774         * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
775         targetm.fold_builtin.
776         * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
777         Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
778         * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
779         arglist parameter.  Use CALL_EXPR_ARG.
780         (picochip_expand_builtin_3op): Likewise.
781         (picochip_expand_builtin_2opvoid): Likewise.
782         (picochip_expand_array_get): Likewise.
783         (picochip_expand_array_put): Likewise.
784         (picochip_expand_array_testport): Likewise.
785         (picochip_expand_builtin): Don't call CALL_EXPR_ARGS.  Pass exp
786         rather than arglist.
787         * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
788         CALL_EXPR_ARGS.
789         * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
790         than TREE_VALUE and TREE_CHAIN.
791         * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
792         * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
793         the arglist.
794
795 2010-05-17  Jakub Jelinek  <jakub@redhat.com>
796
797         PR bootstrap/42347
798         * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
799         to have no fallthru edge.
800
801         PR middle-end/44102
802         * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
803         bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
804         mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
805         add BARRIER after previous bb if needed.
806
807 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
808
809         * tree.c (build_function_type_list_1): Remove bogus assert condition.
810
811 2010-05-17  Alan Modra  <amodra@gmail.com>
812
813         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
814         unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
815         with copy_reg rtx param.
816         (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
817         Correct cases where code for ABI_V4 did not initialise the reg
818         used to access frame.  Also leave frame_reg_rtx as sp for large
819         frames that save no regs.
820
821 2010-05-17  Martin Jambor  <mjambor@suse.cz>
822
823         PR middle-end/44133
824         * tree-sra.c (create_access_replacement): New parameter rename, mark
825         the replaement for renaming only when it is true.
826         (get_access_replacement): Pass true in the rename parameter of
827         create_access_replacement.
828         (get_unrenamed_access_replacement): New function.
829         (replace_uses_with_default_def_ssa_name): New parameter racc, get the
830         replacement declaration from it.
831
832 2010-05-17  Bernd Schmidt  <bernds@codesourcery.com>
833
834         * function.c (try_fit_stack_local, add_frame_space): New static
835         functions.
836         (assign_stack_local_1): Use them.  Look for opportunities to use
837         space previously wasted on alignment.
838         * function.h (struct frame_space): New.
839         (struct rtl_data): Add FRAME_SPACE_LIST member.
840         * reload1.c (something_was_spilled): New static variable.
841         (alter_reg): Set it.
842         (reload): Test it in addition to testing if the frame size changed.
843
844 2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>
845
846         * config/s390/s390.c: Define sane prefetch settings and activate
847         flag_prefetch_loop_arrays on -O3.
848         * config/s390/s390.h: Declare that read can use write prefetch.
849
850 2010-05-17  Jakub Jelinek  <jakub@redhat.com>
851
852         * lto-streamer-out.c (lto_output): Fix --enable-checking=release
853         build.
854
855 2010-05-16  Jan Hubicka  <jh@suse.cz>
856
857         * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
858         function body; do not check stdarg field of struct function.
859
860 2010-05-16  Jan Hubicka  <jh@suse.cz>
861
862         * cgraph.c (dump_cgraph_node): Dump versionable flag.
863         * cgraph.h (cgraph_local_info): Add versionable flag.
864         * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
865         (ipcp_versionable_function_p): Use it.
866         * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
867         versionable flag.
868
869 2010-05-16  Jan Hubicka  <jh@suse.cz>
870
871         * cgraph.c (cgraph_clone_node): Take decl argument and insert
872         clone into hash when it is different from orig.
873         (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
874         * cgraph.h (cgraph_clone_node): Update prototype.
875         * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
876         (lto_cgraph_encoder_delete): Delete body map.
877         (lto_cgraph_encoder_size): Move to header.
878         (lto_cgraph_encoder_encode_body_p,
879         lto_set_cgraph_encoder_encode_body): New.
880         (lto_output_node): Do not take written_decls argument; output clone_of
881         pointer.
882         (add_node_to): Add include_body_argument; call
883         lto_set_cgraph_encoder_encode_body on master of the clone.
884         (add_references): Update use of add_node_to.
885         (compute_ltrans_boundary): Likewise.
886         (output_cgraph): Do not create written_decls bitmap.
887         (input_node): Take nodes argument; stream in clone_of correctly.
888         (input_cgraph_1): Update use of input_node.
889         * lto-streamer-out.c (lto_output): Use encoder info to decide
890         what bodies to output.
891         * ipa-inline.c (cgraph_clone_inlined_nodes,
892         cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
893         * lto-streamer.h (lto_cgraph_encoder_d): Add body.
894         (lto_cgraph_encoder_size): Define here.
895         (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
896         Declare.
897
898 2010-05-16  Richard Guenther  <rguenther@suse.de>
899
900         * doc/invoke.texi (-fipa-struct-reorg): Do not mention
901         -fipa-type-escape.
902         * ipa-type-escape.c (gate_type_escape_vars): Run when
903         -fipa-struct-reorg runs.
904         * opts.c (decode_options): Do not unset flag_ipa_type_escape.
905         * common.opt (fipa-type-escape): Remove.
906
907 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
908
909         * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
910         (decode_options): Likewise.
911         * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
912
913 2010-05-16  Jan Hubicka  <jh@suse.cz>
914
915         * ipa.c (function_and_variable_visibility): Also bring local all
916         aliases.
917
918 2010-05-16  Richard Guenther  <rguenther@suse.de>
919
920         * alias.c (nonoverlapping_memrefs_p): Remove use of
921         IPA type-escape information.
922
923 2010-05-16  Joseph Myers  <joseph@codesourcery.com>
924
925         * c-common.c (c_common_reswords): Add _Static_assert for C.
926         * c-parser.c (c_token_starts_declaration,
927         c_parser_next_token_starts_declaration,
928         c_parser_static_assert_declaration_no_semi,
929         c_parser_static_assert_declaration): New.
930         (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
931         Handle static assertions if static_assert_ok.
932         (c_parser_external_declaration, c_parser_declaration_or_fndef,
933         c_parser_compound_statement_nostart, c_parser_label,
934         c_parser_for_statement, c_parser_objc_methodprotolist,
935         c_parser_omp_for_loop): All callers of
936         c_parser_declaration_or_fndef changed.
937         (c_parser_struct_declaration): Handle static assertions.
938         (c_parser_compound_statement_nostart): Use
939         c_parser_next_token_starts_declaration and
940         c_token_starts_declaration to detect start of declarations.
941         (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
942         Likewise.
943
944 2010-05-16  Anatoly Sokolov  <aesok@post.ru>
945
946         * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
947         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
948         * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
949         TARGET_FUNCTION_VALUE_REGNO_P): Define.
950         (mmix_function_outgoing_value): Rename to...
951         (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
952         (mmix_function_value_regno_p): Make static.
953         (mmix_libcall_value): New function.
954         * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
955         mmix_function_value_regno_p): Remove declaration.
956
957 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
958
959         * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
960         BUILT_IN_ALLOCA if stack checking is enabled.
961
962 2010-05-16  Richard Guenther  <rguenther@suse.de>
963
964         * var-tracking.c (vars_copy_1): Inline ...
965         (vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
966         (variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
967         (variable_merge_over_cur): Adjust.  Merge asserts.
968         (variable_merge_over_src): Likewise.
969         (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
970         (variable_post_merge_new_vals): Merge asserts.
971         (variable_post_merge_perm_vals): Likewise.
972         (find_mem_expr_in_1pdv): Likewise.
973         (dataflow_set_different_value): Remove.
974         (onepart_variable_different_p): Merge asserts.
975         (variable_different_p): Likewise.
976         (dataflow_set_different_1): Inline ...
977         (dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
978         (emit_notes_for_differences_1): Merge asserts.
979
980 2010-05-16  Richard Guenther  <rguenther@suse.de>
981
982         * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
983         * optabs.c (libfunc_decl_hash): Likewise.
984         * varasm.c (emutls_decl): Likewise.
985
986 2010-05-16  Steven Bosscher  <steven@gcc.gnu.org>
987
988         * c-decl.c: Don't include gimple.h.
989         (merge_decls): Do not copy gimple_body.
990
991 2010-05-15  Jason Merrill  <jason@redhat.com>
992
993         * c.opt: Add -fnothrow-opt.
994
995 2010-05-15  Jan Hubicka  <jh@suse.cz>
996
997         * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
998         analyzed.
999         * passes.c (ipa_write_summaries): Write all analyzed nodes.
1000
1001 2010-05-15  Steven Bosscher  <steven@gcc.gnu.org>
1002
1003         * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
1004         * Makefile.in: Add it.
1005         Fix all other Makefile dependencies for changes below.
1006         * tree.h: Include it instead of defining VEC primitives here.
1007         * gimple.h: Likewise.
1008         * rtl.h: Likewise.
1009         * tree-inline.h: Inlclude vecir.h instead of gimple.h.
1010         * except.h: Include vecir.h, break dependence on tree.h.
1011
1012         * gimplify.c (append_to_statement_list_1, append_to_statement_list):
1013         Move from here...
1014         * tree-iterator.c: ...to here.
1015         * tree-iterator.h: Fix file introduction comment.  Add extern markers.
1016
1017         * c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
1018         tm_p.h.
1019         * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
1020         * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
1021         integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
1022         tree-mudflap.h, and target.h.
1023         * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
1024         predict.h, tree-inline.h, gimple.h, and langhooks.h.
1025         * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
1026         Add FIXME for why gimple.h is still included (should be unnecessary
1027         since GCC 4.5 gimplification unit-at-a-time).
1028         * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
1029         * c-pragma.c: Add FIXME for why function.h needs to be included just
1030         for cfun, at front-end level.
1031         Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
1032         Do not include ggc.h, but include vecprim.h for VEC(char).
1033         * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
1034         Explain why target.h is included.
1035         * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
1036         Explain why gimple.h is included.
1037         * c-ppoutput.c: Do not include tm.h.
1038         * c-common.c: Do not include gimple.h.  Explain why expr.h is included.
1039         * c-parses.c: Explain why rtl.h is included, and that this (and only
1040         this) is also why tm.h must be included.
1041         Do not include except.h.
1042         * c-lang.c: Do not include ggc.h.
1043
1044 2010-05-15  Uros Bizjak  <ubizjak@gmail.com>
1045
1046         * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
1047
1048 2010-05-15  Joseph Myers  <joseph@codesourcery.com>
1049
1050         * c-decl.c (grokfield): Allow typedefs for anonymous structs and
1051         unions by default if those structs and unions have no tags.  Do
1052         not condition anonymous struct and unions handling on flag_iso.
1053         Allow anonymous structs and unions for C1X.
1054         (finish_struct): Do not diagnose lack of named fields when
1055         anonymous structs and unions present for C1X.  Accept flexible
1056         array members in structure with anonymous structs or unions but no
1057         directly named fields.
1058         * doc/extend.texi (Unnamed Fields): Update.
1059
1060 2010-05-15  Eric Botcazou  <ebotcazou@adacore.com>
1061
1062         * gimple.h (compare_field_offset): Rename into...
1063         (gimple_compare_field_offset): ...this.
1064         * gimple.c (compare_field_offset): Rename into...
1065         (gimple_compare_field_offset): ...this.  Compare the full access if
1066         the offset is self-referential.
1067         (gimple_types_compatible_p): Adjust for above renaming.
1068         * lto-streamer-in.c (input_gimple_stmt): Likewise.  Also compare the
1069         DECL_NONADDRESSABLE_P flag of fields before merging them.
1070
1071 2010-05-15  Nathan Froyd  <froydnj@codesourcery.com>
1072
1073         * tree.h (ctor_to_list): Delete.
1074         * tree.c (ctor_to_list): Delete.
1075
1076 2010-05-15  Jan Hubicka  <jh@suse.cz>
1077
1078         * ipa-reference.c: Include toplev.h
1079         (is_proper_for_analysis): Only add to all_module_statics
1080         if it is allocated.
1081         (write_node_summary_p, stream_out_bitmap,
1082         ipa_reference_write_optimization_summary,
1083         ipa_reference_read_optimization_summary): New.
1084         (struct ipa_opt_pass_d pass_ipa_reference): Add
1085         optimization summary streaming.
1086         * lto-cgraph.c (referenced_from_this_partition_p,
1087         reachable_from_this_partition_p): New functions.
1088         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
1089         call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
1090         * opts.c (decode_options): Enable ipa_reference.
1091         * Makefile.in (ipa-reference.o): Add toplev.h dependency.
1092         * lto-streamer.h (referenced_from_this_partition_p,
1093         reachable_from_this_partition_p): Declare.
1094
1095 2010-05-15  Richard Guenther  <rguenther@suse.de>
1096
1097         PR tree-optimization/44038
1098         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
1099         taking the address of a V_C_E of a constant.
1100
1101 2010-05-14  Jan Hubicka  <jh@suse.cz>
1102
1103         * tree.h (memory_identifier_string): Remove.
1104         * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
1105         (ipa_reference_global_vars_info_d): Remove statics_not_read and
1106         statics_not_written.
1107         (ipa_reference_optimization_summary_d): New structure.
1108         (ipa_reference_optimization_summary_t): New type and vector.
1109         (ipa_reference_vars_info_d): Embedd structures instead of using
1110         pointers.
1111         (reference_vars_to_consider): Remove out of GGC space.
1112         (module_statics_escape): Remove.
1113         (global_info_obstack): Rename to ...
1114         (optimization_summary_obstack): ... this one.
1115         (initialization_status_t): Remove.
1116         (memory_identifier_string): Remove.
1117         (get_reference_vars_info): Fix indenting.
1118         (set_reference_vars_info): Likewise.
1119         (get_reference_optimization_summary): New.
1120         (set_reference_optimization_summary): New.
1121         (get_global_reference_vars_info): Remove.
1122         (ipa_reference_get_read_global): Remove.
1123         (ipa_reference_get_written_global): Remove.
1124         (ipa_reference_get_not_read_global): Update.
1125         (ipa_reference_get_not_written_global): Update.
1126         (is_proper_for_analysis): Outlaw addressable.
1127         (propagate_bits): Update for new datastructures.
1128         (analyze_variable): Remove.
1129         (init_function_info): Update for new datastructures.
1130         (clean_function_local_data): Remove.
1131         (clean_function): Remove.
1132         (copy_global_bitmap): Use optimizations_summary_obstack.
1133         (duplicate_node_data): Duplicate optimization summary only.
1134         (remove_node_data): Remove optimization summary only.
1135         (generate_summary): Do not analyze variables; do not compute
1136         module_statics_escape; do not prune solutions by it.
1137         (read_write_all_from_decl): Fix typos in comments.
1138         (propagate): Doscover readonly and nonaddressable first;
1139         update for new datastructures; share global bitmaps.
1140         * ipa-reference.h (ipa_reference_get_read_global,
1141         ipa_reference_get_written_global): Remove.
1142         * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
1143         * Makefile.in: Remove ipa-refereference from GT files.
1144
1145 2010-05-14  Jakub Jelinek  <jakub@redhat.com>
1146
1147         PR debug/44112
1148         * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
1149         for all SYMBOL_REF_DECLs.
1150
1151 2010-05-14  Jan Hubicka  <jh@suse.cz>
1152
1153         * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
1154         (varpool_all_refs_explicit_p): New inline function.
1155         * ipa-reference.c: Update comment.
1156         (module_statics_written): Remove.
1157         (get_static_decl): Remove.
1158         (ipa_init): Do not initialize module_statics_written.
1159         (analyze_function): Likewise.
1160         (generate_summary): Likewise; do not compute module_statics_readonly
1161         and do not update variable flags.
1162         (propagate): Call ipa_discover_readonly_nonaddressable_vars.
1163         * ipa.c: Inlucde flags.h
1164         (cgraph_local_node_p): New.
1165         (cgraph_remove_unreachable_nodes): Return early when not optimizing;
1166         promote functions to local.
1167         (ipa_discover_readonly_nonaddressable_vars): New function.
1168         (function_and_variable_visibility): Use cgraph_local_node_p.
1169         * varpool.c (varpool_finalize_decl): Set force_output for
1170         DECL_PRESERVE_P vars.
1171
1172 2010-05-14  Jan Hubicka  <jh@suse.cz>
1173
1174         * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
1175
1176 2010-05-14  Richard Guenther  <rguenther@suse.de>
1177
1178         PR tree-optimization/44119
1179         * tree-ssa-pre.c (eliminate): Properly mark replacement of
1180         a PHI node necessary.
1181
1182 2010-05-14  Eric Botcazou  <ebotcazou@adacore.com>
1183
1184         * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
1185
1186 2010-05-14  Jason Merrill  <jason@redhat.com>
1187
1188         PR c++/44127
1189         * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
1190         (gimple_call_set_nothrow): New.
1191         * gimple.c (gimple_build_call_from_tree): Call it.
1192         (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
1193
1194         PR c++/44127
1195         * gimplify.c (gimplify_seq_add_stmt): No longer static.
1196         * gimple.h: Declare it.
1197         * gimple.c (gimple_build_eh_filter): No ops.
1198
1199 2010-05-14  Jan Hubicka  <jh@suse.cz>
1200
1201         * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
1202         nodes already in queue.
1203         (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
1204         re-enqueueing node.
1205
1206 2010-05-14  Jakub Jelinek  <jakub@redhat.com>
1207
1208         PR debug/44136
1209         * cfgexpand.c (expand_debug_expr): If non-memory op0
1210         has BLKmode, return NULL.
1211
1212 2010-05-14  Harsha Jagasia  <harsha.jagasia@amd.com>
1213
1214         * config.gcc: Add support for --with-cpu option for bdver1.
1215         * config/i386/i386.h (TARGET_BDVER1): New macro.
1216         (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
1217         to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
1218         (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
1219         to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
1220         Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
1221         (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
1222         (processor_type): Add PROCESSOR_BDVER1.
1223         * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
1224         processor_type in config/i386/i386.h.
1225         Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
1226         movaps <reg, reg> instead of movapd <reg, reg> when replacing
1227         movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
1228         Add check for  TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
1229         to emit packed xor instead of packed double/packed integer
1230         xor for SSE and AVX when moving a zero value.
1231         * config/i386/sse.md: Add check for
1232         TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
1233         movapd/movdqa for SSE and AVX.
1234         Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
1235         single logical operations i.e and, or and xor instead of packed double
1236         logical operations for SSE and AVX.
1237         * config/i386/i386-c.c (ix86_target_macros_internal):
1238         Add PROCESSOR_BDVER1.
1239         * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
1240         (has_fma4, has_xop): New.
1241         * config/i386/i386.c (bdver1_cost): New variable.
1242         (m_BDVER1): New macro.
1243         (m_AMD_MULTIPLE): Add m_BDVER1.
1244         (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
1245         x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
1246         x86_tune_use_simode_fiop, x86_tune_promote_qimode,
1247         x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
1248         x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
1249         x86_tune_sse_partial_reg_dependency,
1250         x86_tune_sse_unaligned_load_optimal,
1251         x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
1252         x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
1253         x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
1254         x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
1255         x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
1256         Enable/disable for bdver1.
1257         (processor_target_table): Add bdver1_cost.
1258         (cpu_names): Add bdver1.
1259         (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
1260          processor_alias_table.
1261         (ix86_expand_vector_move_misalign): Change.
1262         TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
1263         Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
1264         Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
1265         of movupd/movdqu for SSE and AVX.
1266         (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
1267         (ix86_tune_adjust_cost): Add code for bdver1.
1268         (standard_sse_constant_opcode): Add check for
1269         TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
1270         of packed double xor for SSE and AVX.
1271
1272 2010-05-14  Pat Haugen  <pthaugen@us.ibm.com>
1273
1274         * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
1275         result to unsigned.
1276
1277 2010-05-14  Tristan Gingold  <gingold@adacore.com>
1278
1279         * toplev.c (default_debug_hooks): Remove this variable.
1280         (process_options): Remove assignments to default_debug_hooks.
1281
1282 2010-05-14  Martin Jambor  <mjambor@suse.cz>
1283
1284         * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
1285         (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
1286         * langhooks.h (struct lang_hooks_for_decls): Removed field
1287         fold_obj_type_ref.
1288         * tree.c (free_lang_data): Remove assignment to
1289         lang_hooks.fold_obj_type_ref.
1290         * tree.def (OBJ_TYPE_REF): Update comment.
1291
1292 2010-05-14  Richard Guenther  <rguenther@suse.de>
1293
1294         PR tree-optimization/44124
1295         * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
1296
1297 2010-05-14  Alan Modra  <amodra@gmail.com>
1298
1299         PR target/44075
1300         * config/rs6000/rs6000.c (struct machine_function): Reorder
1301         fields for better packing.  Add lr_save_state.
1302         (rs6000_ra_ever_killed): Return lr_save_state if set.
1303         (rs6000_emit_eh_reg_restore): Set lr_save_state.
1304
1305 2010-05-13  Jan Hubicka  <jh@suse.cz>
1306
1307         * varpool.c (decide_is_variable_needed): Drop code checking
1308         TREE_SYMBOL_REFERENCED.
1309
1310 2010-05-13  Jan Hubicka  <jh@suse.cz>
1311
1312         * final.c (output_addr_const): Do not call mark_decl_referenced.
1313         * cgraphunit.c (process_function_and_variable_attributes): Use
1314         mark_needed_node dirrectly.
1315         (assemble_thunk): Do not call mark_decl_referenced.
1316
1317 2010-05-13  Anatoly Sokolov  <aesok@post.ru>
1318
1319         * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
1320
1321 2010-05-13  Jeff Law  <law@redhat.com>
1322
1323         * ira-conflicts.c (print_allocno_conflicts): New function broken out
1324         from...
1325         (print_conflicts): Call print_allocno_conflicts.
1326
1327 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
1328
1329         PR debug/44104
1330         * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
1331         if it is NULL.
1332
1333 2010-05-13  Kai Tietz  <kai.tietz@onevision.com>
1334
1335         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
1336         t-mingw-w64 or t-mingw-w32 for multilib configuration.
1337         * config/i386/t-mingw-w32: New.
1338         * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
1339
1340 2010-05-13  Martin Jambor  <mjambor@suse.cz>
1341
1342         * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
1343         gimple-fold.c).
1344         * gimple-fold.c (get_base_binfo_for_type): New function.
1345         (gimple_get_relevant_ref_binfo): Likewise.
1346         (gimple_fold_obj_type_ref_known_binfo): Likewise.
1347         (gimple_fold_obj_type_ref): Likewise.
1348         (fold_gimple_call): Simplify condition for folding virtual calls
1349         and call gimple_fold_obj_type_ref.
1350         * gimple.h (gimple_get_relevant_ref_binfo): Declare.
1351         (gimple_fold_obj_type_ref_known_binfo): Likewise.
1352
1353 2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
1354
1355         * config/rs6000/rs6000-protos.h
1356         (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
1357         * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
1358         (rs6000_debug_mode_dependent_address)
1359         (rs6000_mode_dependent_address_ptr): Likewise.
1360
1361 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
1362
1363         PR debug/43983
1364         * var-tracking.c (track_expr_p): Allow tracking of variables optimized
1365         by SRA.
1366         * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
1367         * tree-sra.c (create_access_replacement): Call unshare_expr before
1368         passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
1369         * dwarf2out.c: Include tree-flow.h.
1370         (struct var_loc_node): Rename var_loc_note field to loc, add comment.
1371         (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
1372         Handle DW_OP_bit_piece.
1373         (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
1374         construct_piece_list, adjust_piece_list): New functions.
1375         (add_var_loc_to_decl): Handle SRA optimized variables.
1376         Adjust for var_loc_note to loc field renaming.
1377         (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
1378         in VAR_LOCATION note.
1379         (new_loc_descr_op_bit_piece): New function.
1380         (dw_sra_loc_expr): New function.
1381         (dw_loc_list): Use it.  Don't handle the last range after the
1382         loop, handle it inside of the loop.  Adjust for var_loc_note
1383         to loc field renaming.
1384         (add_location_or_const_value_attribute): Only special case
1385         single entry loc lists if loc is NOTE_P.  Adjust for
1386         var_loc_note to loc field renaming.
1387         (dwarf2out_var_location): Don't set newloc->var_loc_note
1388         and newloc->next here.
1389
1390 2010-05-12  Jan Hubicka  <jh@suse.cz>
1391
1392         * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
1393         flag.
1394         * cgraph.h (cgraph_only_called_directly_p,
1395         cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
1396         (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
1397         * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
1398         (assemble
1399         * ipa.c (cgraph_remove_unreachable_nodes): Use
1400         cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
1401         flags.
1402         * tree-inline.c (copy_bb): Check address_taken flag.
1403         * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
1404         externally_visible flag.
1405
1406 2010-05-12  Jason Merrill  <jason@redhat.com>
1407
1408         PR bootstrap/44048
1409         PR target/44099
1410         * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
1411         * sdbout.c (plain_type_1): Likewise.
1412         * dwarf2out.c (is_base_type): Likewise.
1413         (gen_type_die_with_usage): Likewise.  Generate
1414         DW_TAG_unspecified_type for any LANG_TYPE.
1415
1416 2010-05-12  Jan Hubicka  <jh@suse.cz>
1417
1418         * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
1419         indrect edges too.
1420         * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
1421         (cgraph_clone_edge): Update.
1422         (cgraph_node_remove_callees): Remove indirect calls too.
1423         * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
1424         (cgraph_create_indirect_edge): Update prototype.
1425         * ipa-reference.c (has_proper_scope_for_analysis): Rename to
1426         is_proper_for_analysis.
1427         (add_new_function, visited_nodes, function_insertion_hook_holder,
1428         get_local_reference_vars_info, mark_address_taken, mark_address,
1429         mark_load, mark_store, check_asm_memory_clobber, check_call,
1430         scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
1431         (ipa_init): Do not initialize visited_nodes;
1432         function_insertion_hook_holder.
1433         (analyze_variable): Rewrite.
1434         (analyze_function): Rewrite.
1435         (copy_local_bitmap): Remove.
1436         (duplicate_node_dat): Do not duplicate local info.
1437         (generate_summary): Simplify to only walk cgraph.
1438         (write_node_summary_p, ipa_reference_write_summary,
1439         ipa_reference_read_summary): Remove.
1440         (propagate): Do not remove function insertion;
1441         generate summary.
1442         (pass_ipa_reference): NULLify summary handling fields.
1443         * lto-cgraph.c (lto_output_edge): Output ecf_flags.
1444         (input_edge): Input ecf_flags.
1445         * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
1446         (update_indirect_edges_after_inlining): Ignore edges with unknown
1447         param.
1448
1449 2010-05-12  Sriraman Tallam  <tmsriram@google.com>
1450
1451         * implicit-zee.c: New file.
1452         * tree-pass.h (pass_implicit_zee): Declare.
1453         * passes.c (init_optimization_passes): Add zee pass.
1454         * common.opt (fzee): New flag.
1455         * timevar.def (TV_ZEE): Define.
1456         * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
1457         and beyond.
1458         * Makefile.in (implicit-zee.o): Add new build file.
1459
1460 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
1461             Nathan Froyd  <froydnj@codesourcery.com>
1462
1463         * c-common.c (sync_resolve_params): Remove write-only variable.
1464
1465 2010-05-12  Anatoly Sokolov  <aesok@post.ru>
1466
1467         * target.h (struct gcc_target): Add mode_dependent_address_p field.
1468         * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
1469         (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
1470         * targhooks.c (default_mode_dependent_address_p): New function.
1471         * targhooks.h (default_mode_dependent_address_p): Declare function.
1472         * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
1473         (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
1474         * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p
1475         target hook. Change return type to bool.
1476         * recog.h: (mode_dependent_address_p): Change return type to bool.
1477
1478 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
1479             Nathan Froyd  <froydnj@codesourcery.com>
1480
1481         * tree-mudflap.c (build_function_type_0, build_function_type_1,
1482         build_function_type_2, build_function_type_3): Remove.
1483         (mudflap_init): Use build_function_type_list.
1484
1485 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
1486             Nathan Froyd  <froydnj@codesourcery.com>
1487
1488         * coverage.c (build_fn_info_value): Call build_constructor instead of
1489         build_constructor_from_list.
1490         (build_ctr_info_value): Likewise.
1491         (build_gcov_info): Likewise.
1492
1493 2010-05-12  Nathan Froyd  <froydnj@codesourcery.com>
1494
1495         * tree.c (build_constructor): Compute TREE_CONSTANT for the
1496         resultant constructor.
1497         (build_constructor_single): Don't set TREE_CONSTANT.
1498         (build_constructor_from_list): Don't compute TREE_CONSTANT.
1499
1500 2010-05-12  Jan Hubicka  <jh@suse.cz>
1501
1502         * cgraph.h (struct varpool_node): Add aux.
1503         * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
1504         * varpool.c (varpool_remove_node): Do not remove initializer.
1505         (varpool_reset_queue): Export.
1506         (varpool_finalize_decl): Volatile vars are forced to be output.
1507         * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
1508         replaced decl.
1509         * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
1510         process_references, varpool_can_remove_if_no_refs): New functions.
1511         (cgraph_remove_unreachable_nodes): Handle variables too.
1512
1513 2010-05-12  H.J. Lu  <hongjiu.lu@intel.com>
1514
1515         PR target/44088
1516         * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
1517
1518 2010-05-12  Jakub Jelinek  <jakub@redhat.com>
1519
1520         PR middle-end/44085
1521         * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
1522         change value of ORT_TASK.
1523         (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
1524         (omp_notice_threadprivate_variable): New function.
1525         (omp_notice_variable): Call it for threadprivate variables.
1526         If enclosing ctx is a task, print enclosing task rather than
1527         enclosing parallel.  Handle ORT_UNTIED_TASK like ORT_TASK.
1528         (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
1529         if task has untied clause.
1530
1531         PR debug/42278
1532         * dwarf2out.c (base_type_die): Don't add name attribute here.
1533         (modified_type_die): Instead of sizetype use
1534         its underlying original type.  If a DW_TAG_base_type doesn't
1535         have name added, add __unknown__.
1536         (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
1537         always call force_type_die instead.
1538
1539 2010-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
1540
1541         * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
1542         for __stack_chk_guard.
1543
1544 2010-05-11  Jakub Jelinek  <jakub@redhat.com>
1545
1546         * c-opts.c (c_common_parse_file): If start_end_main_source_file,
1547         don't call start_source_file debug hook here...
1548         (finish_options): ... but here, after outputting predefined and
1549         command line defines and undefs.
1550
1551         PR middle-end/44071
1552         * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
1553         no fallthru edge.
1554         * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
1555         optimizing away empty bb with no successors, move over its
1556         footer chain to fallthru predecessor.
1557         * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
1558         (rtl_split_edge): For asm goto call patch_jump_insn even if
1559         splitting fallthru edge.
1560
1561         PR c++/44059
1562         * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
1563         even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
1564         * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1565         * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
1566         on DW.ref.* decls.
1567
1568         PR c++/44062
1569         * c-parser.c (c_parser_expression): Mark LHS of a comma
1570         expression as read if it is a decl, handled component or
1571         COMPOUND_EXPR with that on the RHS.
1572         * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
1573         if it is a decl or handled component.
1574
1575 2010-05-11  Jan Hubicka  <jh@suse.cz>
1576
1577         * lto-symtab.c (lto_symtab_free): New function.
1578         * lto-streamer.h (lto_symtab_free): Declare.
1579
1580 2010-05-11  Jan Hubicka  <jh@suse.cz>
1581
1582         * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
1583         that if function is needed it is reachable.
1584         (lto_output_node): See if it the function is reachable or referenced.
1585         (output_cgraph): Update call of lto_output_node.
1586         * lto-streamer.h (reachable_from_other_partition_p): Declare.
1587
1588 2010-05-11  Jan Hubicka  <jh@suse.cz>
1589
1590         * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
1591         Mark as used.
1592
1593 2010-05-11  Jan Hubicka  <jh@suse.cz>
1594
1595         PR tree-optimize/44063
1596         * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
1597         queue.
1598         (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
1599         limits.
1600         (estimate_function_body_sizes): Compute sizes even when disregarding.
1601
1602 2010-05-11  Kai Tietz  <kai.tietz@onevision.com>
1603
1604         * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
1605
1606 2010-05-11  Jan Hubicka  <jh@suse.cz>
1607
1608         * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
1609         into every boundary.
1610
1611 2010-05-11  Jan Hubicka  <jh@suse.cz>
1612
1613         * matrix-reorg.c (matrix_reorg): Rebuild edges.
1614
1615 2010-05-11  Jan Hubicka  <jh@suse.cz>
1616
1617         * lto-streamer.c (lto_streamer_cache_add_to_node_array,
1618         lto_streamer_cache_delete): Put nodes into heap.
1619         * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
1620         heap.
1621
1622 2010-05-11  Jan Hubicka  <jh@suse.cz>
1623
1624         * cgraphbuild.c (cgraph_rebuild_references): New.
1625         * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
1626         out extern inlines.
1627         * cgraph.h (cgraph_rebuild_references): Declare.
1628         * tree-inline.c (tree_function_versioning): Use it.
1629         * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
1630
1631 2010-05-11  Jan Hubicka  <jh@suse.cz>
1632
1633         * cgraph.c: Include ipa-utils.h
1634         (cgraph_create_virtual_clone): Update references.
1635         * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
1636
1637 2010-05-11  Christian Borntraeger  <borntraeger@de.ibm.com>
1638
1639         * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
1640         prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
1641         cache size.
1642
1643 2010-05-11  Christian Borntraeger  <borntraeger@de.ibm.com>
1644
1645         * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
1646
1647 2010-05-11  Jakub Jelinek  <jakub@redhat.com>
1648
1649         * gcc.c (execute): For -### don't quote arguments that
1650         contain just alphanumerics and _/-. characters.
1651         * doc/invoke.texi: Document that change for -###.
1652
1653         PR debug/44023
1654         * df-problems.c (struct dead_debug): Add to_rescan field.
1655         (dead_debug_init): Clear to_rescan field.
1656         (dead_debug_finish): Rescan all debug insns in to_rescan
1657         bitmap and free the bitmap.
1658         (dead_debug_insert_before): Instead of rescanning debug insns
1659         immediately queue their rescanning until dead_debug_finish.
1660         (df_note_bb_compute): After dead_debug_add do continue instead
1661         of break.
1662
1663 2010-05-10  Jakub Jelinek  <jakub@redhat.com>
1664
1665         PR debug/44028
1666         * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
1667         clear also INSN_REG_USE_LIST.
1668
1669 2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1670
1671         * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
1672
1673 2010-05-10  Jan Hubicka  <jh@suse.cz>
1674
1675         * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
1676         commited change.
1677
1678 2010-05-10  Jan Hubicka  <jh@suse.cz>
1679
1680         * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
1681         Allocate encoders.
1682         * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
1683         * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
1684         (lto_streamer_cache_create): Init alloc pool.
1685         (lto_streamer_cache_delete): Free alloc pool.
1686         * lto-streamer.h: Include alloc pool.
1687         (lto_streamer_cache_d): Use alloc pool.
1688         * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
1689
1690 2010-05-10  Jan Hubicka  <jh@suse.cz>
1691
1692         * Makefile.in (cgraphbuild.o): Add dependency on except.h.
1693         * cgraphbuild.c: Include except.h
1694         (record_type_list, record_eh_tables): New function.
1695         (build_cgraph_edges, rebuild_cgraph_edges): Use it.
1696
1697 2010-05-10  Jan Hubicka  <jh@suse.cz>
1698
1699         * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
1700         __frame_dummy_init_array_entry, force_to_data): Attribute as used
1701         rather than unused.
1702
1703 2010-05-10  Michael Matz  <matz@suse.de>
1704
1705         * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
1706         (can_reassociate_p): Use FLOAT_TYPE_P.
1707         * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
1708         (vect_force_simple_reduction): ... this.
1709         * tree-parloops.c (gather_scalar_reductions): Use
1710         vect_force_simple_reduction.
1711         * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
1712         vect_is_simple_reduction, add modify argument, if true rewrite
1713         "a-b" into "a+(-b)".
1714         (vect_is_simple_reduction, vect_force_simple_reduction): New
1715         functions.
1716         (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
1717
1718 2010-05-10  H.J. Lu  <hongjiu.lu@intel.com>
1719             Vladimir Makarov  <vmakarov@redhat.com>
1720
1721         PR rtl-optimization/44012
1722         * ira-build.c (remove_unnecessary_allocnos): Nullify
1723         regno_allocno_map of the removed allocno.
1724
1725 2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1726
1727         * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
1728         to /dev/null.
1729         * configure: Regenerate.
1730
1731 2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1732
1733         * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
1734         unused.
1735         Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
1736         * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
1737         support in Sun ld.
1738         * configure: Regenerate.
1739
1740 2010-05-10  Richard Guenther  <rguenther@suse.de>
1741
1742         * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
1743         marked if the entry identifier is marked.
1744
1745 2010-05-10  Richard Guenther  <rguenther@suse.de>
1746
1747         * c-common.c (struct c_common_attributes): Add fnspec attribute.
1748         (handle_fnspec_attribute): New function.
1749         * gimple.h (gimple_call_return_flags): Declare.
1750         (gimple_call_arg_flags): Likewise.
1751         * gimple.c (gimple_call_arg_flags): New function.
1752         (gimple_call_return_flags): Likewise.
1753         * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
1754         New argument flags.
1755         (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
1756         return value flags.
1757         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
1758         * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
1759         main work to ...
1760         (make_heapvar_for): ... this new function.
1761         (handle_rhs_call): Handle fnspec attribute argument specifiers.
1762         (handle_lhs_call): Likewise.
1763         (find_func_aliases): Adjust.
1764
1765 2010-05-10  Richard Guenther  <rguenther@suse.de>
1766
1767         PR tree-optimization/44050
1768         * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
1769
1770 2010-05-10  Wei Guozhi  <carrot@google.com>
1771
1772         PR target/42879
1773         * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
1774
1775 2010-05-09  Joseph Myers  <joseph@codesourcery.com>
1776
1777         PR c/10676
1778         * c-typeck.c (lookup_field): Take a type directly.  Update
1779         recursive calls.
1780         (build_component_ref): Update call to lookup_field.
1781         (set_init_label): Use lookup_field to find initialized field.
1782         Handle returned list of fields like a sequence of designators.
1783
1784 2010-05-09  Richard Guenther  <rguenther@suse.de>
1785
1786         PR middle-end/44024
1787         * fold-const.c (tree_single_nonzero_warnv_p): Properly
1788         handle &FUNCTION_DECL.
1789
1790 2010-05-09  Joseph Myers  <joseph@codesourcery.com>
1791
1792         PR c/4784
1793         * c-decl.c (detect_field_duplicates_hash): New.  Handle anonymous
1794         structures and unions recursively.
1795         (detect_field_duplicates): Move duplicate detection with a hash to
1796         detect_field_duplicates_hash.  Always use a hash if anonymous
1797         structures or unions are present.
1798         * doc/extend.texi (Unnamed Fields): Document that duplicate fields
1799         give errors.
1800
1801 2010-05-09  H.J. Lu  <hongjiu.lu@intel.com>
1802
1803         PR target/44046
1804         * config/i386/driver-i386.c (host_detect_local_cpu): Properly
1805         detect Atom, Core 2 and Core i7.
1806
1807 2010-05-09  Richard Guenther  <rguenther@suse.de>
1808
1809         * gcc.c (store_arg): Handle temporary file deletion for
1810         joined arguments.
1811
1812 2010-05-09  Richard Guenther  <rguenther@suse.de>
1813
1814         PR middle-end/44043
1815         * ipa-inline.c (estimate_function_body_sizes): Return after
1816         disregarding inline limits.
1817
1818 2010-05-09  Richard Guenther  <rguenther@suse.de>
1819
1820         * gcc.c (store_arg): Revert last change.
1821
1822 2010-05-08  Sandra Loosemore  <sandra@codesourcery.com>
1823
1824         PR middle-end/28685
1825         * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
1826         (optimize_ops_list): Call it.
1827
1828 2010-05-08  Richard Guenther  <rguenther@suse.de>
1829
1830         PR tree-optimization/44030
1831         * tree-ssa-pre.c (eliminate): Copy NECESSARY flag.  Set
1832         NECESSARY flag if we propagate from a inserted expression.
1833
1834 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
1835
1836         * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
1837         domain types as equal if they are both PLACEHOLDER_EXPRs.
1838
1839 2010-05-08  Richard Guenther  <rguenther@suse.de>
1840
1841         * lto-wrapper.c (run_gcc): Remove linker output from
1842         command line for LTRANS invocation.
1843
1844 2010-05-07  Steven Bosscher  <steven@gcc.gnu.org>
1845
1846         * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
1847         lto-macho as lto_binary_reader.
1848         * target.h (struct gcc_target): New hooks lto_start and lto_end.
1849         * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
1850         * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
1851         in lto_start and lto_end calls.
1852         (is_elf_or_coff): Rename to maybe_lto_object_file.  Add Mach-O
1853         magic numbers.
1854         (scan_prog_file): Update is_elf_or_coff call.
1855         * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
1856
1857         * collect2.c (main): Fix enum comparison.
1858
1859         * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
1860         Add prototypes.
1861         * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
1862         * darwin.h (LINK_COMMAND_SPEC): Likewise.  Define TARGET_ASM_LTO_START
1863         and TARGET_ASM_LTO_END.
1864         * darwin.c: Include obstack.h and lto-streamer.h.
1865         (lto_section_names_offset, lto_section_names_obstack,
1866         lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
1867         global variables.
1868         (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
1869         (darwin_asm_lto_start): New function.  Redirect output to asm_out_file
1870         to a temporary file.
1871         (darwin_asm_lto_end): New function.  Restore asm_out_file.
1872         (darwin_asm_named_section): For LTO sections, replace the name with
1873         the offset of the section name in a string table, and build this
1874         table.
1875         (darwin_file_start): Initialize global vars for LTO support.
1876         (darwin_file_end): If output to asm_out_file was redirected, append it
1877         to the proper asm_out_file here.  Add the section names section.
1878
1879 2010-05-07  Steven Bosscher  <steven@gcc.gnu.org>
1880
1881         * c-pragma.c (pending_weak_d, pending_weak): New.
1882         (pending_weaks): Change the type to VEC((pending_weak,gc) *.
1883         (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
1884         handle_pragma_weak): Update the uses of pending_weaks.
1885
1886 2010-05-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1887
1888         PR documentation/44016
1889         * doc/standards.texi (Standards): Link to unversioned
1890         cxx0x_status.html page.
1891
1892 2010-05-07  Iain Sandoe <iains@gcc.gnu.org>
1893
1894         PR target/43708
1895         * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
1896         in addition to TREE_USED, to avoid "set but unused" warnings.
1897
1898 2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
1899
1900         * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
1901         (is_loop_prefetching_profitable): Do not insert prefetches
1902         when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
1903         times the prefetch ahead distance.
1904
1905 2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
1906
1907         * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
1908         Account for loop unrolling in the insn-to-prefetch ratio heuristic.
1909         (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
1910         the unroll_factor.
1911
1912 2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
1913
1914         * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
1915         a diagnostic info when the insn-to-mem ratio is too small.
1916
1917 2010-05-07  Richard Guenther <rguenther@suse.de>
1918
1919         * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
1920         the linker plugin.
1921         (store_arg): Queue temp_filename for deletion instead of
1922         the whole argument.
1923
1924 2010-05-07  Richard Guenther  <rguenther@suse.de>
1925
1926         * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
1927         (run_gcc): Handle LTRANS phase invocation.
1928         * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
1929
1930 2010-05-07  Jakub Jelinek  <jakub@redhat.com>
1931
1932         * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
1933         this is also meaningful on PARM_DECLs and RESULT_DECLs.
1934
1935 2010-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1936
1937         * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
1938
1939 2010-05-07  Richard Guenther  <rguenther@suse.de>
1940
1941         PR tree-optimization/44020
1942         * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
1943         code when PRE is not yet initialized.
1944
1945 2010-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1946
1947         * config/mips/dbxmdebug.h: Remove.
1948         * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
1949
1950 2010-05-07  Shujing Zhao  <pearly.zhao@oracle.com>
1951
1952         * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
1953         with null pointer and also warn about ordered comparison of zero with
1954         pointer if -Wextra.
1955
1956 2010-05-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
1957
1958         * graphite-blocking.c
1959         (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
1960         * graphite-clast-to-gimple.c
1961         (clast_to_gcc_expression): Same.
1962         (precision_for_value): Same.
1963         (precision_for_interval): Same.
1964         (gcc_type_for_interval): Same.
1965         (graphite_create_new_guard): Same.
1966         (compute_bounds_for_level): Same.
1967         (graphite_create_new_loop_guard): Same.
1968         * graphite-interchange.c
1969         (build_linearized_memory_access): Same.
1970         (pdr_stride_in_loop): Same.
1971         (memory_strides_in_loop_1): Same.
1972         (memory_strides_in_loop): Same.
1973         (extend_scattering): Same.
1974         (psct_scattering_dim_for_loop_depth): Same.
1975         (pbb_number_of_iterations): Same.
1976         * graphite-poly.h
1977         (debug_iteration_domains): Same.
1978         * graphite-ppl.c
1979         (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
1980         (ppl_set_inhomogeneous_gmp): Same.
1981         (ppl_strip_loop): Same.
1982         (ppl_lexico_compare_linear_expressions): Same.
1983         (ppl_read_polyhedron_matrix): Same.
1984         (ppl_max_for_le_pointset): Same.
1985         * graphite-ppl.h
1986         (ppl_read_polyhedron_matrix): Same.
1987         (tree_int_to_gmp): Same.
1988         (gmp_cst_to_tree): Same.
1989         (ppl_set_inhomogeneous): Same.
1990         (ppl_set_inhomogeneous_tree): Same.
1991         (ppl_set_coef): Same.
1992         (ppl_set_coef_tree): Same.
1993         * graphite-sese-to-poly.c
1994         (build_pbb_scattering_polyhedrons): Same.
1995         (build_scop_scattering): Same.
1996         (scan_tree_for_params_right_scev): Same.
1997         (scan_tree_for_params): Same.
1998         (find_params_in_bb): Same.
1999         (find_scop_parameters): Same.
2000         (add_upper_bounds_from_estimated_nit): Same.
2001         (build_loop_iteration_domains): Same.
2002         (add_condition_to_domain): Same.
2003         (pdr_add_memory_accesses): Same.
2004
2005 2010-05-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
2006
2007         * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
2008         CLooG's value_* macros to their respective mpz_* counterparts.
2009         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
2010         (graphite_create_new_loop_guard): Same.
2011         * graphite-interchange.c (build_linearized_memory_access): Same.
2012         (pdr_stride_in_loop): Same.
2013         (memory_strides_in_loop_1): Same.
2014         (1st_interchange_profitable_p): Same.
2015         * graphite-poly.c (extend_scattering): Same.
2016         (psct_scattering_dim_for_loop_depth): Same.
2017         (pbb_number_of_iterations): Same.
2018         (pbb_number_of_iterations_at_time): Same.
2019         * graphite-poly.h (new_1st_loop): Same.
2020         * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
2021         (oppose_constraint): Same.
2022         (insert_constraint_into_matrix): Same.
2023         (ppl_set_inhomogeneous_gmp): Same.
2024         (ppl_set_coef_gmp): Same.
2025         (ppl_strip_loop): Same.
2026         (ppl_lexico_compare_linear_expressions): Same.
2027         (ppl_max_for_le_pointset): Same.
2028         (ppl_min_for_le_pointset): Same.
2029         (ppl_build_realtion): Same.
2030         * graphite-ppl.h (gmp_cst_to_tree): Same.
2031         (ppl_set_inhomogeneous): Same.
2032         (ppl_set_inhomogeneous_tree): Same.
2033         (ppl_set_coef): Same.
2034         (ppl_set_coef_tree): Same.
2035         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
2036         (build_scop_scattering): Same.
2037         (add_value_to_dim): Same.
2038         (scan_tree_for_params_right_scev): Same.
2039         (scan_tree_for_params_int): Same.
2040         (scan_tree_for_params): Same.
2041         (find_params_in_bb): Same.
2042         (find_scop_parameters): Same.
2043         (add_upper_bounds_from_estimated_nit): Same.
2044         (build_loop_iteration_domains): Same.
2045         (create_linear_expr_from_tree): Same.
2046         (add_condition_to_domain): Same.
2047         (pdr_add_memory_accesses): Same.
2048
2049 2010-05-06  Magnus Fromreide  <magfr@lysator.liu.se>
2050             Jason Merrill  <jason@redhat.com>
2051
2052         * c-common.c (c_common_reswords): Add nullptr.
2053         * c-common.h: Add RID_NULLPTR.  Reorganize C++0x rids.
2054         * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
2055         (gen_type_die_with_usage): Likewise.
2056         * dbxout.c (dbxout_type): Likewise.
2057         * sdbout.c (plain_type_1): Likewise.
2058
2059 2010-05-06  Jason Merrill  <jason@redhat.com>
2060
2061         * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
2062         Don't change GS_OK to GS_ALL_DONE.  Make sure that all cases set
2063         ret appropriately.
2064         (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
2065
2066         * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
2067         stripping WITH_SIZE_EXPR.
2068         (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
2069         change.
2070
2071 2010-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2072
2073         * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
2074         list of obsolete configurations.
2075         Disabled check for obsolete configurations.
2076         (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
2077         Removed support for previous versions.
2078         * config/mips/iris.h: Removed.
2079         * config/mips/iris5.h: Removed.
2080         * config/mips/iris6.h: Merged old iris.h contents.
2081         (TARGET_IRIX): Removed.
2082         (DRIVER_SELF_SPECS): Removed mabi=32.
2083         (IDENT_ASM_OP): Removed undef.
2084         (STARTFILE_SPEC): Removed mabi=32.
2085         (ENDFILE_SPEC): Likewise.
2086         (IRIX_SUBTARGET_LINK_SPEC): Likewise.
2087         (MACHINE_TYPE): Update for IRIX 6.5.
2088         * config/mips/mips.c (mips_build_builtin_va_list): Replaced
2089         TARGET_IRIX by TARGET_IRIX6.
2090         (mips_file_start): Likewise.
2091         (mips_output_external): Remove IRIX 5/6 O32 support.
2092         (mips_output_function_prologue): Likewise.
2093         * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
2094         TARGET_IRIX6.
2095         (TARGET_CPU_CPP_BUILTINS): Likewise.
2096         (TARGET_IRIX): Removed.
2097         * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
2098         (MULTILIB_DIRNAMES): Removed 32.
2099         (MULTILIB_OSDIRNAMES): Removed ../lib.
2100         * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
2101         (Specific, mips-sgi-irix5): Document removal.
2102         (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
2103         Remove references to older IRIX 6 releases and the O32 ABI.
2104
2105 2010-05-06  Jakub Jelinek  <jakub@redhat.com>
2106
2107         PR bootstrap/43994
2108         * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
2109         instead of DF_REF_REAL_REG.
2110
2111 2010-05-06  Dave Korn  <dave.korn.cygwin@gmail.com>
2112
2113         PR target/43888
2114         * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
2115         handling to still return true for x64 targets.
2116
2117 2010-05-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
2118
2119         * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
2120
2121 2010-05-06  Jan Hubicka  <jh@suse.cz>
2122
2123         PR tree-optimization/43791
2124         * ipa-inline.c (update_caller_keys): Remove bogus
2125         disregard_inline_limits check.
2126
2127 2010-05-06  Michael Matz  <matz@suse.de>
2128
2129         PR tree-optimization/43984
2130         * tree-ssa-pre.c (inserted_phi_names): Remove.
2131         (inserted_exprs): Change to bitmap.
2132         (create_expression_by_pieces): Set bits, don't append to vector.
2133         (insert_into_preds_of_block): Don't handle inserted_phi_names.
2134         (eliminate): Don't look at inserted_phi_names, remove deleted
2135         insns from inserted_exprs.
2136         (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
2137         (init_pre, fini_pre): Allocate and free bitmaps.
2138         (execute_pre): Insert insns on edges before elimination.
2139
2140 2010-05-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
2141
2142         * tree.c (initializer_zerop): Handle STRING_CST.
2143
2144 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2145
2146         PR 40989
2147         * doc/invoke.texi (Wimplicit): Document as C only.
2148         * opts.c (common_handle_option): Add argument kind.
2149         (handle_option): Rename as read_cmdline_option. Factor out code to...
2150         (handle_option): ... here. New.
2151         (handle_options): Rename as read_cmdline_options.
2152         (decode_options): Update call.
2153         (set_option): Use option index instead of option pointer. Classify
2154         diagnostics correctly.
2155         (enable_warning_as_error): Call handle_option.
2156         * opts.h (set_option): Update declaration.
2157         (handle_option): Declare.
2158         * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
2159         * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
2160         * c-opts.c (set_Wimplicit): Delete.
2161         (c_family_lang_mask): New static constant.
2162         (c_common_handle_option): Add argument kind. Use handle_option
2163         instead of set_Wimplicit.
2164         (c_common_post_options): warn_implicit and warn_implicit_int
2165         are disabled by default.
2166         * c-common.c (warn_implicit): Do not define here.
2167         * c-common.h (warn_implicit): Do not declare here.
2168         (c_common_handle_option): Update declaration.
2169         * lto-opts.c (lto_reissue_options): Update call to set_option.
2170
2171 2010-05-06  Richard Guenther  <rguenther@suse.de>
2172
2173         PR tree-optimization/43571
2174         * domwalk.c (walk_dominator_tree): Walk the dominator
2175         sons in more optimal order.
2176
2177 2010-05-06  Richard Guenther  <rguenther@suse.de>
2178
2179         PR tree-optimization/43934
2180         * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
2181         (stmt_cost): Likewise.
2182         (extract_true_false_args_from_phi): New helper.
2183         (determine_max_movement): For PHI nodes verify we can hoist them
2184         and compute their cost.
2185         (determine_invariantness_stmt): Handle PHI nodes.
2186         (move_computations_stmt): Likewise.  Hoist PHI nodes in
2187         if-converted form using COND_EXPRs.
2188         (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
2189         (tree_ssa_lim): Likewise.
2190         * tree-flow.h (tree_ssa_lim): Adjust prototype.
2191         * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
2192
2193 2010-05-06  Richard Guenther  <rguenther@suse.de>
2194
2195         PR tree-optimization/43987
2196         * tree-ssa-structalias.c (could_have_pointers): For possibly
2197         address-taken variables force pointers to be recorded.
2198         (create_variable_info_for_1): Likewise.
2199         (push_fields_onto_fieldstack): Pass in wheter all fields
2200         must have pointers.
2201         (find_func_aliases): Query types instead of vars whether
2202         they contain pointers where appropriate.
2203
2204 2010-05-06  Jan Hubicka  <jh@suse.cz>
2205
2206         * cgraphbuild.c (record_reference_ctx): Add varpool_node.
2207         (record_reference, mark_address, mark_load, mark_store): Record
2208         references.
2209         (record_references_in_initializer): Update call of record_references.
2210         (rebuild_cgraph_edges): Remove all references before rebuiding.
2211         * cgraph.c (cgraph_create_node): Clear ref list.
2212         (cgraph_remove_node): Remove references.
2213         (dump_cgraph_node): Dump references.
2214         (cgraph_clone_node): Clone references.
2215         * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
2216         (struct cgraph_node, varpool_node): Add ref_lst.
2217         * ipa-ref.c: New file.
2218         * ipa-ref.h: New file.
2219         * ipa-ref-inline.h: New file.
2220         * lto-cgraph.c (output_varpool): Take cgrag node set argument.
2221         (referenced_from_other_partition_p): New function.
2222         (lto_output_varpool_node): Take set arugment; call
2223         referenced_from_other_partition.
2224         (lto_output_ref): New.
2225         (add_references): New.
2226         (output_refs): New.
2227         (output_cgraph): Compute boundary based on references; output refs.
2228         (output_varpool): Accept cgraph_node_set argument.
2229         (input_ref): New.
2230         (input_refs): New.
2231         (input_cgraph): Call input_refs.
2232         * lto-section-in.c (lto_section_name): Add refs.
2233         * Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
2234         (ipa-ref.o): New file.
2235         * varpool.c (varpool_node): Clear ipa ref list.
2236         (varpool_remove_node): Remove references.
2237         (dump_varpool_node): Dump references.
2238         (varpool_assemble_decl): Only compile finalized ones.
2239         (varpool_extra_name_alias): Initialize ref list.
2240         * lto-streamer.c (lto-get_section_name): Add .refs section.
2241         * lto-streamer.h (lto_section_type): Add LTO_section_refs.
2242         (referenced_from_other_partition_p): Declared.
2243
2244 2010-05-06  Ira Rosen  <irar@il.ibm.com>
2245
2246         PR tree-optimization/43901
2247         * tree-vect-stmts.c (vectorizable_call): Assert that vector
2248         type is not NULL if it's transformation phase, and return
2249         FALSE if it's analysis.
2250         (vectorizable_conversion, vectorizable_operation,
2251         vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
2252
2253 2010-05-05  Andrew Pinski  <andrew.pinski@caviumnetworks.com>
2254
2255         * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
2256         Delete.
2257         * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
2258         New define.
2259         * config/mips/mips-protos.h
2260         (mips_small_register_classes_for_mode_p): Delete prototype.
2261
2262 2010-05-06  Bernd Schmidt  <bernds@codesourcery.com>
2263
2264         * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
2265         * config/arm/arm.c (multiple_operation_profitable_p,
2266         compute_offset_order): New static functions.
2267         (load_multiple_sequence, store_multiple_sequence): Use them.
2268         Replace constant 4 with MAX_LDM_STM_OPS.  Compute order[0] from
2269         memory offsets, not register numbers.
2270         (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
2271
2272 2010-05-05  Steven Bosscher  <steven@gcc.gnu.org>
2273
2274         * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
2275         (get_pending_sizes, put_pending_size, put_pending_sizes):
2276         Update the uses of pending_sizes.
2277         * c-decl.c (store_parm_decls): Likewise.
2278         * c-tree.h (struct c_arg_info): Likewise.
2279         * tree.h: Update the prototype for get_pending_sizes and
2280         put_pending_sizes.
2281
2282 2010-05-05  Jason Merrill  <jason@redhat.com>
2283
2284         PR debug/43370
2285         * c-common.c (handle_aligned_attribute): Respect
2286         ATTR_FLAG_TYPE_IN_PLACE.
2287
2288         PR testsuite/43758
2289         * target.h (struct gcc_target): Add attribute_takes_identifier_p.
2290         * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
2291         (TARGET_INITIALIZER): Use it.
2292         * c-common.c (attribute_takes_identifier_p): Call it.
2293         * c-common.h: Update prototype.
2294         * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
2295         (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
2296
2297 2010-05-05  Jakub Jelinek  <jakub@redhat.com>
2298
2299         PR debug/43950
2300         * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
2301         DW_ID_down_case for Fortran compilation units.
2302
2303 2010-05-05  Jan Hubicka  <jh@suse.cz>
2304
2305         * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
2306         handle aliases.
2307
2308 2010-05-05  Eric Botcazou  <ebotcazou@adacore.com>
2309
2310         * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
2311         a variable-sized RESULT_DECL.
2312
2313 2010-05-05  Maxim Kuvyrkov  <maxim@codesourcery.com>
2314
2315         * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
2316
2317 2010-05-05  Jason Merrill  <jason@redhat.com>
2318
2319         PR c++/43787
2320         * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
2321         returns GS_OK.
2322         (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
2323
2324 2010-05-05  Alexandre Oliva  <aoliva@redhat.com>
2325             Jakub Jelinek  <jakub@redhat.com>
2326
2327         PR debug/43478
2328         * df-problems.c (struct dead_debug_use, struct dead_debug): New.
2329         (dead_debug_init, dead_debug_finish): New functions.
2330         (dead_debug_add, dead_debug_insert_before): Likewise.
2331         (df_note_bb_compute): Initialize a dead_debug object, add dead
2332         debug uses to it, insert debug bind insns before death insns,
2333         reset debug insns that refer to pending uses at the end.
2334         * rtl.h (make_debug_expr_from_rtl): New prototype.
2335         * varasm.c (make_debug_expr_from_rtl): New function.
2336
2337 2010-05-05  Jan Hubicka  <jh@suse.cz>
2338
2339         * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
2340         (lto_varpool_encoder_new, lto_varpool_encoder_delete,
2341         lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
2342         lto_varpool_encoder_deref, lto_varpool_encoder_size,
2343         lto_varpool_encoder_encode_initializer_p,
2344         lto_set_varpool_encoder_encode_initializer): New functions.
2345         (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
2346         call output_varpool.
2347         (input_varpool_node): Do not always set analyzed.
2348         (input_cgraph_1): Return vector of cgraph nodes.
2349         (input_varpool_1): Return vector of varpools.
2350         (input_cgraph): Free the vectors.
2351         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
2352         output only initializers needed.
2353         (lto_output): Only call output_cgraph.
2354         (produce_asm_for_decls): Call lto_varpool_encoder_delete.
2355         * lto-section-out.c (lto_new_out_decl_state): Initialize
2356         state->varpool_node_encoder.
2357         * lto-streamer.h (lto_varpool_encoder_d): New.
2358         (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
2359         (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
2360         (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
2361         lto_varpool_encoder_encode, lto_varpool_encoder_delete,
2362         lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
2363         Declare.
2364         (output_varpool, input_varpool): Remove declarations.
2365
2366 2010-05-05  Jan Hubicka  <jh@suse.cz>
2367
2368         * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
2369         with body can prevail.
2370
2371 2010-05-05  Jan Hubicka  <jh@suse.cz>
2372
2373         * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
2374         size.
2375
2376 2010-05-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2377
2378         * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
2379
2380         * gengtype.h (erro_at_line): Constify pos argument.
2381
2382         * gengtype.c: Include hashtab.h.
2383         (enum gc_used): Document GC_MAYBE_POINTED_TO.
2384         (error_at_line): Constify pos argument.
2385         (do_typedef): Initialize p->opt field.
2386         (get_file_gtfilename): Fix comment typo.
2387         (struct walk_type_data): Constify line field.
2388         (get_output_file_for_structure): New function.
2389         (write_local_func_for_structure): Constify orig_s argument.
2390         Use get_output_file_for_structure.
2391         (write_func_for_structure): Use get_output_file_for_structure.
2392         (INDENT): New define.
2393         (dump_pair, dump_type, dump_type_list, dump_typekind)
2394         (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
2395         (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
2396         functions.
2397         (seen_types): New variable.
2398         (main): New variable do_dump.  Process "-d" command line option.
2399         Call dump_everything if dump requested.
2400
2401 2010-05-05  Jakub Jelinek  <jakub@redhat.com>
2402
2403         * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
2404         in a temporary instead of invoking the macro multiple times.
2405         (track_expr_p): Likewise.
2406
2407 2010-05-04  Neil Vachharajani <nvachhar@google.com>
2408
2409         * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
2410         per new semantics.
2411         * opts.c (decode_options): Enable -Werror=coverage-mismatch.
2412         * coverage.c (get_coverage_counts): Always emit a warning.  Adjust
2413         conditions for printing notes.
2414         * common.opt (-Wcoverage-mismatch): Allow negative, default to
2415         true, update documentation.
2416         * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
2417
2418 2010-05-04  Jakub Jelinek  <jakub@redhat.com>
2419
2420         PR c/43981
2421         * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
2422         on dimen.
2423
2424 2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
2425
2426         PR target/43799
2427         * config/i386/i386.md (sse_prologue_save): Clobber CC register.
2428         (*sse_prologue_save_insn1): Likewise.
2429         (SSE prologue save splitter): Likewise.
2430
2431 2010-05-04  Eric Botcazou  <ebotcazou@adacore.com>
2432
2433         * tree.c (free_lang_data_in_one_sizepos): New inline function.
2434         (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
2435         types.  Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
2436         (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
2437         all decls.  Call it on DECL_FIELD_OFFSET of fields.
2438         (find_decls_types_r): Follow DECL_VALUE_EXPR.
2439         (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
2440
2441 2010-05-04  Martin Jambor  <mjambor@suse.cz>
2442
2443         * tree-sra.c (build_access_from_expr_1): The first parameter type
2444         changed to simple tree.
2445         (build_access_from_expr): Likewise, gsi parameter was eliminated.
2446         (scan_assign_result): Renamed to assignment_mod_result, enum elements
2447         renamed as well.
2448         (build_accesses_from_assign): Removed all parameters except for a
2449         simple gimple statement.  Now returns a simple bool.
2450         (scan_function): All non-analysis parts moved to separate functions
2451         sra_modify_function_body and ipa_sra_modify_function_body.  Removed all
2452         parameters and updated both callers.
2453         (sra_modify_expr): Removed parameter data.
2454         (sra_modify_function_body): New function.
2455         (perform_intra_sra): Call sra_modify_function_body to modify the
2456         function body.
2457         (replace_removed_params_ssa_names): Parameter data changed into
2458         adjustments vector.
2459         (sra_ipa_modify_expr): Likewise.  Also removed unused parameter gsi and
2460         changed the parameter dont_convert to convert with the opposite
2461         meaning.
2462         (sra_ipa_modify_assign): Parameter data changed into adjustments
2463         vector, return value changed to bool.
2464         (ipa_sra_modify_function_body): New function.
2465         (sra_ipa_reset_debug_stmts): Updated a comment.
2466         (modify_function): Use ipa_sra_modify_function_body to modify function
2467         body.
2468
2469 2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
2470
2471         PR middle-end/43671
2472         * alias.c (true_dependence): Handle the same VALUE in x and mem.
2473         (canon_true_dependence): Likewise.
2474         (write_dependence_p): Likewise.
2475
2476 2010-05-04  Jan Hubicka  <jh@suse.cz>
2477
2478         * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
2479         * cgraphbuild.c: Include ipa-utils.h
2480         (record_reference_ctx): New struct.
2481         (record_reference): Simplify to work on initializers; not statements.
2482         (mark_address, mark_load, mark_store): New.
2483         (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
2484         walk PHI nodes too.
2485         (record_references_in_initializer): Update use of record_reference.
2486         (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
2487         walk PHI nodes too.
2488
2489 2010-05-04  Jan Hubicka  <jh@suse.cz>
2490
2491         * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
2492         node will be removed anyway.
2493         (lto_varpool_replace_node): Allow also unanalyzed nodes;
2494         relink aliases of node into prevailing node.
2495         * varpool.c (varpool_remove_node): Remove aliases properly;
2496         when removing node, remove all its aliases too; remove DECL_INITIAL
2497         of removed node; ggc_free the varpool node.
2498
2499 2010-05-04  Richard Guenther  <rguenther@suse.de>
2500
2501         PR tree-optimization/43879
2502         * tree-ssa-structalias.c (alias_get_name): Use
2503         DECL_ASSEMBLER_NAME if available.
2504         (create_function_info_for): Return the varinfo node.
2505         (ipa_pta_execute): Associate same-body aliases and extra names
2506         with their origin nodes varinfo.  Dump DECL_ASSEMBLER_NAME.
2507
2508 2010-05-04  Kaz Kojima  <kkojima@gcc.gnu.org>
2509
2510         * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
2511
2512 2010-05-04  Mikael Pettersson  <mikpe@it.uu.se>
2513
2514         PR bootstrap/43964
2515         * ira-color.c (assign_hard_reg): Declare rclass and add_cost
2516         only if HONOR_REG_ALLOC_ORDER is not defined.
2517
2518 2010-05-04  Richard Guenther  <rguenther@suse.de>
2519
2520         PR tree-optimization/43949
2521         * tree-vrp.c (extract_range_from_binary_expr): Only handle
2522         TRUNC_MOD_EXPR.
2523
2524 2010-04-26  Jason Merrill  <jason@redhat.com>
2525
2526         * c.opt (-fstrict-enums): New.
2527         * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
2528
2529 2010-05-03  David Ung <davidu@mips.com>
2530             James E. Wilson  <wilson@codesourcery.com>
2531
2532         * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
2533         emit the trap instruction before the divide for TUNE_74K.
2534
2535 2010-05-03  Steven Bosscher  <steven@gcc.gnu.org>
2536
2537         * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
2538         (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
2539         based on the above, for new target hook.
2540
2541         * hooks.c (hook_bool_mode_true): New generic hook.
2542         * hooks.h (hook_bool_mode_true): Add prototype.
2543
2544         * target.h (struct gcc_target): Add small_register_classes_for_mode_p
2545         target hook.
2546         * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
2547         target hook, set to hook_bool_mode_false.
2548         * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
2549         * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
2550         with targetm.small_register_classes_for_mode_p.
2551         (find_reusable_reload): Likewise.
2552         (combine_reloads): Likewise.
2553         * reload1.c (reload_as_needed): Likewise.
2554         * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
2555         * ifcvt.c (noce_process_if_block, check_cond_move_block,
2556         dead_or_predicable): Likewise.
2557         * regmove.c (optimize_reg_copy_1): Likewise.
2558         * calls.c (prepare_call_address): Likewise.
2559         (precompute_register_parameters): Likewise.
2560
2561         * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
2562         hook definition.
2563         * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
2564         implementation of the hook that considers all register classes
2565         small except for SH64.
2566         (sh_override_options): Use the new hook.
2567         * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
2568         Add prototype.
2569
2570         * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
2571         hook definition.
2572         * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
2573         implementation of the hook that considers all register classes
2574         small for THUMB1.
2575         * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
2576         Add prototype.
2577
2578         * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
2579         hook definition.
2580         * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
2581         implementation of the hook that considers all register classes
2582         small for MIPS16.
2583         * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
2584         Add prototype.
2585
2586         * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
2587         hook definition.
2588         * config/m32c/m32c.h: Likewise.
2589         * config/pdp11/pdp11.h: Likewise.
2590         * config/avr/avr.h: Likewise.
2591         * config/xtensa/xtensa.h: Likewise.
2592         * config/m68hc11/m68hc11.h: Likewise.
2593         * config/mn10300/mn10300.h: Likewise.
2594         * config/mcore/mcore.h: Likewise.
2595         * config/h8300/h8300.h: Likewise.
2596         * config/bfin/bfin.h: Likewise.
2597
2598         * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
2599         * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
2600
2601 2010-05-03  Anatoly Sokolov  <aesok@post.ru>
2602
2603         * double-int.h (tree_to_double_int): Remove macro.
2604         (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
2605         * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
2606         (tree_to_double_int): New function.
2607         * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
2608         Move ...
2609         * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
2610
2611 2010-05-03  Richard Guenther  <rguenther@suse.de>
2612
2613         PR tree-optimization/43971
2614         * tree-ssa-structalias.c (get_constraint_for_1): Fix
2615         constraints in the !flag_delete_null_pointer_checks case.
2616
2617 2010-05-03  Jakub Jelinek  <jakub@redhat.com>
2618
2619         PR debug/43972
2620         * config/i386/i386.c (ix86_delegitimize_address): Make sure the
2621         result mode matches original rtl mode.
2622
2623 2010-05-03  Dave Korn  <dave.korn.cygwin@gmail.com>
2624
2625         PR target/43888
2626         * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
2627
2628 2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
2629
2630         * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
2631         when processing flag options.
2632
2633 2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
2634
2635         * gcov-iov.c (main): Change format string placeholder
2636         from %#08x to 0x%08x.
2637         * genchecksum.c (dosum): Change format string placeholder
2638         from %#02x to 0x%02x.
2639
2640 2010-05-02  Richard Guenther  <rguenther@suse.de>
2641
2642         PR tree-optimization/43879
2643         * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
2644
2645 2010-05-02  Bruno Haible  <bruno@clisp.org>
2646
2647         * doc/extend.texi (Function Attributes): Fix a typo.
2648
2649 2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
2650
2651         Revert:
2652         * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
2653         placeholder from 0x%x to %#x.
2654         (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
2655         * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
2656         * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
2657         * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
2658         * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
2659         * config/i386/i386.c (ix86_target_string): Ditto.
2660         * config/i386/i386.c (output_pic_addr_const): Ditto.
2661         (print_operand): Ditto.
2662
2663 2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
2664
2665         * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
2666         placeholder from 0x%x to %#x.
2667         (ASM_OUTPUT_DEBUG_DATA1): Ditto.
2668         (ASM_OUTPUT_DEBUG_DATA4): Ditto.
2669         (ASM_OUTPUT_DEBUG_DATA): Ditto.
2670         (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
2671         (ASM_OUTPUT_DEBUG_DATA8): Ditto.
2672         * optc-gen.awk: Ditto.
2673         * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
2674         (HOST_WIDE_INT_PRINT_HEX): Ditto.
2675         (HOST_WIDEST_INT_PRINT_HEX): Ditto.
2676         (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
2677
2678 2010-05-01  Anatoly Sokolov  <aesok@post.ru>
2679
2680         * target.h (struct calls): Add function_value_regno_p field.
2681         * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
2682         (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
2683         * targhooks.c (default_function_value_regno_p): New function.
2684         * targhooks.h (default_function_value_regno_p): Declare function.
2685         * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
2686         * builtins.c. (apply_result_size): (Ditto.).
2687         * combine.c. (likely_spilled_retval_p): (Ditto.).
2688         * mode-switching.c. Include 'target.h'.
2689         (create_pre_exit): Use function_value_regno_p hook.
2690         * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
2691         * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
2692         TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
2693
2694         * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
2695         * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
2696         (ix86_function_value_regno_p): Declare as static, change argument
2697         type to const unsigned int.
2698         * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
2699
2700 2010-05-01  Richard Guenther  <rguenther@suse.de>
2701
2702         PR tree-optimization/43949
2703         * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
2704         types.
2705         (extract_range_from_binary_expr): Handle *_MOD_EXPR.
2706
2707 2010-05-01  Anatoly Sokolov  <aesok@post.ru>
2708
2709         * rtl.h (CONST_DOUBLE_P): Define.
2710         (rtx_to_double_int): Declare.
2711         * emit-rtl.c (rtx_to_double_int): New function.
2712         * dwarf2out.c (insert_double): New function.
2713         (loc_descriptor, add_const_value_attribute): Clean up, use
2714         rtx_to_double_int and insert_double functions.
2715
2716 2010-05-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2717
2718         * doc/extend.texi (Inline): Add missing return keyword to examples.
2719         (Function Attributes, Variable Attributes, Pragmas): Hyphenate
2720         "command-line".
2721
2722 2010-04-30  Eric Botcazou  <ebotcazou@adacore.com>
2723
2724         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
2725         the variable part of the offset as well.  Use highest_pow2_factor for
2726         all alignment checks.
2727
2728 2010-04-30  Richard Guenther  <rguenther@suse.de>
2729
2730         PR tree-optimization/43879
2731         * tree-ssa-structalias.c (type_could_have_pointers): Functions
2732         can have pointers.
2733
2734 2010-04-30  Jan Hubicka  <jh@suse.cz>
2735
2736         * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
2737         varpool.
2738         (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
2739
2740 2010-04-30  Jan Hubicka  <jh@suse.cz>
2741
2742         * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
2743         New.
2744         * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
2745         * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
2746         (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
2747         cgraph_node_set_needs_ltrans_p): Remove.
2748
2749 2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
2750
2751         * sdbout.c: Include vec.h, do not include varray.h.
2752         (deferred_global_decls, sdbout_global_decl,
2753         sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
2754         * toplev.c: Do not include varray.h.
2755         (dump_memory_report): Do not dump VARRAY statistics.
2756         * gengtype.c (open_base_file): Ignore varray.h.
2757         * Makefile.in: Update for abovementioned changes.
2758         Remove all traces of varray.c and varray.h.
2759         * varray.c: Remove file.
2760         * varray.h: Remove file.
2761
2762 2010-04-30  Jan Hubicka  <jh@suse.cz>
2763
2764         * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
2765         references.
2766
2767 2010-04-30  Jan Hubicka  <jh@suse.cz>
2768
2769         * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
2770         needed.
2771
2772 2010-04-30  Richard Guenther  <rguenther@suse.de>
2773
2774         * tree-ssa-structalias.c (get_constraint_for_1): Generate
2775         constraints for CONSTRUCTOR.
2776
2777 2010-04-30  Richard Guenther  <rguenther@suse.de>
2778
2779         PR lto/43946
2780         * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
2781         first after all lowering passes.
2782
2783 2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
2784
2785         * toplev.c: Include varray.h for statistics dumping.
2786         * tree.h: Do not declare varray_head_tag.
2787         * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
2788         regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
2789         c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
2790         gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
2791         lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
2792         tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
2793         c-common.c, c-common.h, reg-stack.c, basic-block.h,
2794         tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
2795         include varray.h.
2796         * Makefile.in: Update for abovementioned changes.
2797
2798 2010-04-30  Jakub Jelinek  <jakub@redhat.com>
2799
2800         PR debug/43942
2801         * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
2802
2803 2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
2804
2805         * config/picochip/picochip.c (picochip_legitimize_address): Define.
2806         Use this function to do machine-specific conversion.
2807         (picochip_legitimize_reload_address): Likewise.
2808         (picochip_legitimate_address_p): Check valid base register only if
2809         strict.
2810         (picochip_check_conditional_copy): Check for modw only if opnd is
2811         register.
2812         * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
2813         to call the function in c.
2814         * config/picochip/picochip-protos.h
2815         (picochip_legitimize_reload_address): Define.
2816         * config/picochip/picochip.md (supported_compare1): Define.
2817
2818 2010-04-30  Jan Hubicka  <jh@suse.cz>
2819
2820         * cgraph.h (cgraph_local_info): Remove for_functions_valid.
2821         (cgraph_global_info): Remove inlined.
2822         (LTO_cgraph_tag_names): Remove.
2823         (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
2824         * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
2825         simplify cgraph tags and document.
2826         (lto_output_node): Use only LTO_cgraph_unavail_node and
2827         LTO_cgraph_analyzed_node; Do not save analzed, reachable,
2828         for_functions_valid, global info, process and output flags.
2829         (input_overwrite_node): Initialize estimated stack size and
2830         estimated growth.  Do not read flags we no longer store.
2831         (input_node): Likewise do not read info no longer stored.
2832         * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
2833         flag.
2834
2835 2010-04-30  Richard Guenther  <rguenther@suse.de>
2836
2837         PR tree-optimization/43879
2838         * tree-ssa-structalias.c (get_constraint_for_1): Properly
2839         handle non-zero initializers.
2840
2841 2010-04-30  Richard Guenther  <rguenther@suse.de>
2842
2843         * builtins.c (fold_builtin_1): Delete free (0).
2844
2845 2010-04-29  Jan Hubicka  <jh@suse.cz>
2846
2847         * gengtype.c (open_base_files): Add lto-streamer.h
2848         * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
2849         (pass_ipa_cp): GGC collect.
2850         * toplev. (compile_file): Do not output symbols.
2851         * ipa-inline.c (pass_ipa_inline): Add ggc collect.
2852         * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
2853         TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
2854         * lto-section-in.c: Include ggc.h
2855         (lto_new_in_decl_state): Alloc in GGC.
2856         (lto_delete_in_decl_state): Likewise.
2857         * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
2858         Collect.
2859
2860 2010-04-29  Bernd Schmidt  <bernds@codesourcery.com>
2861
2862         PR target/42895
2863         * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
2864         ORDER_REGS_FOR_LOCAL_ALLOC.  All instances of this macro changed.
2865         (HONOR_REG_ALLOC_ORDER): Describe new macro.
2866         * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
2867         * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
2868         account only if HONOR_REG_ALLOC_ORDER is not defined.
2869         * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
2870         * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
2871
2872 2010-04-29  Jon Grant  <04@jguk.org>
2873
2874         * collect2.c (vflag): Change type from int to bool.
2875         (debug): Likewise.
2876         (helpflag): New global bool.
2877         (main): Set vflag and debug with boolean, not integer truth values.
2878         Accept new "--help" option and output usage text if found.
2879         * collect2.h (vflag): Update prototype.
2880         (debug): Likewise.
2881
2882 2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
2883
2884         PR bootstrap/43936
2885         * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
2886
2887 2010-04-29  Richard Guenther  <rguenther@suse.de>
2888
2889         PR bootstrap/43935
2890         * plugin.h (invoke_plugin_callbacks): Annotate arguments
2891         with ATTRIBUTE_UNUSED.
2892
2893 2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
2894
2895         PR target/43921
2896         * config/i386/i386.c (get_some_local_dynamic_name): Replace
2897         INSN_P with NONDEBUG_INSN_P.
2898         (distance_non_agu_define): Likewise.
2899         (distance_agu_use): Likewise.
2900
2901 2010-04-29  Bernd Schmidt  <bernds@codesourcery.com>
2902
2903         From Dominique d'Humieres <dominiq@lps.ens.fr>
2904         PR bootstrap/43858
2905         * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
2906         test_set.
2907
2908 2010-04-29  Brian Hackett  <bhackett1024@gmail.com>
2909
2910         * plugin.h (invoke_plugin_callbacks): New inline function.
2911         * plugin.c (flag_plugin_added): New global flag.
2912         (add_new_plugin): Initialize above flag.
2913         (invoke_plugin_callbacks): Rename to ...
2914         (invoke_plugin_callbacks_full): ... this.
2915
2916 2010-04-28  Jan Hubicka  <jh@suse.cz>
2917
2918         * lto-symtab.c (lto_symtab_entry_def) Add vnode.
2919         (lto_varpool_replace_node): New.
2920         (lto_symtab_resolve_symbols): Resolve varpool nodes.
2921         (lto_symtab_merge_decls_1): Prefer decls with varpool node.
2922         (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
2923         * cgraph.h (varpool_node_ptr): New type.
2924         (varpool_node_ptr): New vector.
2925         (varpool_node_set_def): New structure.
2926         (varpool_node_set): New type.
2927         (varpool_node_set): New vector.
2928         (varpool_node_set_element_def): New structure.
2929         (varpool_node_set_element, const_varpool_node_set_element): New types.
2930         (varpool_node_set_iterator): New type.
2931         (varpool_node): Add prev pointers, add used_from_other_partition,
2932         in_other_partition.
2933         (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
2934         varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
2935         varpool_get_node, varpool_remove_node): Declare.
2936         (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
2937         varpool_node_set_size): New inlines.
2938         * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
2939         * tree-pass.h (varpool_node_set_def): Forward declare.
2940         (ipa_opt_pass_d): Summary writting takes vnode sets too.
2941         (ipa_write_optimization_summaries): Update prototype.
2942         * ipa-cp.c (ipcp_write_summary): Update.
2943         * ipa-reference.c (ipa_reference_write_summary): Update.
2944         * lto-cgraph.c (lto_output_varpool_node): New static function.
2945         (output_varpool): New function.
2946         (input_varpool_node): New static function.
2947         (input_varpool_1): New function.
2948         (input_cgraph): Input varpool.
2949         * ipa-pure-const.c (pure_const_write_summary): Update.
2950         * lto-streamer-out.c (lto_output): Update, output varpool too.
2951         (write_global_stream): Kill WPA hack.
2952         (produce_asm_for_decls): Update.
2953         (output_alias_pair_p): Handle variables.
2954         (output_unreferenced_globals): Output only needed partition of varpool.
2955         * ipa-inline.c (inline_write_summary): Update.
2956         * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
2957         cgraph.
2958         * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
2959         * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
2960         varpool_node_set_new, varpool_node_set_add,
2961         varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
2962         debug_varpool_node_set): New functions.
2963         * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
2964         (execute_one_pass): Process new decls too.
2965         (ipa_write_summaries_2): Pass around vsets.
2966         (ipa_write_summaries_1): Likewise.
2967         (ipa_write_summaries): Build vset; be more selective about cgraph nodes
2968         to add.
2969         (ipa_write_optimization_summaries_1): Pass around vsets.
2970         (ipa_write_optimization_summaries): Likewise.
2971         * varpool.c (varpool_get_node): New.
2972         (varpool_node): Update doubly linked lists.
2973         (varpool_remove_node): New.
2974         (dump_varpool_node): More dumping.
2975         (varpool_enqueue_needed_node): Update doubly linked lists.
2976         (decide_is_variable_needed): Kill ltrans hack.
2977         (varpool_finalize_decl): Kill lto hack.
2978         (varpool_assemble_decl): Skip decls in other partitions.
2979         (varpool_assemble_pending_decls): Update doubly linkes lists.
2980         (varpool_empty_needed_queue): Likewise.
2981         (varpool_extra_name_alias): Likewise.
2982         * lto-streamer.c (lto_get_section_name): Add vars section.
2983         * lto-streamer.h (lto_section_type): Update.
2984         (output_varpool, input_varpool): Declare.
2985
2986 2010-04-28  Mike Stump  <mikestump@comcast.net>
2987
2988         * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
2989
2990 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
2991
2992         * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
2993         record or union type with RECORD_OR_UNION_TYPE_P predicate.
2994         (lto_input_ts_type_tree_pointers): Likewise.
2995         * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
2996         (lto_output_ts_type_tree_pointers): Likewise.
2997
2998 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
2999
3000         Uniquization of constants at the Tree level
3001         * tree.h (DECL_IN_CONSTANT_POOL): New macro.
3002         (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
3003         bit to the end.
3004         (tree_output_constant_def): Declare.
3005         * gimplify.c (gimplify_init_constructor): When using block copy, first
3006         uniquize the constant constructor on the RHS.
3007         * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
3008         DECL_IN_CONSTANT_POOL flag.
3009         * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
3010         * varasm.c (make_decl_rtl): Deal with variables belonging to the global
3011         constant pool.
3012         (assemble_variable): Deal with symbols belonging to the tree constant
3013         pool.
3014         (get_constant_section): Add ALIGN parameter and simplify.
3015         (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
3016         (assemble_constant_contents): Use the expression of the VAR_DECL.
3017         (output_constant_def_contents): Use the alignment of the VAR_DECL.
3018         (tree_output_constant_def): New global function.
3019         (mark_constant): Use the expression of the VAR_DECL.
3020         (place_block_symbol): Use the alignment of the VAR_DECL and the size of
3021         its expression.
3022         (output_object_block): Likewise and assemble the expression.
3023
3024 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
3025
3026         * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
3027         hash_tree, eq_tree): New tree hash table.
3028         (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
3029         [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
3030         lto_orig_address_remove): Reimplement.
3031
3032 2010-04-28  Xinliang David Li  <davidxl@google.com>
3033
3034         PR c/42643
3035         * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
3036         (compute_uninit_opnds_pos): New function.
3037         (is_non_loop_exit_postdominating): New function.
3038         (compute_control_dep_chain): New function.
3039         (find_pdom): New function.
3040         (convert_control_dep_chain_into_preds): New function.
3041         (find_predicates): New function.
3042         (find_control_equiv_block): New function.
3043         (collect_phi_def_edges): New function.
3044         (find_def_preds): New function.
3045         (find_dom): New function.
3046         (dump_predicates): New function.
3047         (get_cmp_code): New function.
3048         (is_value_included_in): New function.
3049         (find_matching_predicate_in_rest_chains): New function.
3050         (use_pred_not_overlap_with_undef_path_pred): New function.
3051         (is_use_properly_guarded): New function.
3052         (normalize_cond_1): New function.
3053         (is_and_or_or): New function.
3054         (normalize_cond): New function.
3055         (is_gcond_subset_of): New function.
3056         (is_subset_of_any): New function.
3057         (is_or_set_subset_of): New function.
3058         (is_and_set_subset_of): New function.
3059         (is_norm_cond_subset_of): New function.
3060         (is_pred_expr_subset_of): New function.
3061         (is_pred_chain_subset_of): New function.
3062         (is_included_in): New function.
3063         (is_superset_of): New function.
3064         (find_uninit_use): New function.
3065         (warn_uninitialized_phi): New function.
3066         (compute_possibly_undefined_names): New function.
3067         (ssa_undefined_value_p): New function.
3068         (execute_late_warn_uninitialized): New function.
3069         * tree-ssa.c (ssa_undefined_value_p): Removed.
3070         (warn_uninit): Changed to extern.
3071         (warn_uninitialized_phi): Removed.
3072         (warn_uninitialized_vars): Changed to extern.
3073         (execute_late_warn_uninitialized): Removed
3074         * tree-flow.h: Add new prototypes.
3075         * timevar.def: Add new time variable.
3076         * Makefile.in: Add new build file.
3077
3078 2010-04-28  Uros Bizjak  <ubizjak@gmail.com>
3079
3080         * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
3081         type if available.
3082
3083 2010-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3084
3085         PR target/22224
3086         * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
3087
3088 2010-04-28  Martin Jambor  <mjambor@suse.cz>
3089
3090         * cgraph.h (struct cgraph_node): New field indirect_calls.
3091         (struct cgraph_indirect_call_info): New type.
3092         (struct cgraph_edge): Removed field indirect_call. New fields
3093         indirect_info, indirect_inlining_edge and indirect_unknown_callee.
3094         (cgraph_create_indirect_edge): Declare.
3095         (cgraph_make_edge_direct): Likewise.
3096         (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
3097         * ipa-prop.h (struct ipa_param_call_note): Removed.
3098         (struct ipa_node_params): Removed field param_calls.
3099         (ipa_create_all_structures_for_iinln): Declare.
3100         * cgraph.c: Described indirect edges and uids in initial comment.
3101         (cgraph_add_edge_to_call_site_hash): New function.
3102         (cgraph_edge): Search also among the indirect edges, use
3103         cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
3104         (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
3105         one, use cgraph_add_edge_to_call_site_hash to add edges to the call
3106         site hash.
3107         (initialize_inline_failed): Assign a reason to indirect edges.
3108         (cgraph_create_edge_1): New function.
3109         (cgraph_create_edge): Moved some functionality to
3110         cgraph_create_edge_1.
3111         (cgraph_create_indirect_edge): New function.
3112         (cgraph_edge_remove_callee): Add an assert checking for
3113         non-indirectness.
3114         (cgraph_edge_remove_caller): Special-case indirect edges.
3115         (cgraph_remove_edge): Likewise.
3116         (cgraph_set_edge_callee): New function.
3117         (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
3118         (cgraph_make_edge_direct): New function.
3119         (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
3120         the declaration of the call statement matches.
3121         (cgraph_node_remove_callees): Special-case indirect edges.
3122         (cgraph_clone_edge): Likewise.
3123         (cgraph_clone_node): Clone also the indirect edges.
3124         (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
3125         indirect_call, dump count of indirect_calls edges.
3126         * ipa-prop.c (iinlining_processed_edges): New variable.
3127         (ipa_note_param_call): Create indirect edges instead of
3128         creating notes.  New parameter node.
3129         (ipa_analyze_call_uses): New parameter node, pass it on to
3130         ipa_note_param_call.
3131         (ipa_analyze_stmt_uses): Likewise.
3132         (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
3133         (print_edge_addition_message): Work on edges rather than on notes.
3134         (update_call_notes_after_inlining): Likewise, renamed to
3135         update_indirect_edges_after_inlining.
3136         (ipa_create_all_structures_for_iinln): New function.
3137         (ipa_free_node_params_substructures): Do not free notes.
3138         (ipa_edge_duplication_hook): Propagate bits within
3139         iinlining_processed_edges bitmap.
3140         (ipa_node_duplication_hook): Do not duplicate notes.
3141         (free_all_ipa_structures_after_ipa_cp): Renamed to
3142         ipa_free_all_structures_after_ipa_cp.
3143         (free_all_ipa_structures_after_iinln): Renamed to
3144         ipa_free_all_structures_after_iinln.
3145         (ipa_write_param_call_note): Removed.
3146         (ipa_read_param_call_note): Removed.
3147         (ipa_write_indirect_edge_info): New function.
3148         (ipa_read_indirect_edge_info): Likewise.
3149         (ipa_write_node_info): Do not stream notes, do stream information
3150         in indirect edges.
3151         (ipa_read_node_info): Likewise.
3152         (lto_ipa_fixup_call_notes): Removed.
3153         * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
3154         * ipa-inline.c (pass_ipa_inline): Likewise.
3155         * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
3156         * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
3157         * tree-inline.c (copy_bb): Removed an unnecessary double check for
3158         is_gimple_call.
3159         * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
3160         edges.
3161         * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
3162         (output_cgraph): Stream also indirect edges.
3163         (lto_output_edge): Added capability to stream indirect edges.
3164         (input_edge): Likewise.
3165         (input_cgraph_1): Likewise.
3166         * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
3167         of indirect edges.
3168
3169 2010-04-28  Richard Guenther  <rguenther@suse.de>
3170
3171         PR tree-optimization/43879
3172         PR tree-optimization/43909
3173         * tree-ssa-structalias.c (struct variable_info): Add
3174         only_restrict_pointers flag.
3175         (new_var_info): Initialize it.  Increment stats.total_vars here.
3176         (create_function_info_for): Do not increment stats.total_vars here.
3177         (get_function_part_constraint): Fix build with C++.
3178         (insert_into_field_list): Remove.
3179         (push_fields_onto_fieldstack): Properly merge fields.
3180         (create_variable_info_for): Split and simplify.
3181         (create_variable_info_for_1): New piece.
3182         (intra_create_variable_infos): Properly make restrict constraints
3183         from parameters.
3184
3185 2010-04-28  Richard Guenther  <rguenther@suse.de>
3186
3187         PR c++/43880
3188         * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
3189
3190 2010-04-27  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3191             Jan Hubicka <hubicka@ucw.cz>
3192
3193         * doc/invoke.texi (-Wsuggest-attribute=const,
3194         -Wsuggest-attribute=pure): Document.
3195         * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
3196         (function_always_visible_to_compiler_p,
3197         suggest_attribute, warn_function_pure, warn_function_const):
3198         New functions.
3199         (check_call): Improve debug info.
3200         (analyze_function): Do not check availability.
3201         (add_new_function): Check availability.
3202         (propagate): Output warnings.
3203         (skip_function_for_local_pure_const): New function.
3204         (local_pure_const): Use it; output warnings.
3205         * common.opt (Wsuggest-attribute=const,
3206         Wsuggest-attribute=pure): New.
3207
3208 2010-04-27  Jakub Jelinek  <jakub@redhat.com>
3209
3210         * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
3211         force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
3212         or DW_CFA_def_cfa_offset{,_sf}.
3213
3214 2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
3215
3216         * tree.h: Fix truncated long macros.
3217
3218 2010-04-27  Kai Tietz  <kai.tietz@onevision.com>
3219
3220         * collect2.c (TARGET_64BIT): Redefine to target's default.
3221         * tlink.c: Likewise.
3222         * config/i386/cygming.h (USER_LABEL_PREFIX): Define
3223         dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
3224         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
3225         for underscoring __USER_LABEL_PREFIX__.
3226         * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
3227         (SUB_LINK_ENTRY32): New.
3228         (SUB_LINK_ENTRY64): New.
3229         (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
3230         * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
3231         (SUB_LINK_ENTRY64): New.
3232         (SUB_LINK_ENTRY): New.
3233         (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
3234         (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
3235         x64 target is choosen.
3236         * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
3237         * configure: Regenerated.
3238         * configure.ac (leading-mingw64-underscores): Option added.
3239
3240 2010-04-27  Jan Hubicka  <jh@suse.cz>
3241
3242         * doc/invoke.texi (-fipa-profile): Document.
3243         * opts.c (decode_options): Enable ipa-profile at -O1.
3244         * timevar.def (TV_IPA_PROFILE): Define.
3245         * common.opt (fipa-profile): Add.
3246         * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
3247         flag for clones.
3248         (cgraph_propagate_frequency): Handle only local ones.
3249         * tree-pass.h (pass_ipa_profile): Declare.
3250         * ipa-profile.c (gate_profile): Use flag_ipa_profile.
3251         (pass_ipa_profile): Use TV_IPA_PROFILE.
3252         * ipa.c (ipa_profile): New function.
3253         (gate_ipa_profile): Likewise.
3254         (pass_ipa_profile): New global variable.
3255         * passes.c (pass_ipa_profile): New.
3256
3257 2010-04-27  Nathan Froyd  <froydnj@codesourcery.com>
3258
3259         * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
3260
3261 2010-04-27  Martin Jambor  <mjambor@suse.cz>
3262
3263         PR middle-end/43812
3264         * ipa.c (dissolve_same_comdat_group_list): New function.
3265         (function_and_variable_visibility): Call
3266         dissolve_same_comdat_group_list when comdat group contains external or
3267         newly local nodes.
3268         * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
3269         lists are circular and that they contain only DECL_ONE_ONLY nodes.
3270
3271 2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
3272
3273         * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
3274         (const_hash_1) <VECTOR_CST>: New case.
3275         (compare_constant) <VECTOR_CST>: Likewise.
3276         <ADDR_EXPR>: Deal with LABEL_REFs.
3277         (copy_constant) <VECTOR_CST>: New case.
3278
3279 2010-04-27  Jan Hubicka  <jh@suse.cz>
3280
3281         * cgraph.c (cgraph_propagate_frequency): New function.
3282         * cgraph.h (cgraph_propagate_frequency): Declare.
3283         * ipa-inline.c (cgraph_clone_inlined_nodes): Call
3284         cgraph_propagate_frequency.
3285
3286 2010-04-27  Jakub Jelinek  <jakub@redhat.com>
3287
3288         * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
3289
3290 2010-04-27  Bernd Schmidt  <bernds@codesourcery.com>
3291
3292         PR target/40657
3293         * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
3294         (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
3295         here to determine which regs to push and how much stack to reserve.
3296
3297 2010-04-27  Jie Zhang  <jie@codesourcery.com>
3298
3299         * doc/gimple.texi (gimple_statement_with_ops): Remove
3300         addresses_taken field.
3301         (gimple_statement_with_memory_ops): Likewise.
3302
3303 2010-04-27  Jan Hubicka  <jh@suse.cz>
3304
3305         * tree-inline.c (eni_inlining_weights): Remove.
3306         (estimate_num_insns): Special case more builtins.
3307
3308 2010-04-27  Shujing Zhao  <pearly.zhao@oracle.com>
3309
3310         PR c/32207
3311         * c-typeck.c (build_binary_op): Move forward check for comparison
3312         pointer with null pointer constant and adjust the diagnostic message.
3313
3314 2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>
3315
3316         PR lto/42776
3317         * configure.ac (gcc_cv_as_section_has_align): Set if installed
3318         binutils supports extended .section directive needed by LTO, or
3319         warn if older binutils found.
3320         (LTO_BINARY_READER): New AC_SUBST'd variable.
3321         (LTO_USE_LIBELF): Likewise.
3322         * gcc/config.gcc (lto_binary_reader): New target-specific configure
3323         variable.
3324         * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
3325         (LTO_USE_LIBELF): Likewise.
3326         * configure: Regenerate.
3327
3328         * collect2.c (is_elf): Rename from this ...
3329         (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
3330          object files in addition to ELF-formatted ones.
3331         (scan_prog_file): Caller updated.  Also allow for LTO info marker
3332         symbol to be prefixed or not by an extra underscore.
3333
3334         * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
3335         * config/i386/winnt.c: Also #include lto-streamer.h
3336         (i386_pe_asm_named_section): Specify 1-byte section alignment for
3337         LTO named sections.
3338         (i386_pe_asm_output_aligned_decl_common): Add comment.
3339         (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
3340
3341 2010-04-27  Hans-Peter Nilsson  <hp@bitrange.com>
3342
3343         PR target/43889
3344         * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
3345         Add missing earlyclobber for second alternative.
3346
3347 2010-04-26  Bernd Schmidt  <bernds@codesourcery.com>
3348
3349         * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
3350         bits for artificial defs at the top of the block.
3351         * fwprop.c (single_def_use_enter_block): Don't call it.
3352
3353 2010-04-26  Jack Howarth <howarth@bromo.med.uc.edu>
3354
3355         PR 43715
3356         * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
3357         instead of "$gcc_cv_objdump -T".
3358         Use "-undefined dynamic_lookup" on darwin.
3359         * gcc/configure: Regenerate.
3360
3361 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
3362
3363         PR c/43893
3364         * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
3365
3366 2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
3367
3368         * c-parser.c (struct c_token): Move location field up.
3369         * c-tree.h (struct c_typespec): Move expr_const_operands field up.
3370         (struct c_declspecs): Convert typespec_word, storage_class, and
3371         default_int_p into bitfields.
3372         (struct c_declarator): Move loc field up.
3373
3374 2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
3375
3376         * cfgloop.h (struct loop): Move can_be_parallel field up.
3377         * ipa-prop.h (struct ip_node_params): Move bitfields up.
3378         * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
3379         down.
3380         (struct iv_cand): Convert pos field into a bitfield.
3381         * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
3382         field up.
3383         (struct _stmt_vec_info): Shuffle fields for better packing.
3384
3385 2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
3386
3387         * varasm.c (IN_NAMED_SECTION): Remove guard.
3388         * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
3389         (IN_NAMED_SECTION_P): ...this.
3390         (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
3391         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
3392
3393 2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
3394
3395         * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
3396         Use VOID_TYPE_P for all void type tests.  Adjust TYPE variable instead
3397         of shadowing it.  Fix comments.
3398
3399 2010-04-26  Jan Hubicka  <jh@suse.cz>
3400
3401         * cgraph.c (cgraph_create_node): Set node frequency to normal.
3402         (cgraph_clone_node): Copy function frequency.
3403         * cgraph.h (node_frequency): New enum
3404         (struct cgraph_node): Add.
3405         * final.c (rest_of_clean_state): Update.
3406         * lto-cgraph.c (lto_output_node): Output node frequency.
3407         (input_overwrite_node): Input node frequency.
3408         * tre-ssa-loop-ivopts (computation_cost): Update.
3409         * lto-streamer-out.c (output_function): Do not output function
3410         frequency.
3411         * predict.c (maybe_hot_frequency_p): Update and handle functions
3412         executed once.
3413         (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
3414         attribute lookup.
3415         (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
3416         (compute_function_frequency): Set noreturn functions to be executed
3417         once.
3418         (choose_function_section): Update.
3419         * lto-streamer-in.c (input_function): Do not input function frequency.
3420         * function.c (allocate_struct_function): Do not initialize function
3421         frequency.
3422         * function.h (function_frequency): Remove.
3423         (struct function): Remove function frequency.
3424         * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
3425         (try_update): Update.
3426         * tree-inline.c (initialize_cfun): Do not update function frequency.
3427         * passes.c (pass_init_dump_file): Update.
3428         * i386.c (ix86_compute_frame_layout): Update.
3429         (ix86_pad_returns): Update.
3430
3431 2010-04-26  Jie Zhang  <jie@codesourcery.com>
3432
3433         PR tree-optimization/43833
3434         * tree-vrp.c (range_int_cst_p): New.
3435         (range_int_cst_singleton_p): New.
3436         (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
3437         when both operands are constants.  Use range_int_cst_p in
3438         BIT_IOR_EXPR case.
3439
3440 2010-04-26  Jan Hubicka  <jh@suse.cz>
3441
3442         * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
3443
3444 2010-04-26  Richard Guenther  <rguenther@suse.de>
3445
3446         PR lto/43080
3447         * gimple.c (gimple_decl_printable_name): Deal gracefully
3448         with a NULL DECL_NAME.
3449
3450 2010-04-26  Richard Guenther  <rguenther@suse.de>
3451
3452         PR lto/42425
3453         * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
3454         if emitting debug information and it is either a function
3455         or a namespace decl.
3456
3457 2010-04-26  Ira Rosen  <irar@il.ibm.com>
3458
3459         * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
3460         determine if the statement is vectorizable, and a macro to access it.
3461         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
3462         Skip statements that can't be vectorized. If the analysis fails,
3463         mark the statement as unvectorizable if vectorizing basic block.
3464         (vect_compute_data_refs_alignment): Likewise.
3465         (vect_verify_datarefs_alignment): Skip statements marked as
3466         unvectorizable. Add print.
3467         (vect_analyze_group_access): Skip statements that can't be
3468         vectorized. If the analysis fails, mark the statement as
3469         unvectorizable if vectorizing basic block.
3470         (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
3471         * tree-vect-stmts.c (vectorizable_store): Fix the number of
3472         generated stmts for SLP.
3473         (new_stmt_vec_info): Initialize the new field.
3474         * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
3475         statements marked as unvectorizable.
3476
3477 2010-04-25  Joseph Myers  <joseph@codesourcery.com>
3478
3479         * c-common.c (flag_isoc1x): New.
3480         (flag_isoc99): Update comment.
3481         * c-common.h (flag_isoc1x): New.
3482         (flag_isoc99): Update comment.
3483         * c-cppbuiltin.c (builtin_define_float_constants): Also define
3484         __<type>_DECIMAL_DIG__.
3485         * c-opts.c (set_std_c1x): New.
3486         (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
3487         (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
3488         * c.opt (-std=c1x, -std=gnu1x): New options.
3489         * doc/cpp.texi: Mention -std=c1x.
3490         * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
3491         * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
3492         * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
3493         * doc/standards.texi: Mention C1X.
3494         * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
3495         LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
3496         LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
3497         Define for C1X.
3498
3499 2010-04-25  Uros Bizjak  <ubizjak@gmail.com>
3500
3501         * config/i386/gmon-sol2.c (_mcleanup): Change format string
3502         placeholder from 0x%x to %#x.
3503         * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
3504         * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
3505         * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
3506         * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
3507         * config/i386/i386.c (ix86_target_string): Ditto.
3508         (output_pic_addr_const): Ditto.
3509         (print_operand): Ditto.
3510
3511 2010-04-25  Paolo Bonzini  <bonzini@gnu.org>
3512
3513         * combine.c (find_split_point): Add third argument.  Use it
3514         to find nested multiply-accumulate instructions.  Adjust calls.
3515         (try_combine): Adjust call to find_split_point.
3516
3517 2010-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
3518
3519         * doc/contrib.texi (Contributors): Add Dodji Seketeli.
3520
3521 2010-04-24  Bernd Schmidt  <bernds@codesourcery.com>
3522
3523         PR tree-optimization/41442
3524         * fold-const.c (merge_truthop_with_opposite_arm): New function.
3525         (fold_binary_loc): Call it.
3526
3527 2010-04-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3528
3529         * toplev.c (general_init): Set default for fdiagnostics-show-option.
3530         * opts.c (common_handle_option): Allow disabling it.
3531         * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
3532
3533 2010-04-23  Eric Botcazou  <ebotcazou@adacore.com>
3534
3535         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
3536         between modes if both types are integral.
3537
3538 2010-04-23  Richard Guenther  <rguenther@suse.de>
3539
3540         PR tree-optimization/43572
3541         * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
3542
3543 2010-04-23  Richard Guenther  <rguenther@suse.de>
3544
3545         PR lto/43455
3546         * tree-inline.c (tree_can_inline_p): Also check compatibility
3547         of return types.
3548
3549 2010-04-23  Martin Jambor  <mjambor@suse.cz>
3550
3551         PR tree-optimization/43846
3552         * tree-sra.c (struct access): New flag grp_assignment_read.
3553         (build_accesses_from_assign): Set grp_assignment_read.
3554         (sort_and_splice_var_accesses): Propagate grp_assignment_read.
3555         (enum mark_read_status): New type.
3556         (analyze_access_subtree): Propagate grp_assignment_read, create
3557         accesses also if both direct_read and root->grp_assignment_read.
3558
3559 2010-04-23  Martin Jambor  <mjambor@suse.cz>
3560
3561         PR middle-end/43835
3562         * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
3563         function does not have type attributes.
3564
3565 2010-04-23  Richard Guenther  <rguenther@suse.de>
3566
3567         PR lto/42653
3568         * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
3569         of FUNCTION_DECLs.
3570
3571 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3572
3573         * sese.h (create_if_region_on_edge): Remove.
3574
3575         * sese.c (create_if_region_on_edge): Make static.
3576
3577         * tree-inline.c: Do not include ggc.h.
3578
3579         * expr.c: Do not include ggc.h.
3580
3581         * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
3582         dependencies.
3583
3584 2010-04-22  Kaz Kojima  <kkojima@gcc.gnu.org>
3585
3586         PR target/43744
3587         * config/sh/sh.c (find_barrier): Don't emit a constant pool
3588         in the middle of insns for casesi_worker_2.
3589
3590 2010-04-22  David Edelsohn  <edelsohn@gnu.org>
3591
3592         * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
3593
3594 2010-04-22  Ira Rosen  <irar@il.ibm.com>
3595
3596         PR tree-optimization/43842
3597         * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
3598         loop unrolling in update of exit phis. Fix comment.
3599         * tree-vect-slp.c (vect_analyze_slp): Check that there are at
3600         least two reduction statements in the loop before starting SLP
3601         analysis.
3602
3603 2010-04-22  Nick Clifton  <nickc@redhat.com>
3604
3605         * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
3606
3607 2010-04-22  Alexander Monakov  <amonakov@ispras.ru>
3608
3609         * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
3610         to simplify a + ~a.
3611
3612 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3613
3614         * tree-parloops.c (loop_parallel_p): New argument
3615         parloop_obstack.  Pass it down.
3616         (parallelize_loops): New variable parloop_obstack.  Initialize it,
3617         pass it down, free it.
3618
3619         * tree-loop-linear.c (linear_transform_loops): Pass down
3620         lambda_obstack.
3621
3622         * tree-data-ref.h (lambda_compute_access_matrices): New argument
3623         of type struct obstack *.
3624
3625         * tree-data-ref.c (analyze_subscript_affine_affine): New variable
3626         scratch_obstack.  Initialize it, pass down, free it.
3627
3628         * lambda.h (lambda_loop_new): Remove.
3629         (lambda_matrix_new, lambda_matrix_inverse)
3630         (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
3631         argument of type struct obstack *.
3632
3633         * lambda-trans.c (lambda_trans_matrix_new): New argument
3634         lambda_obstack.  Pass it down, use obstack allocation for ret.
3635         (lambda_trans_matrix_inverse): New argument lambda_obstack.  Pass
3636         it down.
3637
3638         * lambda-mat.c (lambda_matrix_get_column)
3639         (lambda_matrix_project_to_null): Remove.
3640         (lambda_matrix_new): New argument lambda_obstack.  Use obstack
3641         allocation for mat.
3642         (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
3643         lambda_obstack.
3644
3645         * lambda-code.c (lambda_loop_new): New function.
3646         (lambda_lattice_new, compute_nest_using_fourier_motzkin)
3647         (lambda_compute_auxillary_space, lambda_compute_target_space)
3648         (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
3649         (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
3650         (build_access_matrix): New argument lambda_obstack.  Use obstack
3651         allocation for am.
3652         (lambda_compute_step_signs, lambda_compute_access_matrices): New
3653         argument lambda_obstack.  Pass it down.
3654
3655 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
3656
3657         * optabs.h (expand_widening_mult): Declare.
3658
3659 2010-04-22  Richard Guenther  <rguenther@suse.de>
3660
3661         PR tree-optimization/43845
3662         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
3663         lookup the CALL_EXPR function and arguments.
3664
3665 2010-04-22  Nick Clifton  <nickc@redhat.com>
3666
3667         * config/stormy16/stormy16.c
3668         (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
3669         * config/stormy16/stormy16.h: Tidy up formatting.
3670         (DONT_USE_BUILTIN_SETJMP): Remove definition.
3671         * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
3672         (ineqbranchsi): Delete pattern.
3673         * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
3674         * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
3675         * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
3676         stormy16-lib2-ucmpsi2.c.
3677
3678 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
3679
3680         * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
3681         df_simulate_find_noclobber_defs as appropriate.  Keep track of an
3682         extra set merge_set_noclobber, and use it to relax the final test
3683         slightly.
3684         * df.h (df_simulate_find_noclobber_defs): Declare.
3685         * df-problems.c (df_simulate_find_defs): Don't ignore partial or
3686         conditional defs.
3687         (df_simulate_find_noclobber_defs): New function.
3688
3689 2010-04-22  Uros Bizjak  <ubizjak@gmail.com>
3690
3691         * config/i386/i386.md: Use {} around multi-line preparation statements.
3692
3693 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3694
3695         * c-tree.h (push_init_level, pop_init_level, set_init_index)
3696         (process_init_element): New argument of type struct obstack *.
3697
3698         * c-typeck.c (push_init_level, pop_init_level, set_designator)
3699         (set_init_index, set_init_label, set_nonincremental_init)
3700         (set_nonincremental_init_from_string, find_init_member)
3701         (output_init_element, output_pending_init_elements)
3702         (process_init_element): New argument braced_init_obstack.  Pass it
3703         down.
3704         (push_range_stack, add_pending_init): New argument
3705         braced_init_obstack.  Use obstack allocation.
3706
3707         * c-parser.c (c_parser_initelt, c_parser_initval): New argument
3708         braced_init_obstack.  Pass it down.
3709         (c_parser_braced_init): New variables ret, braced_init_obstack.
3710         Initialize obstack, pass it down and finally free it.
3711
3712 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
3713
3714         PR middle-end/29274
3715         * tree-pass.h (pass_optimize_widening_mul): Declare.
3716         * tree-ssa-math-opts.c (execute_optimize_widening_mul,
3717         gate_optimize_widening_mul): New static functions.
3718         (pass_optimize_widening_mul): New.
3719         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
3720         <case MULT_EXPR>: Remove support for widening multiplies.
3721         * tree.def (WIDEN_MULT_EXPR): Tweak comment.
3722         * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
3723         simplify_gen_unary rather than directly building extensions.
3724         * tree-cfg.c (verify_gimple_assign_binary): Add tests for
3725         WIDEN_MULT_EXPR.
3726         * expmed.c (expand_widening_mult): New function.
3727         * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
3728
3729 2010-04-21  Jan Hubicka  <jh@suse.cz>
3730
3731         * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
3732         * lto-section-in.c (lto_section_name): Remove wpa_fixup.
3733         * lto-wpa-fixup.c: Remove.
3734         * Makefile.in (lto-wpa-fixup.o): Remove.
3735         * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
3736         (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
3737         * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
3738
3739 2010-04-21  Jan Hubicka  <jh@suse.cz>
3740
3741         * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
3742         add write_optimization_summary, read_optimization_summary.
3743         (ipa_write_summaries_of_cgraph_node_set): Remove.
3744         (ipa_write_optimization_summaries): Declare.
3745         (ipa_read_optimization_summaries): Declare.
3746         * ipa-cp.c (pass_ipa_cp): Update.
3747         * ipa-reference.c (pass_ipa_reference): Update.
3748         * ipa-pure-const.c (pass_ipa_pure_const): Update.
3749         * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
3750         Update.
3751         * ipa-inline.c (pass_ipa_inline): Update.
3752         * ipa.c (pass_ipa_whole_program): Update.
3753         * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
3754         * passes.c (ipa_write_summaries_1): Do not test wpa.
3755         (ipa_write_optimization_summaries_1): New.
3756         (ipa_write_optimization_summaries): New.
3757         (ipa_read_summaries): Do not test ltrans.
3758         (ipa_read_optimization_summaries_1): New.
3759         (ipa_read_optimization_summaries): New.
3760
3761 2010-04-21  Jan Hubicka  <jh@suse.cz>
3762
3763         * lto-cgraph.c (lto_output_node): Do not output comdat groups
3764         for boundary nodes.
3765         (output_cgraph): Do not arrange comdat groups for boundary nodes.
3766
3767 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
3768
3769         PR debug/40040
3770         * dwarf2out.c (add_name_and_src_coords_attributes): Add
3771         DW_AT_{,MIPS_}linkage_name even for Fortran decls.
3772
3773 2010-04-21  Jan Hubicka  <jh@suse.cz>
3774
3775         * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
3776
3777 2010-04-21  Jan Hubicka  <jh@suse.cz>
3778
3779         * varpool.c (decide_is_variable_needed): Variable is always needed
3780         during ltrans.
3781
3782 2010-04-21  Jan Hubicka  <jh@suse.cz>
3783
3784         * opts.c (decode_options): Enable pure-const pass for whopr.
3785
3786 2010-04-21  Jan Hubicka  <jh@suse.cz>
3787
3788         * cgraph.c (dump_cgraph_node): Dump also assembler name.
3789         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
3790         at WPA dumping.
3791         (cgraph_decide_inlining): Do not expect callee to be removed in all
3792         cases.
3793
3794 2010-04-21  Eric B. Weddington  <eric.weddington@atmel.com>
3795
3796         * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
3797
3798 2010-04-21  Uros Bizjak  <ubizjak@gmail.com>
3799
3800         * config/i386/i386.md (x86_shrd): Add athlon_decode and
3801         amdfam10_decode attributes.
3802
3803 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
3804
3805         PR middle-end/43570
3806         * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
3807         OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
3808         (lower_copyprivate_clauses): Use private var in outer
3809         context instead of original var.  Make sure the types
3810         are correct for VLAs.
3811
3812 2010-04-21  Richard Guenther  <rguenther@suse.de>
3813
3814         * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
3815         to non-pointer objects.
3816
3817 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
3818
3819         * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument.  Drop
3820         last chain entry if it starts with the still current label.
3821         (add_location_or_const_value_attribute): Check that
3822         loc_list->first->next is NULL instead of comparing ->first with ->last.
3823         (dwarf2out_var_location): Pass last_label resp. last_postcall_label
3824         to add_var_loc_to_decl.
3825
3826         * dwarf2out.c (output_call_frame_info): For dw_cie_version
3827         >= 4 add also address size and segment size fields into CIE header.
3828
3829         * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
3830         long as address size is the same as sizeof (void *) and
3831         segment size is 0.
3832         * unwind-dw2-fde.c (get_cie_encoding): Likewise.  If
3833         address size or segment size is unexpected, return DW_EH_PE_omit.
3834         (classify_object_over_fdes): If get_cie_encoding returned
3835         DW_EH_PE_omit, return -1.
3836         (init_object): If classify_object_over_fdes returned -1,
3837         pretend there were no FDEs at all.
3838
3839 2010-04-21  Uros Bizjak  <ubizjak@gmail.com>
3840
3841         * config/i386/i386.md (bswap<mode>2): Macroize expander from
3842         bswap{si,di}2 using SWI48 mode iterator.
3843         (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
3844         SWI48 mode iterator.  Set type attribute of bswap insn to bitmanip,
3845         set modrm attribute of bswap insn to 0 and remove length attribute.
3846         (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
3847         iterator.  Set type attribute to bitmanip, set modrm attribute to 0,
3848         set mode attribute to <MODE> and remove length attribute.
3849
3850 2010-04-20  James E. Wilson  <wilson@codesourcery.com>
3851
3852         PR rtl-optimization/43520
3853         * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
3854         zero available registers.
3855
3856 2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3857
3858         * builtins.c (fold_builtin_cproj): Fold more cases.
3859
3860 2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3861
3862         * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
3863         (fold_builtin_1): Fold builtin cproj.
3864         * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
3865         Use ATTR_CONST_NOTHROW_LIST.
3866
3867 2010-04-20  Uros Bizjak  <ubizjak@gmail.com>
3868
3869         * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
3870         and ffsdi2 using SWI48 mode iterator.  Expand SImode insn through
3871         ffsi2_no_cmove for !TARGET_CMOVE.
3872         (ffssi2_no_cmove): Rename from *ffs_no_cmove.  Make public.
3873         (ffssi2): Remove expander.
3874         (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
3875         mode iterator.
3876         (ctz<mode>2): Ditto from ctz{si,di}2.
3877         (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
3878         mode iterator.
3879         (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
3880         mode iterator.
3881
3882 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
3883
3884         * dwarf2out.c (AT_linkage_name): Define.
3885         (clone_as_declaration): Handle DW_AT_linkage_name.
3886         (add_name_and_src_coords_attributes): Use AT_linkage_name instead
3887         of DW_AT_MIPS_linkage_name.
3888         (move_linkage_attr): Likewise.
3889         (dwarf2out_finish): Likewise.
3890
3891 2010-04-20  Xinliang David Li  <davidxl@gcc.gnu.org>
3892
3893         PR middle-end/41952
3894         * fold-const.c (fold_comparison): New folding rule.
3895
3896 2010-04-20  Anatoly Sokolov  <aesok@post.ru>
3897
3898         * double-int.h (double_int_setbit): Declare.
3899         * double-int.c (double_int_setbit): New function.
3900         * rtl.h (immed_double_int_const): Declare.
3901         * emit-rtl.c (immed_double_int_const): New function.
3902         * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
3903         and immed_double_int_const functions.
3904         * optabs.c (expand_absneg_bit, expand_copysign_absneg,
3905         expand_copysign_bit):  (Ditto.).
3906         * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
3907         * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
3908         * dojump.c (prefer_and_bit_test): (Ditto.).
3909         * expr.c (convert_modes, reduce_to_bit_field_precision,
3910         const_vector_from_tree): (Ditto.).
3911         * expmed.c (mask_rtx, lshift_value): (Ditto.).
3912
3913 2010-04-20  Jan Hubicka  <jh@suse.cz>
3914
3915         * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
3916         (dump_cgraph_node): Dump new flags.
3917         * cgraph.h (struct cgraph_node): Add flags
3918         reachable_from_other_partition and in_other_partition.
3919         (cgraph_can_remove_if_no_direct_calls_p): Functions used by
3920         other partition can not be removed.
3921         * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
3922         the other partition must be output; silence sanity checking on
3923         leaking functions bodies from other paritition.
3924         * lto-cgraph.c (reachable_from_other_partition_p): New function.
3925         (lto_output_node): Output new flags; do not sanity check that inline
3926         clones are output; drop lto_forced_extern_inline_p code; do not mock
3927         visibility flags at partition boundaries.
3928         (add_node_to): New function.
3929         (output_cgraph): Use it to sort functions so masters appear before
3930         clones.
3931         (input_overwrite_node): Input new flags.
3932         * passes.c (ipa_write_summaries): Do not call
3933         lto_new_extern_inline_states.
3934         * lto-section-out.c (forced_extern_inline,
3935         lto_new_extern_inline_states lto_delete_extern_inline_states,
3936         lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
3937         * lto-streamer.h (lto_new_extern_inline_states,
3938         * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
3939         lto_forced_extern_inline_p): Kill.
3940
3941 2010-04-20  Richard Guenther  <rguenther@suse.de>
3942
3943         * tree-ssa-structalias.c (do_sd_constraint): Add edges only
3944         from vars that can have pointers.
3945         (process_constraint): Dump useless constraints.
3946
3947 2010-04-20  Richard Guenther  <rguenther@suse.de>
3948
3949         * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
3950         (dump_sa_points_to_info): Remove asserts.
3951         (init_base_vars): nothing_id isn't an escape point nor does it
3952         have pointers.
3953
3954 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
3955
3956         * tree.h (TYPE_REF_IS_RVALUE): Define.
3957         * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
3958         should_move_die_to_comdat, prune_unused_types_walk): Handle
3959         DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
3960         (modified_type_die, gen_reference_type_die): Emit
3961         DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
3962         if TYPE_REF_IS_RVALUE and -gdwarf-4.
3963
3964 2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3965
3966         PR target/43635
3967         * config/s390/s390.c (s390_emit_call): Turn direct into indirect
3968         calls for -fpic -m31 if they have been sibcall optimized.
3969
3970 2010-04-19  James E. Wilson  <wilson@codesourcery.com>
3971
3972         * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
3973         ar.lc fixed and call-used.
3974
3975         * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
3976
3977 2010-04-19  Jan Hubicka  <jh@suse.cz>
3978
3979         * opts.c (decode_options): Disable whpr incompatible passes.
3980         * lto/lto.c (lto_1_to_1_map): Skip clones.
3981         (read_cgraph_and_symbols): Do not mark everything as needed.
3982         (do_whole_program_analysis): Do map only after optimizing;
3983         set proper cgraph_state; use passmanager.
3984
3985 2010-04-19  DJ Delorie  <dj@redhat.com>
3986
3987         * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
3988         POINTER_PLUS_EXPR and fix them.
3989
3990 2010-04-19  Eric B. Weddington  <eric.weddington@atmel.com>
3991
3992         * config/avr/avr-devices.c (avr_mcu_types): Add support for new
3993         devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
3994         attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
3995         atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
3996         atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
3997         atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
3998         atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
3999         atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
4000         m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
4001         atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
4002         * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
4003
4004 2010-04-19  Eric Botcazou  <ebotcazou@adacore.com>
4005
4006         * ifcvt.c (noce_try_cmove_arith): Fix long lines.
4007         (check_cond_move_block): Likewise.
4008         (cond_move_process_if_block): Likewise.
4009         (noce_find_if_block): Improve formatting.
4010         (find_if_header): Pass 0 to memset and tweak conditions.
4011         (cond_exec_find_if_block): Fix long lines and tweak conditions.
4012
4013 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
4014
4015         * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
4016         for -gdwarf-4.
4017
4018         PR middle-end/43337
4019         * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
4020         with non-local decl doesn't need chain.
4021
4022 2010-04-19  Vladimir Makarov  <vmakarov@redhat.com>
4023
4024         * ira-color.c (allocno_reload_assign): Avoid accumulating
4025         reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
4026
4027 2010-04-19  Martin Jambor  <mjambor@suse.cz>
4028
4029         * gimple.h (create_tmp_reg): Declare.
4030         * gimplify.c (create_tmp_reg): New function.
4031         (gimplify_return_expr): Use create_tmp_reg.
4032         (gimplify_omp_atomic): Likewise.
4033         (gimple_regimplify_operands): Likewise.
4034         * tree-dfa.c (make_rename_temp): Likewise.
4035         * tree-predcom.c (predcom_tmp_var): Likewise.
4036         (reassociate_to_the_same_stmt): Likewise.
4037         * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
4038         (get_replaced_param_substitute): Likewise.
4039         * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
4040         * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
4041         * tree-ssa-pre.c (get_representative_for): Likewise.
4042         (create_expression_by_pieces): Likewise.
4043         * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
4044         (create_tailcall_accumulator): Likewise.
4045
4046 2010-04-19  Martin Jambor  <mjambor@suse.cz>
4047
4048         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
4049         new_stmt.
4050         (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
4051
4052 2010-04-19  Richard Guenther  <rguenther@suse.de>
4053
4054         PR tree-optimization/43796
4055         * tree-vrp.c (adjust_range_with_scev): Lookup init and step
4056         from SCEV in the lattice.
4057         (vrp_visit_phi_node): Dump change.
4058
4059 2010-04-19  Richard Guenther  <rguenther@suse.de>
4060
4061         * configure.ac: Fix quoting around elf_getshstrndx ABI check.
4062         * configure: Re-generated.
4063
4064 2010-04-19  Richard Guenther  <rguenther@suse.de>
4065
4066         PR tree-optimization/43783
4067         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
4068         constant ARRAY_REF operands two and three if possible.
4069
4070 2010-04-19  Uros Bizjak  <ubizjak@gmail.com>
4071
4072         PR target/43766
4073         * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
4074
4075 2010-04-19  Jie Zhang  <jie@codesourcery.com>
4076
4077         PR target/43662
4078         * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
4079
4080 2010-04-19  Ira Rosen  <irar@il.ibm.com>
4081
4082         PR tree-optimization/37027
4083         * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
4084         and macro to access it.
4085         (vectorizable_reduction): Add argument.
4086         (vect_get_slp_defs): Likewise.
4087         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
4088         statements for possible use in SLP.
4089         (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
4090         (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
4091         (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
4092         add new argument.
4093         (vectorizable_reduction): Likewise.
4094         * tree-vect-stmts.c (vect_get_vec_defs): Update call to
4095         vect_get_slp_defs.
4096         (vectorizable_type_demotion, vectorizable_type_promotion,
4097         vectorizable_store): Likewise.
4098         (vect_analyze_stmt): Update call to vectorizable_reduction.
4099         (vect_transform_stmt): Likewise.
4100         * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
4101         (vect_build_slp_tree): Fix indentation. Check that there are no loads
4102         from different interleaving chains in same node.
4103         (vect_slp_rearrange_stmts): New function.
4104         (vect_supported_load_permutation_p): Allow load permutations for
4105         reductions. Call vect_slp_rearrange_stmts() to rearrange statements
4106         inside SLP nodes if necessary.
4107         (vect_analyze_slp_instance): Handle reductions.
4108         (vect_analyze_slp): Try to build SLP instances originating from groups
4109         of reductions.
4110         (vect_detect_hybrid_slp_stmts): Skip reduction statements.
4111         (vect_get_constant_vectors): Create initial vectors for reductions
4112         according to reduction code. Add new argument.
4113         (vect_get_slp_defs): Add new argument, pass it to
4114         vect_get_constant_vectors.
4115         (vect_schedule_slp_instance): Remove SLP tree root statements.
4116
4117 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
4118
4119         * tree.h (ENUM_IS_SCOPED): Define.
4120         * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
4121         for ENUM_IS_SCOPED enums.
4122
4123 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
4124
4125         * fold-const.c (fold_comparison): Use ssizetype.
4126         * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
4127         * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
4128         * tree-loop-distribution.c (build_size_arg_loc): Likewise.
4129         * tree-object-size.c (compute_object_sizes): Use size_type_node.
4130
4131         * tree.h (initialize_sizetypes): Remove parameter.
4132         (build_common_tree_nodes): Remove second parameter.
4133         * stor-layout.c (initialize_sizetypes): Remove parameter.
4134         Always create an unsigned type.
4135         (set_sizetype): Assert that the passed type is unsigned and simplify.
4136         * tree.c (build_common_tree_nodes): Remove second parameter.
4137         Adjust call to initialize_sizetypes.
4138         * c-decl.c (c_init_decl_processing): Remove second argument in call to
4139         build_common_tree_nodes.
4140
4141 2010-04-18  Matthias Klose  <doko@ubuntu.com>
4142
4143         * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
4144
4145 2010-04-18  Ira Rosen  <irar@il.ibm.com>
4146
4147         PR tree-optimization/43771
4148         * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
4149         load permutation doesn't have gaps.
4150
4151 2010-04-18  Jan Hubicka  <jh@suse.cz>
4152
4153         * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
4154         (sse_prologue_save_insn expander): Use new pattern.
4155         (sse_prologue_save_insn1): New pattern and splitter.
4156         (sse_prologue_save_insn): Update to deal also with 64bit aligned
4157         blocks.
4158         * i386.c (setup_incoming_varargs_64): Do not compute jump
4159         destination here.
4160         (ix86_gimplify_va_arg): Update alignment needed.
4161         (ix86_local_alignment): Do not align all local arrays to 128bit.
4162
4163 2010-04-17  Jan Hubicka  <jh@suse.cz>
4164
4165         * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
4166
4167 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
4168
4169         * arm.md (negdi2): Remove redundant code to force values into a
4170         register.
4171
4172 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
4173
4174         * arm/bpabi.S: Add EABI alignment attributes to objects.
4175         * arm/bpabi-v6m.S: Likewise.
4176         * arm/crti.asm: Likewise.
4177         * arm/crtn.asm: Likewise.
4178         * arm/lib1funcs.asm: Likewise.
4179         * arm/libunwind.S: Likewise.
4180
4181 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
4182
4183         * arm-protos.h (tune_params): New structure.
4184         * arm.c (current_tune): New variable.
4185         (arm_constant_limit): Delete.
4186         (struct processors): Add pointer to the tune parameters.
4187         (arm_slowmul_tune): New tuning option.
4188         (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
4189         (all_cores): Adjust to pick up the tuning model.
4190         (arm_constant_limit): New function.
4191         (arm_override_options): Select the appropriate tuning model.  Delete
4192         initialization of arm_const_limit.
4193         (arm_split_constant): Use the new constant-limit model.
4194         (arm_rtx_costs): Pick up the current tuning model.
4195         * arm.md (is_strongarm, is_xscale): Delete.
4196         * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
4197         for Xscale variant architectures.
4198         (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
4199
4200 2010-04-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4201
4202         * config/arm/arm.c (arm_gen_constant): Remove unused variable
4203         can_shift.
4204         (arm_rtx_costs_1): Remove unused variable extra_cost.
4205         (arm_unwind_emit_set): Use variable offset.
4206         (thumb1_output_casesi): Remove unused variable flags.
4207
4208 2010-04-16  Jeff Law  <law@redhat.com>
4209
4210         * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
4211         needing assignment rather than doing a two-phase assignment.  Remove
4212         unused variable 'm'.
4213
4214 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
4215
4216         PR bootstrap/43767
4217         * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
4218
4219 2010-04-16  Doug Kwan  <dougkwan@google.com>
4220
4221         * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
4222         (next_operand_entry_id): New static variable.
4223         (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
4224         (add_to_ops_vec): Assigned unique ID to operand entry.
4225         (struct oecount_s): New field ID.
4226         (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
4227         (undistribute_ops_list): Assign unique IDs to oecounts.
4228         (init_reassoc): reset next_operand_entry_id.
4229
4230 2010-04-16  Doug Kwan  <dougkwan@google.com>
4231
4232         * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
4233         missing left parenthesis.
4234
4235 2010-04-16  Uros Bizjak  <ubizjak@gmail.com>
4236
4237         * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
4238         *btdi_rex64 using SWI48 mode iterator.
4239         (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
4240         (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
4241         *jcc_btdi_mask_rex64.
4242
4243 2010-04-16  Anatoly Sokolov  <aesok@post.ru>
4244
4245         * double-int.h (tree_to_double_int): Convert to macro.
4246         * double-int.c (tree_to_double_int): Remove.
4247
4248 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
4249
4250         PR debug/43762
4251         * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
4252         with want_address 2 and in case a single element list might be
4253         possible, call it again with want_address 0.
4254
4255 2010-04-12  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
4256
4257         * config/h8300/h8300.c (print_operand) : Modify case 'V' and
4258         case 'W' print operands for HI mode.
4259         * config/h8300/h8300.h (Y0, Y2) : New constraints.
4260         * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
4261         (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
4262         * config/h8300/predicate.md (bit_register_indirect_operand): New.
4263
4264         * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
4265
4266         * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
4267         cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
4268         #xx:3 and #xx:4 mode.
4269
4270         * config/h8300/h8300.md (inverted load with HImode dest): Add
4271         support for H8300SX.
4272
4273         * config/h8300/predicate.md (bit_operand): Allow immediate values that
4274         satisfy 'U' constraint.
4275
4276 2010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4277
4278         * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
4279         * configure: Regenerate.
4280         * config.in: Regenerate.
4281         * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
4282         works.
4283
4284 2010-04-16  Richard Guenther  <rguenther@suse.de>
4285
4286         * tree.h (struct tree_decl_minimal): Move pt_uid ...
4287         (struct tree_decl_common): ... here.
4288         (DECL_PT_UID): Adjust.
4289         (SET_DECL_PT_UID): Likewise.
4290         (DECL_PT_UID_SET_P): Likewise.
4291
4292 2010-04-16  Richard Guenther  <rguenther@suse.de>
4293
4294         PR tree-optimization/43572
4295         * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
4296         * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
4297         * tree-flow.h (is_call_clobbered): Remove.
4298         * tree-flow-inline.h (is_call_clobbered): Likewise.
4299         * tree-dfa.c (dump_variable): Do not dump call clobber state.
4300         * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
4301         (execute_return_slot_opt): Adjust.
4302         * tree-tailcall.c (suitable_for_tail_opt_p): Remove
4303         check for call clobbered vars here.
4304         (find_tail_calls): Move tailcall verification to the
4305         proper place.
4306
4307 2010-04-16  Diego Novillo  <dnovillo@google.com>
4308
4309         * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
4310
4311 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
4312
4313         PR target/40603
4314         * config/arm/arm.md (cbranchqi4): New pattern.
4315         * config/arm/predicates.md (const0_operand,
4316         cbranchqi4_comparison_operator): New predicates.
4317
4318 2010-04-16  Richard Guenther  <rguenther@suse.de>
4319
4320         * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
4321         (dump_gimple_stmt): Likewise.
4322
4323 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
4324
4325         * recog.h (struct recog_data): New field is_operator.
4326         (struct insn_operand_data): New field is_operator.
4327         * recog.c (extract_insn): Set recog_data.is_operator.
4328         * genoutput.c (output_operand_data): Emit code to set the
4329         is_operator field.
4330         * reload.c (find_reloads): Use it rather than testing for an
4331         empty constraint string.
4332
4333         PR target/41514
4334         * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
4335         If the previous insn is a cbranchsi4_insn with the same arguments,
4336         omit the compare instruction.
4337
4338         * config/arm/arm.md (addsi3_cbranch): If destination is a high
4339         register, inputs must be low registers and we need a low register
4340         scratch.  Handle alternative 2 like alternative 3.
4341
4342 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
4343
4344         * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
4345         don't call get_addr on both.  If one expression is a VALUE and
4346         the other a REG, check VALUE's locs if the REG isn't among them.
4347
4348 2010-04-16  Christian Bruel  <christian.bruel@st.com>
4349
4350         * config/sh/sh.h (sh_frame_pointer_required): New function.
4351         * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
4352         (flag_omit_frame_pointer) Set.
4353         (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
4354         (rounded_frame_size): Adjust size with outgoing_args_size.
4355         (sh_set_return_address): Must return from stack pointer.
4356         * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
4357         (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
4358         (ACCUMULATE_OUTGOING_ARGS): Define.
4359         * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
4360         * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
4361
4362 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
4363
4364         PR target/43471
4365         * config/sh/sh.c (sh_legitimize_reload_address): Use
4366         MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
4367         Remove a unneeded check for offset_base.
4368
4369 2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>
4370
4371         * configure: Regenerated.
4372
4373 2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4374
4375         * config/s390/s390.c (s390_call_save_register_used): Switch back
4376         to HARD_REGNO_NREGS.
4377
4378 2010-04-15  Richard Guenther  <rguenther@suse.de>
4379
4380         * alias.c (alias_set_subset_of): Handle alias-set zero
4381         child properly.
4382
4383 2010-04-15  Mark Shinwell  <shinwell@codesourcery.com>
4384             Julian Brown  <julian@codesourcery.com>
4385
4386         * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
4387         alternatives according to use of high and low regs.
4388         * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
4389         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
4390         optimizing for size on Thumb-2.
4391
4392 2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
4393
4394         * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
4395
4396 2010-04-15  Richard Guenther  <rguenther@suse.de>
4397
4398         * tree-ssa-structalias.c (struct variable_info): Add
4399         is_fn_info flag.
4400         (new_var_info): Initialize it.
4401         (dump_constraints): Support printing last added constraints.
4402         (debug_constraints): Adjust.
4403         (dump_constraint_graph): Likewise.
4404         (make_heapvar_for): Check for NULL cfun.
4405         (get_function_part_constraint): New function.
4406         (get_fi_for_callee): Likewise.
4407         (find_func_aliases): Properly implement IPA PTA constraints.
4408         (process_ipa_clobber): New function.
4409         (find_func_clobbers): Likewise.
4410         (insert_into_field_list_sorted): Remove.
4411         (create_function_info_for): Properly allocate vars for IPA mode.
4412         Do not use insert_into_field_list_sorted.
4413         (create_variable_info_for): Properly generate constraints for
4414         global vars in IPA mode.
4415         (dump_solution_for_var): Always dump the solution.
4416         (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
4417         (find_what_var_points_to): Adjust.
4418         (pt_solution_set): Change.
4419         (pt_solution_ior_into): New function.
4420         (pt_solution_empty_p): Export.
4421         (pt_solution_includes_global): Adjust.
4422         (pt_solution_includes_1): Likewise.
4423         (pt_solutions_intersect_1): Likewise.
4424         (dump_sa_points_to_info): Check some invariants.
4425         (solve_constraints): Move constraint dumping ...
4426         (compute_points_to_sets): ... here.
4427         (ipa_pta_execute): ... and here.
4428         (compute_may_aliases): Do not re-compute points-to info
4429         locally if IPA info is available.
4430         (ipa_escaped_pt): New global var.
4431         (ipa_pta_execute): Properly implement IPA PTA.
4432         * tree-into-ssa.c (dump_decl_set): Support dumping
4433         decls not in referenced-vars.
4434         * tree-flow.h (struct gimple_df): Add ipa_pta flag.
4435         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
4436         (dump_points_to_solution): Likewise.
4437         * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
4438         * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
4439         (remap_gimple_stmt): Reset call clobber/use information if necessary.
4440         (copy_decl_to_var): Copy DECL_PT_UID.
4441         (copy_result_decl_to_var): Likewise.
4442         * tree.c (make_node_stat): Initialize DECL_PT_UID.
4443         (copy_node_stat): Copy it.
4444         * tree.h (DECL_PT_UID): New macro.
4445         (SET_DECL_PT_UID): Likewise.
4446         (DECL_PT_UID_SET_P): Likewise.
4447         (struct tree_decl_minimal): Add pt_uid member.
4448         * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
4449         (pt_solution_empty_p): Declare.
4450         (pt_solution_set): Adjust.
4451         (ipa_escaped_pt): Declare.
4452         * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
4453         * gimple-pretty-print.c (pp_points_to_solution): New function.
4454         (dump_gimple_call): Dump call clobber/use information.
4455         * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
4456         * tree-pass.h (TDF_ALIAS): New dump option.
4457         * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
4458         * doc/invoke.texi (-fipa-pta): Update documentation.
4459
4460 2010-04-15  Richard Guenther  <rguenther@suse.de>
4461
4462         * Makefile.in (OBJS-common): Add gimple-fold.o.
4463         (gimple-fold.o): New rule.
4464         * tree.h (maybe_fold_offset_to_reference,
4465         maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
4466         prototypes ...
4467         * gimple.h: ... here.
4468         * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
4469         may_propagate_address_into_dereference): Move prototypes ...
4470         * gimple.h: ... here.
4471         * tree-ssa-ccp.c (get_symbol_constant_value,
4472         may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
4473         maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
4474         maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
4475         maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
4476         ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
4477         fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
4478         gimplify_and_update_call_from_tree): Move ...
4479         * gimple-fold.c: ... here.  New file.
4480         (ccp_fold_builtin): Rename to ...
4481         (gimple_fold_builtin): ... this.
4482         * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
4483
4484 2010-04-15  Richard Guenther  <rguenther@suse.de>
4485
4486         * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
4487         fit_double_type, force_fit_type_double, add_double_with_sign,
4488         neg_double, mul_double_with_sign, lshift_double, rshift_double,
4489         lrotate_double, rrotate_double, div_and_round_double): Move ...
4490         * double-int.c: ... here.
4491         * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
4492         add_double, neg_double, mul_double_with_sign, mul_double,
4493         lshift_double, rshift_double, lrotate_double, rrotate_double,
4494         div_and_round_double): Move prototypes ...
4495         * double-int.h: ... here.
4496
4497 2010-04-15  Bernd Schmidt  <bernds@codesourcery.com>
4498
4499         PR target/43742
4500         * config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
4501         matching constraints to ensure inputs match the output.
4502
4503 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
4504
4505         PR target/43742
4506         * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
4507         in an input-only operand.
4508
4509 2010-04-15  Anatoly Sokolov  <aesok@post.ru>
4510
4511         * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
4512         (double_int_not, double_int_lshift, double_int_rshift): Declare.
4513         (double_int_negative_p): Convert to static inline function.
4514         * double-int.c (double_int_lshift, double_int_lshift): New functions.
4515         (double_int_negative_p): Remove.
4516         * tree.h (lshift_double, rshift_double):
4517         * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
4518         * fold-const.c (fold_convert_const_int_from_real,
4519         fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
4520         (lshift_double): Change type of arith argument to bool.
4521         (rshift_double): Change type of arith argument to bool. Correct
4522         comment.
4523         * expmed.c (mask_rtx, lshift_value): (Ditto.).
4524
4525 2010-04-14  Bernd Schmidt  <bernds@codesourcery.com>
4526
4527         PR target/21803
4528         * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
4529         at the start and end of the then/else blocks, and omit them from the
4530         conversion.
4531         * cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
4532         argument; all callers changed.  Pass zero to old_insns_match_p instead.
4533         (flow_find_head_matching_sequence): New function.
4534         (old_insns_match_p): Check REG_EH_REGION notes for calls.
4535         * basic-block.h (flow_find_cross_jump,
4536         flow_find_head_matching_sequence): Declare functions.
4537
4538 2010-04-14  Jason Merrill  <jason@redhat.com>
4539
4540         PR c++/36625
4541         * c-common.c (attribute_takes_identifier_p): New fn.
4542         * c-common.h: Declare it.
4543
4544 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
4545
4546         * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
4547         splitter condition.
4548         (*udivmod<mode>4): Ditto.
4549
4550 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
4551
4552         * config/i386/i386.md (maxmin_int): Rename code attribute from
4553         maxminiprefix and update all users.
4554         (maxmin_float): Ditto from maxminfprefix.
4555         (logic): Ditto from logicprefix.
4556         (absneg_mnemonic): Ditto from absnegprefix.
4557         * config/i386/mmx.md: Update all users of maxminiprefix,
4558         maxminfprefix and logicprefix for rename.
4559         * config/i386/sse.md: Ditto.
4560         * config/i386/sync.md (sync_<code><mode>): Update for
4561         logicprefix rename.
4562
4563 2010-04-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4564
4565         PR 42966
4566         * diagnostics.c (diagnostic_report_diagnostic): Mark specially
4567         warnings converted to errors.
4568
4569 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
4570
4571         * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
4572         used insn_type variable.
4573         (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
4574         to avoid set-but-not-used warning.
4575
4576 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
4577
4578         * df-core.c (df_ref_debug): Change format string placeholder
4579         from 0x%x to %#x.
4580         * dwarf2asm.c (dw2_asm_output_data_raw,
4581         dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
4582         dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
4583         * dwarf2out.c (output_cfi, output_cfi_directive,
4584         dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
4585         output_cfa_loc_raw, output_die, output_ranges, output_file_names):
4586         Ditto.
4587         * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
4588         * print-rtl.c (print_rtx): Ditto.
4589
4590 2010-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
4591
4592         PR middle-end/42694
4593         * builtins.c (expand_builtin_pow_root): New function to expand pow
4594         calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
4595         series of sqrt and cbrt calls under -ffast-math.
4596         (expand_builtin_pow): Call it.
4597
4598 2010-04-14  Michael Matz  <matz@suse.de>
4599
4600         PR tree-optimization/42963
4601         * tree-cfg.c (touched_switch_bbs): New static variable.
4602         (group_case_labels_stmt): New function broken out from ...
4603         (group_case_labels): ... here, use the above.
4604         (start_recording_case_labels): Allocate touched_switch_bbs.
4605         (end_recording_case_labels): Deallocate it, call
4606         group_case_labels_stmt.
4607         (gimple_redirect_edge_and_branch): Remember index of affected BB.
4608
4609 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
4610
4611         * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
4612         from insn template.
4613
4614 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
4615
4616         * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
4617
4618 2010-04-13  Jan Hubicka  <jh@suse.cz>
4619
4620         * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
4621         of optimized out static functions.
4622         (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
4623         cost computation.  Also sanity check for overflows.
4624         (update_caller_keys): Update cgraph_edge_badness call; properly
4625         update fibheap and sanity check that it is up to date.
4626         (add_new_edges_to_heap): Update cgraph_edge_badness.
4627         (cgraph_decide_inlining_of_small_function): Likewise;
4628         add sanity checking that badness in heap is up to date;
4629         improve dumping of reason; Update badness of calls to the
4630         offline copy of function currently inlined; dump badness
4631         of functions not inlined because of unit growth limits.
4632
4633 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
4634
4635         PR middle-end/32628
4636         * c-common.c (pointer_int_sum): Disregard overflow that occured only
4637         because of sign-extension change when converting to sizetype here...
4638         * fold-const.c (fold_convert_const_int_from_int): ...and not here.
4639
4640         * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
4641         the folding to constants.  Remove redundant final conversion.
4642         (fold_binary) <associate>: Do not associate if the re-association of
4643         constants alone overflows.
4644         (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
4645         to the end of the list.
4646         (multiple_of_p) <COND_EXPR>: New case.
4647
4648 2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4649
4650         * opt-functions.awk (opt_sanitized_name): New.
4651         (opt_enum): New.
4652         * optc-gen.awk: Use it
4653         * opth-gen.awk: Use it.
4654
4655 2010-04-13  Martin Jambor  <mjambor@suse.cz>
4656
4657         * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
4658         (sra_modify_assign): Delete stmts loading dead data even if racc has no
4659         children.  Call replace_uses_with_default_def_ssa_name to handle
4660         SSA_NAES on lhs.
4661
4662 2010-04-13  Michael Matz  <matz@suse.de>
4663
4664         PR middle-end/43730
4665         * builtins.c (expand_builtin_interclass_mathfn): Also create
4666         a register if the predicate doesn't match.
4667
4668 2010-04-13  Diego Novillo  <dnovillo@google.com>
4669
4670         * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
4671         * c-pch.c: Include timevar.h.
4672         (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
4673         (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
4674         * ggc-common.c: Include timevar.h.
4675         (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
4676         * timevar.def (TV_PCH_SAVE): Define.
4677         (TV_PCH_CPP_SAVE): Define.
4678         (TV_PCH_PTR_REALLOC): Define.
4679         (TV_PCH_PTR_SORT): Define.
4680         (TV_PCH_RESTORE): Define.
4681         (TV_PCH_CPP_RESTORE): Define.
4682
4683 2010-04-13  Michael Matz  <matz@suse.de>
4684
4685         * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
4686         into MINUS_EXPRs.
4687         (can_reassociate_p): New function.
4688         (break_up_subtract_bb, reassociate_bb): Use it.
4689
4690 2010-04-13  Richard Guenther  <rguenther@suse.de>
4691
4692         PR bootstrap/43737
4693         * builtins.c (c_readstr): Fix assert.
4694
4695 2010-04-13  Uros Bizjak  <ubizjak@gmail.com>
4696
4697         * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
4698         when generating cltd insn.
4699
4700         (*ashl<mode>3_1): Remove special handling for register operand 2.
4701         (*ashlsi3_1_zext): Ditto.
4702         (*ashlhi3_1): Ditto.
4703         (*ashlhi3_1_lea): Ditto.
4704         (*ashlqi3_1): Ditto.
4705         (*ashlqi3_1_lea): Ditto.
4706         (*<shiftrt_insn><mode>3_1): Ditto.
4707         (*<shiftrt_insn>si3_1_zext): Ditto.
4708         (*<shiftrt_insn>qi3_1_slp): Ditto.
4709         (*<rotate_insn><mode>3_1): Ditto.
4710         (*<rotate_insn>si3_1_zext): Ditto.
4711         (*<rotate_insn>qi3_1_slp): Ditto.
4712
4713 2010-04-13  Richard Guenther  <rguenther@suse.de>
4714
4715         * tree-ssa-structalias.c (callused_id): Remove.
4716         (call_stmt_vars): New.
4717         (get_call_vi): Likewise.
4718         (lookup_call_use_vi): Likewise.
4719         (lookup_call_clobber_vi): Likewise.
4720         (get_call_use_vi): Likewise.
4721         (get_call_clobber_vi): Likewise.
4722         (make_transitive_closure_constraints): Likewise.
4723         (handle_const_call): Adjust to do per-call call-used handling.
4724         (handle_pure_call): Likewise.
4725         (find_what_var_points_to): Remove general callused handling.
4726         (init_base_vars): Likewise.
4727         (init_alias_vars): Initialize call_stmt_vars.
4728         (compute_points_to_sets): Process call-used and call-clobbered
4729         vars for call statements.
4730         (delete_points_to_sets): Free call_stmt_vars.
4731
4732 2010-04-13  Richard Guenther  <rguenther@suse.de>
4733
4734         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
4735         Only add RW dependence for dependence distance zero.
4736         Adjust maximal vectorization factor according to dependences.
4737         Move alignment handling ...
4738         (vect_find_same_alignment_drs): ... here.  New function.
4739         (vect_analyze_data_ref_dependences): Adjust.
4740         (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
4741         (vect_analyze_data_refs): Adjust minimal vectorization factor
4742         according to data references.
4743         * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
4744         dependences before determining the vectorization factor.
4745         Analyze alignment after determining the vectorization factor.
4746         * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
4747         dependences before alignment.
4748         * tree-vectorizer.h (vect_analyze_data_ref_dependences):
4749         Adjust prototype.
4750         (vect_analyze_data_refs): Likewise.
4751         (MAX_VECTORIZATION_FACTOR): New define.
4752
4753 2010-04-13  Duncan Sands  <baldrick@free.fr>
4754
4755         * except.h (lang_eh_type_covers): Remove.
4756         * except.c (lang_eh_type_covers): Likewise.
4757
4758 2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4759             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4760
4761         * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
4762         * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
4763         UNITS_PER_LONG where it is ABI relevant.
4764         (s390_return_addr_rtx): Likewise.
4765         (s390_back_chain_rtx): Likewise.
4766         (s390_frame_area): Likewise.
4767         (s390_frame_info): Likewise.
4768         (s390_initial_elimination_offset): Likewise.
4769         (save_gprs): Likewise.
4770         (s390_emit_prologue): Likewise.
4771         (s390_emit_epilogue): Likewise.
4772         (s390_function_arg_advance): Likewise.
4773         (s390_function_arg): Likewise.
4774         (s390_va_start): Likewise.
4775         (s390_gimplify_va_arg): Likewise.
4776         (s390_function_profiler): Likewise.
4777         (s390_optimize_prologue): Likewise.
4778         (s390_rtx_costs): Likewise.
4779         (s390_secondary_reload): Likewise.
4780         (s390_promote_function_mode): Likewise.
4781         (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
4782         (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
4783         registers available.
4784         (s390_unwind_word_mode): New function.
4785         (s390_function_value): Split 64 bit values into register pair if
4786         used as return value.
4787         (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
4788         function call parameters.  Handle parallels.
4789         (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
4790         (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
4791         (DWARF_CIE_DATA_ALIGNMENT): New macro.
4792         (s390_expand_setmem): Remove unused variable src_addr.
4793         * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
4794         deal with 64 bit registers.
4795         * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
4796         Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
4797         (UNITS_PER_LONG): New macro.
4798         * libjava/include/s390-signal.h: Define extended ucontext
4799         structure containing the upper halfs of the 64 bit registers.
4800
4801 2010-04-13  Simon Baldwin  <simonb@google.com>
4802
4803         * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
4804
4805 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
4806
4807         * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
4808         rvalue on the RHS if the LHS is of a non-renamable type.
4809         * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
4810
4811 2010-04-13  Matthias Klose  <doko@ubuntu.com>
4812
4813         * gcc.c (cc1_options): Handle -iplugindir before processing
4814         the cc1 spec. Only add -iplugindir once.
4815         (cpp_unique_options): Add -iplugindir option if -fplugin* options
4816         found.
4817         * common.opt (iplugindir): Remove `Separate' property, initialize.
4818         * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
4819         option.
4820         * Makefile.in (check-%, check-parallel-%): Create plugin dir.
4821         (distclean): Remove plugin dir.
4822         * doc/invoke.texi: Document -iplugindir.
4823
4824 2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>
4825
4826         * doc/plugins.texi (Loading Plugins): Document short
4827         -fplugin=foo option.
4828         (Plugin API): Mention default_plugin_dir_name function.
4829
4830         * gcc.c (find_file_spec_function): Add new declaration.
4831         (static_spec_func): Use it for "find-file".
4832         (find_file_spec_function): Add new function.
4833         (cc1_options): Add -iplugindir option if -fplugin* options found.
4834
4835         * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
4836
4837         * plugin.c (add_new_plugin): Updated comment, and handle short
4838         plugin name.
4839         (default_plugin_dir_name): Added new function.
4840
4841         * common.opt (iplugindir): New option to set the plugin directory.
4842
4843 2010-04-12  Uros Bizjak  <ubizjak@gmail.com>
4844
4845         * config/i386/i386.md (any_rotate): New code iterator.
4846         (rotate_insn): New code attribute.
4847         (rotate): Ditto.
4848         (SWIM124): New mode iterator.
4849         (<rotate_insn>ti3): New expander.
4850         (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
4851         any_rotate code iterator.
4852         (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
4853         using any_rotate code iterator and SWIM124 mode iterator.
4854         (ix86_rotlti3): New insn_and_split pattern.
4855         (ix86_rotrti3): Ditto.
4856         (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
4857         ix86_rotl{di,ti}3 patterns.
4858         (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
4859         (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
4860         and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
4861         *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
4862         code iterator and SWI mode iterator.
4863         (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
4864         Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
4865         code iterator.
4866         (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
4867         Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
4868         (bswap rotatert splitter): Add splitter.
4869         (bswap splitter): Macroize splitter using any_rotate code iterator.
4870         Add insn predicate to split only for TARGET_USE_XCHGB or when
4871         optimizing function for size.
4872
4873 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
4874
4875         * config/pa/pa.c (emit_move_sequence): Remove use of
4876         deleted variable flag_argument_noalias.
4877
4878 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4879
4880         * config.gcc: Removed *-*-solaris2.7* from list of obsolete
4881         configurations.
4882         Add to unsupported targets list.
4883         * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
4884         sparc*-sun-solaris2.[567]* from target lists.
4885         * configure: Regenerate.
4886         * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
4887         removal.
4888         Remove Solaris 7 patch references.
4889         (Specific, sparc-sun-solaris2.7): Removed.
4890         (sparc-sun-solaris2*): Update Solaris 7 example.
4891         (sparc64-*-solaris2*): Likewise.
4892
4893 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4894
4895         * config.build (alpha*-dec-osf4*): Remove.
4896         * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
4897         of obsolete configurations.
4898         (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
4899         support.
4900         * config/alpha/t-osf4: Renamed to ...
4901         * config/alpha/t-osf5: ... this.
4902         * config/alpha/osf.h: Renamed to ...
4903         * config/alpha/osf5.h: ... this.
4904         Merged old osf5.h contents.
4905         Update comments.
4906         (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
4907         (EXTRA_SPECS): Removed.
4908         * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
4909         reflect removal of Tru64 UNIX V4.0/V5.0 support.
4910         Document that.
4911
4912 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4913
4914         * doc/contrib.texi (Contributors, Rainer Orth): Update.
4915
4916 2010-04-12  Kai Tietz  <kai.tietz@onevision.com>
4917
4918         PR/43702
4919         * config/i386/i386.c (x86_this_parameter): Handle aggregate for
4920         __thiscall convention.
4921
4922 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
4923
4924         * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
4925         orig_base.
4926         * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
4927
4928 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
4929
4930         * function.c (assign_parms_initialize_all): Add unused attribute
4931         to fntype.
4932
4933 2010-04-12  Richard Guenther  <rguenther@suse.de>
4934
4935         * gsstruct.def (GSS_CALL): New.
4936         * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
4937         * gimple.h: Include tree-ssa-alias.h.
4938         (struct gimple_statement_call): New.
4939         (union gimple_statement_struct_d): Add gimple_call member.
4940         (gimple_call_reset_alias_info): Declare.
4941         (gimple_call_use_set): New function.
4942         (gimple_call_clobber_set): Likewise.
4943         * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
4944         * gimple.c (gimple_call_reset_alias_info): New function.
4945         (gimple_build_call_1): Call it.
4946         * lto-streamer-in.c (input_gimple_stmt): Likewise.
4947         * tree-inline.c (remap_gimple_stmt): Likewise.
4948         (expand_call_inline): Remove callused handling.
4949         * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
4950         * tree-dfa.c (dump_variable): Likewise.
4951         * tree-parloops.c (parallelize_loops): Likewise.
4952         * tree-ssa.c (init_tree_ssa): Likewise.
4953         (delete_tree_ssa): Likewise.
4954         * tree-flow-inline.h (is_call_used): Remove.
4955         * tree-flow.h (struct gimple_df): Remove callused member.
4956         * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
4957         * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
4958         (ref_maybe_used_by_call_p_1): Simplify.
4959         (call_may_clobber_ref_p_1): Likewise.
4960         * tree-ssa-structalias.c (compute_points_to_sets): Set
4961         the call stmt used and clobbered sets.
4962         * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
4963         (find_tail_calls): Verify the tail call.
4964
4965 2010-04-12  Richard Guenther  <rguenther@suse.de>
4966
4967         * ipa.c (cgraph_postorder): Adjust postorder to guarantee
4968         single-iteration always-inline inlining.
4969         * ipa-inline.c (cgraph_mark_inline): Do not return anything.
4970         (cgraph_decide_inlining): Do not handle always-inline specially.
4971         (try_inline): Remove always-inline cycle detection special case.
4972         Do not recurse on always-inlines.
4973         (cgraph_early_inlining): Do not iterate if not optimizing.
4974         (cgraph_gate_early_inlining): remove.
4975         (pass_early_inline): Run unconditionally.
4976         (gate_cgraph_decide_inlining): New function.
4977         (pass_ipa_inline): Use it.  Do not run the IPA inliner if
4978         not inlining or optimizing.
4979         (cgraph_decide_inlining_of_small_functions): Also consider
4980         always-inline functions.
4981         (cgraph_default_inline_p): Return true for nodes which should
4982         disregard inline limits.
4983         (estimate_function_body_sizes): Assume zero size and time for
4984         nodes which are marked as disregarding inline limits.
4985         (cgraph_decide_recursive_inlining): Do not perform recursive
4986         inlining on always-inline nodes.
4987
4988 2010-04-12  Jakub Jelinek  <jakub@redhat.com>
4989
4990         PR bootstrap/43699
4991         * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
4992         for exprs satisfying handled_component_p.
4993
4994 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
4995
4996         * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
4997         non-constant aggregate elements.
4998
4999         * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
5000         is a real initialization.
5001
5002 2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
5003
5004         PR c/36774
5005         * c-decl.c (start_function): Move forward check for nested function.
5006
5007 2010-04-11  Kaz Kojima  <kkojima@gcc.gnu.org>
5008
5009         * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
5010         * config/sh/sh.c: Include reload.h.
5011         (sh_legitimize_reload_address): New.
5012         * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
5013         sh_legitimize_reload_address.
5014
5015 2010-04-11  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
5016
5017         * config/sh/sh.md (*movqi_pop): New insn pattern.
5018         * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
5019
5020 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
5021
5022         * config/i386/i386.md (any_shiftrt): New code iterator.
5023         (shiftrt_insn): New code attribute.
5024         (shiftrt): Ditto.
5025         (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
5026         using any_shiftrt code iterator.
5027         (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
5028         *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
5029         (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
5030         pattern from corresponding peephole2 patterns.
5031         (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
5032         using any_shiftrt code iterator.
5033         (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
5034         (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
5035         (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
5036         (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
5037         *{ashr,lshr}<mode>3_cmp_zext.
5038         (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
5039
5040 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
5041
5042         * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
5043         scratch register.
5044         (*lshr<mode>3_cconly): Ditto.
5045
5046 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
5047
5048         * config/i386/i386.md (lshr<mode>3): Macroize expander from
5049         lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
5050         (*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
5051         pattern from *lshr{di,ti}3_1 and corresponding splitters using
5052         DWI mode iterator.
5053         (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
5054         from corresponding peephole2 patterns.
5055         (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
5056         *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
5057         and *lshrdi3_1_rex64 using SWI mode iterator.
5058         (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
5059         (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
5060         (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
5061         *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
5062         and *lshrdi3_cmp_rex64 using SWI mode iterator.
5063         (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
5064         (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
5065         *lshrdi3_one_bit_cconly_rex64. Macroize insn from
5066         *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
5067         SWI mode iterator.
5068
5069 2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
5070
5071         * config/i386/i386.md (ashr<mode>3): Macroize expander from
5072         ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
5073         (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
5074         pattern from *ashr{di,ti}3_1 and corresponding splitters using
5075         DWI mode iterator.
5076         (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
5077         from corresponding peephole2 patterns.
5078         (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
5079         (ashrsi3_cvt): Rename from ashrsi3_31.
5080         (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
5081         (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
5082         and x86_64_shift_adj_3 using SWI48 mode iterator.
5083         (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
5084         *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
5085         and *ashrdi3_1_rex64 using SWI mode iterator.
5086         (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
5087         (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
5088         (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
5089         *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
5090         and *ashrdi3_cmp_rex64 using SWI mode iterator.
5091         (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
5092         (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
5093         *ashrdi3_one_bit_cconly_rex64. Macroize insn from
5094         *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
5095         SWI mode iterator.
5096         (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
5097         * config/i386/i386.c (ix86_split_ashr): Update for renamed
5098         x86_shift<mode>_adj_3 expanders.
5099
5100 2010-04-10  Wei Guozhi  <carrot@google.com>
5101
5102         PR target/42601
5103         * config/arm/arm.c (arm_pic_static_addr): New function.
5104         (legitimize_pic_address): Call arm_pic_static_addr when it detects
5105         a static symbol.
5106         (arm_output_addr_const_extra): Output expression for new pattern.
5107         * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
5108
5109 2010-04-10  Bernd Schmidt  <bernds@codesourcery.com>
5110
5111         * ira-costs.c (record_reg_classes): Ignore alternatives that are
5112         not enabled.
5113
5114         * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
5115         * web.c: Include "insn-config.h" and "recog.h".
5116         (union_match_dups): New function.
5117         (web_main): Call it.
5118         (union_defs): Don't try to recognize match_dups.
5119
5120         * reload1.c (eliminate_regs_in_insn): Don't restore an operand
5121         if doing so would replace the entire pattern.
5122
5123 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
5124
5125         PR target/43707
5126         PR target/43709
5127         * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
5128         and splitter pattern.  Change splitter operand 1 predicate to
5129         nonmemory_operand.
5130
5131 2010-04-09  Martin Jambor  <mjambor@suse.cz>
5132
5133         * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
5134         lattices are addresses of CONST_DECLs with the same initial value.
5135         (ipcp_print_all_lattices): Print values of CONST_DECLs.
5136         * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
5137
5138 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
5139             Bernd Schmidt  <bernds@codesourcery.com>
5140
5141         * loop-invariant.c (replace_uses): New static function.
5142         (move_invariant_reg): Use it to ensure we can replace the uses.
5143
5144 2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
5145
5146         * config/picochip/picochip.c (picochip_rtx_costs): Use correct
5147         function template.
5148         (picochip_override_options): Enable section anchors only above -O1.
5149         (picochip_reorg): Fixed a couple of build warnings.
5150
5151 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5152
5153         * configure.ac (plugin -rdynamic test): Log result.
5154         * configure: Regenerate.
5155         * config/sol2.h (LINK_SPEC): Handle -rdynamic.
5156         (RDYNAMIC_SPEC): Define.
5157         * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
5158
5159 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5160
5161         * configure.ac: Determine Sun ld version numbers.
5162         (comdat_group): Restrict GNU ld version checks to gld.
5163         (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
5164         (enable_comdat): Support --enable-comdat.
5165         * configure: Regenerate.
5166         * doc/install.texi (Configuration): Document --enable-comdat.
5167
5168 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5169
5170         * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
5171         * config/sol2-gld.h: ... here.
5172         * config.gcc (sparc*-*-solaris2*): Reflect this.
5173         (i[34567]86-*-solaris2*): Use it.
5174
5175 2010-04-09  Steve Ellcey  <sje@cup.hp.com>
5176
5177         * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
5178         setup_clocks_p.
5179         (final_emit_insn_group_barriers): Remove unused variable prev_insn.
5180
5181 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5182
5183         PR 42965
5184         * diagnostic.c (diagnostic_initialize): Initialize
5185         some_warnings_are_errors.
5186         (diagnostic_finish): New.
5187         (diagnostic_action_after_output): Call it before exiting.
5188         (diagnostic_report_diagnostic): Do not print message here. Set
5189         some_warnings_are_errors.
5190         * diagnostic.h (diagnostic_context): Delete
5191         issue_warnings_are_errors_message. Add some_warnings_are_errors.
5192         (diagnostic_finish): Declare.
5193         * toplev.c (toplev_main): Call it before exit.
5194
5195 2010-04-09  Jason Merrill  <jason@redhat.com>
5196
5197         PR c++/42623
5198         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
5199         for incomplete type.
5200
5201         PR c++/41788
5202         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
5203         based on a warning flag.
5204
5205 2010-04-09  Richard Guenther  <rguenther@suse.de>
5206
5207         * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
5208
5209 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
5210
5211         PR bootstrap/43684
5212         * varasm.c (default_assemble_visibility): Wrap vars that are
5213         set, but unused, by targets without GAS.
5214         * config/rs6000/rs6000.c: (paired_emit_vector_compare):
5215         Remove set, but unused, vars.
5216         (rs6000_legitimize_tls_address): Likewise.
5217         (altivec_expand_dst_builtin): Likewise.
5218         * config/darwin.c (machopic_classify_symbol): Likewise.
5219         (machopic_indirection_name): Likewise.
5220
5221 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
5222
5223         * config/i386/i386.md (DWI): New mode iterator.
5224         (S): New mode attribute.
5225         (shift_operand): Ditto.
5226         (shift_immediate_operand): Ditto.
5227         (ashl_input_operand): Ditto.
5228         (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
5229         using SDWIM mode iterator.
5230         (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
5231         pattern from *ashl{di,ti}3_1 and corresponding splitters using
5232         DWI mode iterator.
5233         (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
5234         from corresponding peephole2 patterns.
5235         (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
5236         and x86_64_shift_adj_1 using SWI48 mode iterator.
5237         (x86_shift<mode>_adj_2): Ditto.
5238         (*ashldi3_1_rex64): Split TYPE_LEA pattern.
5239         (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
5240         using SWI48 mode iterator.
5241         (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
5242         *ashldi3_cmp_rex64 using SWI mode iterator.
5243         (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
5244         *ashldi3_cconly_rex64 using SWI mode iterator.
5245         * config/i386/i386.c (ix86_split_ashl): Update for renamed
5246         x86_shift<mode>_adj_{1,2}.
5247         (ix86_split_ashr): Ditto.
5248         (ix86_split_lshr): Ditto.
5249
5250 2010-04-09  Richard Guenther  <rguenther@suse.de>
5251
5252         * target.h (builtin_conversion): Pass in input and output types.
5253         * targhooks.c (default_builtin_vectorized_conversion): Adjust.
5254         * targhooks.h (default_builtin_vectorized_conversion): Likewise.
5255         * tree-vect-stmts.c (vectorizable_conversion): Adjust.
5256         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
5257
5258         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
5259         Handle AVX modes.
5260         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
5261
5262 2010-04-09  Richard Guenther  <rguenther@suse.de>
5263
5264         PR target/43152
5265         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
5266
5267 2010-04-09  Richard Guenther  <rguenther@suse.de>
5268
5269         * tree-vectorizer.h (struct _stmt_vec_info): Document
5270         that vectype is the type of the LHS.
5271         (supportable_widening_operation, supportable_narrowing_operation):
5272         Get both input and output vector types as arguments.
5273         (vect_is_simple_use_1): Declare.
5274         (get_same_sized_vectype): Likewise.
5275         * tree-vect-loop.c (vect_determine_vectorization_factor):
5276         Set STMT_VINFO_VECTYPE to the vector type of the def.
5277         (vectorizable_reduction): Adjust.
5278         * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
5279         Adjust.  Specify the output vector type.
5280         (vect_pattern_recog_1): Adjust.
5281         * tree-vect-stmts.c (get_same_sized_vectype): New function.
5282         (vectorizable_call): Adjust.
5283         (vectorizable_conversion): Likewise.
5284         (vectorizable_operation): Likewise.
5285         (vectorizable_type_demotion): Likewise.
5286         (vectorizable_type_promotion): Likewise.
5287         (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
5288         the def.
5289         (vect_is_simple_use_1): New function.
5290         (supportable_widening_operation): Get both input and output
5291         vector types.
5292         (supportable_narrowing_operation): Likewise.
5293         * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
5294
5295 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
5296
5297         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
5298         __thiscall and _thiscall as predefined macros.
5299         * config/i386/i386.c (ix86_handle_cconv_attribute): Add
5300         thiscall attribute handling.
5301         (ix86_comp_type_attributes): Likewise.
5302         (ix86_function_regparm): Likewise.
5303         (ix86_return_pops_args): Likewise.
5304         (init_cumulative_args): Likewise.
5305         (find_drap_reg): Likewise.
5306         (ix86_static_chain): Likewise.
5307         (x86_this_parameter): Likewise.
5308         (x86_output_mi_thunk): Likewise.
5309         (ix86_attribute_table): Add description for thiscall attribute.
5310         * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
5311         * doc/extend.texi: Add documentation for thiscall.
5312
5313 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5314
5315         PR c++/28584
5316         * c.opt (Wint-to-pointer-cast): Available in C++.
5317         * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
5318
5319 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
5320
5321         * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
5322         * calls.c (expand_call): Pass the function type to aggregate_value_p.
5323         * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
5324         the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
5325         function type instead.  Reorder and simplify checks.
5326
5327         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
5328
5329 2010-04-08  Jing Yu  <jingyu@google.com>
5330             Zdenek Dvorak  <ook@ucw.cz>
5331
5332         PR tree-optimization/42720
5333         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
5334         loop unswitch conditions here from ...
5335         (tree_unswitch_single_loop): ... here.
5336
5337 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
5338
5339         * tree-if-conv.c: Fix comments and simplify logic.
5340
5341 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
5342
5343         * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
5344         (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
5345         (main_tree_if_conversion): Update call to tree_if_conversion.
5346
5347 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5348
5349         PR 42485
5350         * doc/invoke.texi (-b,-V): Delete.
5351         * doc/tm.texi: Do not mention -b.
5352         * gcc.c (display_help): Delete -b and -V.
5353         (process_command): Delete -b and -V.
5354         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
5355
5356 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
5357             Wolfgang Gellerich  <gellerich@de.ibm.com>
5358
5359         Implement target hook for loop unrolling
5360         * target.h (loop_unroll_adjust): Add a new target hook function.
5361         * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
5362         * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
5363         * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
5364         (s390_loop_unroll_adjust): Implement the new target hook for s390.
5365         * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
5366         target hook.
5367         (decide_unroll_stupid): Likewise.
5368
5369 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5370
5371         PR target/43643
5372         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
5373
5374 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5375
5376         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
5377         (Specific, *-*-solaris2*): Likewise.
5378         Don't prefer Sun as over GNU as.
5379
5380 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
5381
5382         * config/s390/s390.c (override_options): Adjust the z10 defaults
5383         for max-unroll-times, max-completely-peeled-insns
5384         and max-completely-peel-times.
5385
5386 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5387
5388         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
5389         instructions for z10.
5390         (s390_expand_setmem): Likewise.
5391         (s390_expand_cmpmem): Likewise.
5392
5393 2010-04-08  Richard Guenther  <rguenther@suse.de>
5394
5395         PR tree-optimization/43679
5396         * tree-ssa-pre.c (eliminate): Only propagate copies.
5397
5398 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
5399
5400         PR bootstrap/43681
5401         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
5402         set but not used variable warning.
5403
5404 2010-04-08  Wei Guozhi  <carrot@google.com>
5405
5406         PR target/41653
5407         * config/arm/arm.c (thumb1_size_rtx_costs): New function.
5408         (arm_size_rtx_costs): Call the new function when optimized for size.
5409
5410 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
5411
5412         PR debug/43670
5413         * cfgexpand.c (expand_debug_expr): If for non-NULL offset
5414         op0 is not a MEM, just return NULL instead of assertion
5415         failure.
5416         (discover_nonconstant_array_refs): Don't walk debug stmts.
5417
5418 2010-04-08  Doug Kwan  <dougkwan@google.com>
5419
5420         * configure.ac: Recognize gold and do not use its version number
5421         to test ld features.
5422         * configure: Regenerate.
5423
5424 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
5425
5426         PR middle-end/40815
5427         * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
5428         (negate_value): Move code to push elements to broken_up_substracts ...
5429         (eliminate_plus_minus_pair): ... here.  Push operands that have no
5430         negative pair to plus_negates.
5431         (repropagate_negates, init_reassoc, fini_reassoc): Update.
5432
5433 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5434
5435         * doc/install.texi (Configuration): Move description of
5436         --enable-lto, --with-libelf*, --enable-gold from Java section to
5437         general section.
5438
5439         * doc/generic.texi (Working with declarations)
5440         (Function Properties, C and C++ Trees): Fix typos.
5441         * doc/sourcebuild.texi (Top Level): Likewise.
5442
5443 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
5444
5445         PR c/18624
5446         * tree.h (DECL_READ_P): Define.
5447         (struct tree_decl_common): Add decl_read_flag.
5448         * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
5449         a set but not used warning.
5450         (merge_decls): Merge DECL_READ_P flag.
5451         (finish_decl, build_compound_literal): Set DECL_READ_P flag.
5452         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
5453         * c-common.c (handle_used_attribute, handle_unused_attribute):
5454         Likewise.
5455         * c-tree.h (default_function_array_read_conversion, mark_exp_read):
5456         New prototypes.
5457         * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
5458         New functions.
5459         (default_conversion, c_process_expr_stmt): Call mark_exp_read.
5460         * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
5461         c_parser_binary_expression, c_parser_cast_expression,
5462         c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
5463         Call default_function_array_read_conversion instead of
5464         default_function_array_conversion where needed.
5465         (c_parser_unary_expression, c_parser_conditional_expression,
5466         c_parser_postfix_expression_after_primary, c_parser_initelt):
5467         Likewise.  Call mark_exp_read where needed.
5468         (c_parser_statement_after_labels, c_parser_asm_operands,
5469         c_parser_typeof_specifier, c_parser_sizeof_expression,
5470         c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
5471         where needed.
5472         * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
5473         New.
5474         * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
5475         (warn_unused_but_set_parameter): Default to warn_unused
5476         && extra_warnings.
5477         * doc/invoke.texi: Document -Wunused-but-set-variable and
5478         -Wunused-but-set-parameter.
5479
5480         * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
5481         used count variable.
5482         * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
5483         when operandN variables aren't used in the body of the expander
5484         or splitter.
5485         * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
5486         FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
5487         * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
5488         * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
5489         FOR_EACH_IMM_USE_ON_STMT): Likewise.
5490         * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
5491         * tree.c (PROCESS_ARG): Likewise.
5492
5493 2010-04-07  Simon Baldwin  <simonb@google.com>
5494
5495         * diagnostic.h (diagnostic_override_option_index): New macro to
5496         set a diagnostic's option_index.
5497         * c-tree.h (c_cpp_error): Add warning reason argument.
5498         * opts.c (_warning_as_error_callback): New.
5499         (register_warning_as_error_callback): Store callback for
5500         warnings enabled via enable_warning_as_error.
5501         (enable_warning_as_error): Call callback, minor code tidy.
5502         * opts.h (register_warning_as_error_callback): Declare.
5503         * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
5504         response to -Werror=.
5505         (c_common_init_options): Register warning_as_error_callback in opts.c.
5506         * common.opt: Add -Wno-cpp option.
5507         * c-common.c (struct reason_option_codes_t): Map cpp warning
5508         reason codes to gcc option indexes.
5509         * (c_option_controlling_cpp_error): New function, lookup the gcc
5510         option index for a cpp warning reason code.
5511         * (c_cpp_error): Add warning reason argument, call
5512         c_option_controlling_cpp_error for diagnostic_override_option_index.
5513         * doc/invoke.texi: Document -Wno-cpp.
5514
5515 2010-04-07  Richard Guenther  <rguenther@suse.de>
5516
5517         * ipa-reference.c (mark_load): Use get_base_address.
5518         (mark_store): Likewise.
5519
5520         * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
5521         inserting GIMPLE_NOPs into the IL.
5522         * tree-ssa-structalias.c (get_constraint_for_component_ref):
5523         Explicitly strip handled components and indirect references.
5524
5525         * fold-const.c (fold_unary_loc): Do not strip qualifiers when
5526         folding address expressions.
5527         * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
5528         * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
5529         operand_equal_p to compare decls.
5530         (ptr_deref_may_alias_decl_p): Likewise.
5531         * tree-ssa-operands.c (get_asm_expr_operands): Simplify
5532         * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
5533         Handle reversed comparison ops.
5534         * tree-sra.c (asm_visit_addr): Use get_base_address.
5535         * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
5536         * ipa-reference.c (mark_address): Use get_base_address.
5537
5538 2010-04-07  Richard Guenther  <rguenther@suse.de>
5539
5540         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
5541         Propagate constants everywhere.
5542
5543 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
5544
5545         PR debug/43516
5546         * tree.c (MAX_INT_CACHED_PREC): Define.
5547         (nonstandard_integer_type_cache): New array.
5548         (build_nonstandard_integer_type): Cache results for precision
5549         <= MAX_INT_CACHED_PREC.
5550
5551 2010-04-07  Richard Guenther  <rguenther@suse.de>
5552
5553         * doc/invoke.texi (-fargument-alias, -fargument-noalias,
5554         -fargument-noalias-global, -fargument-noalias-anything): Remove.
5555         * common.opt: Likewise.
5556         * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
5557         * alias.c (base_alias_check): Remove flag_argument_noalias handling.
5558         (nonoverlapping_memrefs_p): Likewise.
5559         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
5560         * opts.c (common_handle_option): Handle OPT_fargument_alias,
5561         OPT_fargument_noalias, OPT_fargument_noalias_anything and
5562         OPT_fargument_noalias_global for backward compatibility.
5563
5564 2010-04-07  Richard Guenther  <rguenther@suse.de>
5565
5566         PR tree-optimization/43270
5567         * tree-vrp.c (check_array_ref): Fix flexible array member detection.
5568         * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
5569         * tree-ssa-pre.c (phi_translate_1): Adjust.
5570         (fully_constant_expression): Split out vn_reference handling to ...
5571         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
5572         Fold reads from constant strings.
5573         (vn_reference_lookup): Handle fully constant references.
5574         (vn_reference_lookup_pieces): Likewise.
5575         * Makefile.in (expmed.o-warn): Add -Wno-error.
5576
5577 2010-04-07  Martin Jambor  <mjambor@suse.cz>
5578
5579         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
5580
5581 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
5582
5583         PR driver/41594
5584         * gcc.c: Add -static-libstdc++ to list of recognized options.
5585
5586 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5587
5588         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
5589
5590 2010-04-07  Richard Guenther  <rguenther@suse.de>
5591
5592         PR middle-end/42617
5593         * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
5594         bases build simple mem attributes to retain points-to information.
5595
5596 2010-04-07  Richard Guenther  <rguenther@suse.de>
5597
5598         PR middle-end/42617
5599         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
5600         preserve points-to related information.
5601
5602 2010-04-07  Richard Guenther  <rguenther@suse.de>
5603
5604         PR middle-end/42617
5605         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
5606         discard plain indirect references.
5607         * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
5608         * tree.c (tree_nop_conversion): Likewise.
5609
5610 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
5611
5612         PR debug/43628
5613         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
5614
5615 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
5616
5617         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
5618         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
5619
5620 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
5621
5622         * tree-if-conv.c: Fix indentation and comments.
5623
5624 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
5625
5626         * tree-if-conv.c: Sort static functions in topological order.
5627
5628 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
5629
5630         * tree-if-conv.c: Fix indentation and comments.
5631
5632 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
5633
5634         PR middle-end/43519
5635         * graphite-clast-to-gimple.c (max_signed_precision_type): Use
5636         lang_hooks.types.type_for_size instead of
5637         build_nonstandard_integer_type.
5638         When converting an unsigned type to signed, double its precision.
5639         (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
5640         (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
5641         (graphite_create_new_loop_guard): When ub + 1 wraps around,
5642         use lb <= ub.
5643
5644 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
5645
5646         PR middle-end/43519
5647         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
5648         POINTER_PLUS_EXPR for pointer types.
5649
5650 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
5651
5652         PR middle-end/43519
5653         * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
5654         * graphite-clast-to-gimple.c: Include langhooks.h.
5655         (max_signed_precision_type): New.
5656         (max_precision_type): Takes two types as arguments.
5657         (precision_for_value): New.
5658         (precision_for_interval): New.
5659         (gcc_type_for_interval): New.
5660         (gcc_type_for_value): New.
5661         (gcc_type_for_clast_term): New.
5662         (gcc_type_for_clast_red): New.
5663         (gcc_type_for_clast_bin): New.
5664         (gcc_type_for_clast_expr): Split up into several functions.
5665         (gcc_type_for_clast_eq): Rewritten.
5666         (compute_bounds_for_level): New.
5667         (compute_type_for_level_1): New.
5668         (compute_type_for_level): New.
5669         (gcc_type_for_cloog_iv): Removed.
5670         (gcc_type_for_iv_of_clast_loop): Rewritten.
5671         (graphite_create_new_loop): Compute the lower and upper bound types
5672         with gcc_type_for_clast_expr.
5673         (graphite_create_new_loop_guard): Same.
5674         (find_cloog_iv_in_expr): Removed.
5675         (compute_cloog_iv_types_1): Removed.
5676         (compute_cloog_iv_types): Removed.
5677         (gloog): Do not call compute_cloog_iv_types.
5678         * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
5679         GBB_CLOOG_IV_TYPES.
5680         (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
5681         * sese.h (struct gimple_bb): Removed field cloog_iv_types.
5682         (GBB_CLOOG_IV_TYPES): Removed.
5683
5684 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
5685
5686         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
5687         gimple_phi_num_args of the loop close SSA phi node is equal to 1.
5688         (detect_commutative_reduction): Same.
5689
5690 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
5691
5692         * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
5693         call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
5694         argument.
5695         * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
5696         * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
5697         (rewrite_commutative_reductions_out_of_ssa): Same.
5698         * passes.c (execute_function_todo): Call verify_ssa for every pass
5699         in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
5700         * tree-flow.h (verify_loop_closed_ssa): Update declaration.
5701         * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
5702         with an extra argument.
5703         * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
5704         verify_ssa only when the extra argument is true.
5705         (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
5706         with an extra argument.
5707         (tree_transform_and_unroll_loop): Same.
5708
5709 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
5710
5711         * passes.c (execute_function_todo): Call verify_loop_closed_ssa
5712         for all the passes of the LNO having LOOP_CLOSED_SSA.
5713         * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
5714         * tree-loop-distribution.c (pass_loop_distribution): Same.
5715         * tree-pass.h (TODO_verify_loops): Removed.
5716         * tree-ssa-loop.c (pass_tree_loop_init): Same.
5717         (pass_lim): Same.
5718         (pass_tree_unswitch): Same.
5719         (pass_predcom): Same.
5720         (pass_vectorize): Same.
5721         (pass_linear_transform): Same.
5722         (pass_graphite_transforms): Same.
5723         (pass_iv_canon): Same.
5724         (pass_complete_unroll): Same.
5725         (pass_complete_unrolli): Same.
5726         (pass_parallelize_loops): Same.
5727         (pass_loop_prefetch): Same.
5728         (pass_iv_optimize): Same.
5729
5730 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
5731
5732         PR middle-end/32824
5733         * passes.c (init_optimization_passes): Move pass_lim before
5734         pass_copy_prop and pass_dce_loop.
5735
5736 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
5737
5738         PR target/43667
5739         * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
5740         instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
5741         (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
5742         MULTI_* defines for 4 argument vpermil2p* builtins.
5743
5744 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
5745
5746         * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
5747         * config/i386/i386.c (x86_maybe_negate_const_int): New.
5748         (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
5749         * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
5750         *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
5751         *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
5752         *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
5753         Use x86_maybe_negate_const_int to output insn mnemonic.
5754         (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
5755         check from instruction predicate.  Update comments.
5756         * config/i386/sync.md (sync_add<mode>): Use
5757         x86_maybe_negate_const_int to output insn mnemonic.
5758
5759 2010-04-06  Jan Hubicka  <jh@suse.cz>
5760
5761         PR tree-optimization/42906
5762         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
5763         IGNORE_SELF argument.  Set visited_control_parents for fully
5764         processed BBs.
5765         (find_obviously_necessary_stmts): Update call of
5766         mark_control_dependent_edges_necessary.
5767         (propagate_necessity): Likewise.  Handle PHI edges more curefully.
5768
5769 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
5770
5771         * config/i386/i386.md: Remove comment about 'e' and 'E'
5772         operand modifier.
5773
5774 2010-04-06  Richard Guenther  <rguenther@suse.de>
5775
5776         PR tree-optimization/43627
5777         * tree-vrp.c (extract_range_from_unary_expr): Widenings
5778         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
5779         not varying.
5780
5781 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
5782
5783         * BASE-VER: Change to 4.6.0.
5784
5785         PR target/43638
5786         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
5787         handling.
5788
5789 2010-04-06  Richard Guenther  <rguenther@suse.de>
5790
5791         PR middle-end/43661
5792         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
5793
5794 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5795
5796         * doc/invoke.texi (Optimize Options): Document that LTO
5797         won't remove object access purely due to incompatible
5798         declarations.
5799
5800 2010-04-04  Matthias Klose  <doko@ubuntu.com>
5801
5802         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
5803         Initialize variable.
5804
5805 2010-04-03  Richard Guenther  <rguenther@suse.de>
5806
5807         PR middle-end/42509
5808         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
5809         require a non-NULL MEM_OFFSET.
5810
5811 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
5812
5813         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
5814         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
5815         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
5816         config/alpha/predicates.md, config/arm/arm.md,
5817         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
5818         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
5819         config/darwin9.h, config/darwin.c, config/darwin.h,
5820         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
5821         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
5822         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
5823         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
5824         config/mips/mips.md, config/mn10300/mn10300.c,
5825         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
5826         config/rs6000/aix.h, config/rs6000/dfp.md,
5827         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
5828         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
5829         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
5830         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
5831         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
5832         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
5833         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
5834         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
5835         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
5836         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
5837         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
5838         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
5839         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
5840         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
5841         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
5842         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
5843         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
5844         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
5845         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
5846         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
5847         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
5848         opt-functions.awk, opth-gen.awk, params.def, passes.c,
5849         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
5850         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
5851         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
5852         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
5853         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
5854         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
5855         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
5856         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
5857         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
5858         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
5859         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
5860         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
5861         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
5862         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
5863
5864 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5865
5866         PR other/43620
5867         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
5868         * aclocal.m4: Regenerate.
5869
5870 2010-04-02  Richard Guenther  <rguenther@suse.de>
5871
5872         PR tree-optimization/43629
5873         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
5874         if we have seen a constant value.
5875
5876 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
5877
5878         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
5879
5880 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
5881
5882         PR target/43469
5883         * arm.c (legitimize_tls_address): Adjust call to
5884         gen_tls_load_dot_plus_four.
5885         (arm_note_pic_base): New function.
5886         (arm_cannot_copy_insn_p): Use it.
5887         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
5888         constraint.
5889
5890 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5891
5892         PR bootstrap/43531
5893
5894         Revert:
5895         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5896
5897         * Makefile.in ($(out_object_file)): Depend on
5898         gt-$(basename $(notdir $(out_file))).h.
5899
5900 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
5901
5902         * config.gcc (lm32-*-rtems*): Add t-lm32.
5903
5904 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
5905
5906         * config.gcc: Add lm32-*-rtems*.
5907         * config/lm32/rtems.h: New file.
5908
5909 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
5910
5911         PR target/42609
5912         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
5913
5914 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
5915
5916         * dwarf2out.c (output_compilation_unit_header): For
5917         -gdwarf-4 use version 4 instead of version 3.
5918         (output_line_info): For version 4 and above emit additional
5919         maximum ops per insn header field.
5920         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
5921
5922         * dwarf2out.c (is_c_family, is_java): Remove.
5923         (lower_bound_default): New function.
5924         (add_bound_info, gen_descr_array_type_die): Use it.
5925
5926 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
5927
5928         PR debug/43325
5929         * dwarf2out.c (gen_variable_die): Allow debug info for variable
5930         re-declaration when it happens in a function.
5931
5932 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
5933
5934         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
5935         (cgraph_remove_function_insertion_hook): Same.
5936         (cgraph_call_function_insertion_hooks): Same.
5937
5938 2010-04-01  Richard Guenther  <rguenther@suse.de>
5939
5940         PR middle-end/43614
5941         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
5942         and TREE_THIS_VOLATILE.
5943         (copy_ref_info): Likewise.
5944         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
5945         * tree.c (build6_stat): Ignore side-effects of all but arg5
5946         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
5947         TARGET_MEM_REF.
5948
5949 2010-04-01  Richard Guenther  <rguenther@suse.de>
5950
5951         PR tree-optimization/43607
5952         * ipa-type-escape.c (check_call): Do not access non-existing
5953         arguments.
5954
5955 2010-04-01  Richard Guenther  <rguenther@suse.de>
5956
5957         PR middle-end/43602
5958         Revert
5959         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
5960                     Jack Howarth <howarth@bromo.med.uc.edu>
5961
5962         * tree-profile.c (tree_init_ic_make_global_vars): Make static
5963         variables TLS.
5964
5965 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5966
5967         * doc/install.texi (Prerequisites): Document libelf usability on
5968         IRIX 5/6 and Solaris 2.
5969         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
5970         Update GNU as, GNU ld requirements.
5971         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
5972         Document Sun Studio compiler download.
5973         Update and simplify as, ld recommendations.
5974         (Specific, *-*-solaris2.7): Note obsoletion, removal.
5975
5976 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5977
5978         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
5979         with_tune_32 to pentium4.
5980
5981 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
5982
5983         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
5984
5985 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5986
5987         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
5988         obsoletion, removal.
5989         Update IDO URL.
5990         Document GNU as requirement.
5991         Update configure requirements.
5992         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
5993         Recomment IRIX 6.5.18+.
5994         Document IDF/IDL requirement.
5995         Document GNU as requirement.
5996         Document GNU ld bootstrap failure.
5997         Remove freeware.sgi.com reference.
5998
5999 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6000
6001         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
6002         UNIX V4.0, V5.0 obsoletion, removal.
6003         Remove --with-gc=simple reference.
6004         Update VM requirements during bootstrap.
6005         Remove -oldas bootstrap description.
6006         Update binutils reference.
6007         Remove comparison failure note.
6008
6009 2010-03-31  Richard Guenther  <rguenther@suse.de>
6010             Zdenek Dvorak  <ook@ucw.cz>
6011             Sebastian Pop  <sebastian.pop@amd.com>
6012
6013         PR middle-end/43464
6014         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
6015         with multiple arguments.
6016         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
6017
6018 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
6019
6020         * graphite-dependences.c (print_pddr): Call print_pdr with an
6021         extra argument.
6022         * graphite-poly.c (debug_pdr): Add an extra argument for the
6023         verbosity level.
6024         (print_pdr): Same.
6025         (print_pbb_domain): Same.
6026         (print_pbb): Same.
6027         (print_scop_context): Same.
6028         (print_scop): Same.
6029         (print_cloog): Same.
6030         (debug_pbb_domain): Same.
6031         (debug_pbb): Same.
6032         (print_pdrs): Same.
6033         (debug_pdrs): Same.
6034         (debug_scop_context): Same.
6035         (debug_scop): Same.
6036         (debug_cloog): Same.
6037         (print_scop_params): Same.
6038         (debug_scop_params): Same.
6039         (print_iteration_domain): Same.
6040         (print_iteration_domains): Same.
6041         (debug_iteration_domain): Same.
6042         (debug_iteration_domains): Same.
6043         (print_scattering_function): Same.
6044         (print_scattering_functions): Same.
6045         (debug_scattering_function): Same.
6046         (debug_scattering_functions): Same.
6047         * graphite-poly.h (debug_pdr): Update declaration.
6048         (print_pdr): Same.
6049         (print_pbb_domain): Same.
6050         (print_pbb): Same.
6051         (print_scop_context): Same.
6052         (print_scop): Same.
6053         (print_cloog): Same.
6054         (debug_pbb_domain): Same.
6055         (debug_pbb): Same.
6056         (print_pdrs): Same.
6057         (debug_pdrs): Same.
6058         (debug_scop_context): Same.
6059         (debug_scop): Same.
6060         (debug_cloog): Same.
6061         (print_scop_params): Same.
6062         (debug_scop_params): Same.
6063         (print_iteration_domain): Same.
6064         (print_iteration_domains): Same.
6065         (debug_iteration_domain): Same.
6066         (debug_iteration_domains): Same.
6067         (print_scattering_function): Same.
6068         (print_scattering_functions): Same.
6069         (debug_scattering_function): Same.
6070         (debug_scattering_functions): Same.
6071
6072 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
6073
6074         * graphite-poly.c (print_scattering_function_1): New.
6075         (print_scattering_function): Call it.
6076         (print_scop_params): Remove spaces at the end of lines.
6077         (print_cloog): New.
6078         (debug_cloog): New.
6079         * graphite-poly.h (print_cloog): Declared.
6080         (debug_cloog): Declared.
6081
6082 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
6083
6084         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
6085         in loop->header.
6086         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
6087         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
6088         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
6089         to switch between adding the IV bump in loop->latch or in loop->header.
6090
6091 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
6092
6093         * graphite-poly.c (print_scattering_function): Pretty print following
6094         the scoplib format.
6095         (print_pdr): Same.
6096         (print_pbb_domain): Same.
6097         (dump_gbb_cases): Same.
6098         (dump_gbb_conditions): Same.
6099         (print_pdrs): Same.
6100         (print_pbb): Same.
6101         (print_scop_params): Same.
6102         (print_scop_context): Same.
6103         (print_scop): Same.
6104         (print_pbb_body): New.
6105         (lst_indent_to): New.
6106         (print_lst): Start new lines with a #.
6107         * graphite-poly.h (pbb_bb): New.
6108         (pbb_index): Use pbb_bb.
6109         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
6110         disjuncts.
6111         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
6112
6113 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
6114
6115         * dwarf2out.c (size_of_die): For -gdwarf-4 use
6116         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
6117         and 0 instead of 1 for dw_val_class_flag.
6118         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
6119         dw_val_class_range_list, dw_val_class_loc_list,
6120         dw_val_class_lineptr and dw_val_class_macptr, use
6121         DW_FORM_flag_present for dw_val_class_flag and
6122         DW_FORM_exprloc for dw_val_class_loc.
6123         (output_die): For -gdwarf-4 print dw_val_class_loc
6124         size as uleb128 instead of 1 or 2 bytes and don't print
6125         anything for dw_val_class_flag.
6126
6127         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
6128         instead of cselib_lookup following by tweaking locs->setting_insn.
6129
6130         PR bootstrap/43596
6131         * cselib.c (cselib_process_insn): Clear cselib_current_insn
6132         even before returning from label, setjmp call or volatile asm
6133         handling.
6134
6135 2010-03-31  Richard Guenther  <rguenther@suse.de>
6136
6137         PR middle-end/43600
6138         * cgraphunit.c (cgraph_output_in_order): Do not allocate
6139         temporary data on stack.
6140
6141 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6142
6143         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
6144         (PUSHSECTION_ASM_OP): Remove.
6145         (POPSECTION_ASM_OP): Remove.
6146         (PUSHSECTION_FORMAT): Remove.
6147         * config/sol2.h (PUSHSECTION_FORMAT): Define.
6148         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
6149         * config/sol2.c (solaris_output_init_fini): Use it.
6150
6151 2010-03-31  Jie Zhang  <jie@codesourcery.com>
6152
6153         PR 43574
6154         * opt-functions.awk (var_type_struct): Use signed char type
6155         for simple variables.
6156
6157 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6158
6159         * config/sol2.c: Include output.h.
6160         (solaris_assemble_visibility): New function.
6161         * config/t-sol2 (sol2.o): Add output.h dependency.
6162         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
6163         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
6164         Redefine.
6165
6166 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
6167
6168         PR target/43580
6169         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
6170         V2SImode or XFmode on PRE_DEC.
6171
6172         PR debug/43557
6173         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
6174         BLKmode.
6175
6176 2010-03-31  Jie Zhang  <jie@codesourcery.com>
6177
6178         PR 43562
6179         * reload.h (caller_save_initialized_p): Declare.
6180         * toplev.c (backend_init_target): Don't call
6181         init_caller_save but set caller_save_initialized_p to false.
6182         * caller-save.c (caller_save_initialized_p): Define.
6183         (init_caller_save): Check caller_save_initialized_p.
6184         * ira.c (ira): Call init_caller_save if flag_caller_saves.
6185
6186 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6187
6188         PR target/39048
6189         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
6190         and soft-fp/t-softfp to tmake_file.
6191         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
6192         (LIBGCC2_TF_CEXT): Define.
6193         (TF_SIZE): Define.
6194
6195 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
6196
6197         PR debug/42977
6198         * cselib.c (n_useless_values): Document handling of debug locs.
6199         (n_useless_debug_values, n_debug_values): New variables.
6200         (new_elt_loc_list): Don't add to debug values, keep count.
6201         (promote_debug_loc): New.
6202         (cselib_reset_table): Zero new variables.
6203         (entry_and_rtx_equal_p): Promote debug locs.
6204         (discard_useless_locs): Increment n_useless_debug_values for
6205         debug values.
6206         (remove_useless_values): Adjust n_useless_values and n_debug_values
6207         with n_useless_debug_values.
6208         (add_mem_for_addr): Promote debug locs.
6209         (cselib_lookup_mem): Likewise.
6210         (cselib_lookup_addr): Renamed to...
6211         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
6212         (cselib_log_lookup): ... this.  Turn into...
6213         (cselib_lookup_addr): ... new wrapper.
6214         (cselib_lookup_from_insn): New.
6215         (cselib_invalidate_regno): Increment n_useless_debug_values for
6216         debug values.
6217         (cselib_invalidate_mem): Likewise.
6218         (cselib_process_insn): Take n_deleted and n_debug_values into
6219         account to guard remove_useless_value call.
6220         (cselib_finish): Zero n_useless_debug_values.
6221         * cselib.h (cselib_lookup_from_insn): Declare.
6222         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
6223         (sched_analyze_2): Likewise.
6224
6225 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
6226
6227         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
6228         functions.
6229         (adjust_mems): Replace narrowing SUBREG of expression containing
6230         just PLUS, MINUS, MULT and ASHIFT of registers and constants
6231         with operations in the narrower mode.
6232
6233         PR debug/43593
6234         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
6235         regs_invalidated_by_call instead all call_used_reg_set registers.
6236
6237 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
6238
6239         PR middle-end/43430
6240         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
6241         pointer comparisons with types_compatible_p.
6242         * tree-vect-stmts.c (vectorizable_call): Same.
6243         (vectorizable_condition): Same.
6244
6245 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6246
6247         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
6248         stack check if the mask would be zero.
6249
6250 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
6251             Jack Howarth <howarth@bromo.med.uc.edu>
6252
6253         * tree-profile.c (tree_init_ic_make_global_vars): Make static
6254         variables TLS.
6255
6256 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
6257
6258         PR other/25232
6259         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
6260         and __unordtf2.
6261         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
6262         Include ___unordxf2 and ___unordtf2.
6263         * config/i386/libgcc-glibc.ver: Do not define inheritance from
6264         GCC_4.4.0 here.
6265
6266 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
6267
6268         * config/lm32/t-lm32: New file.
6269         * config.gcc: Use the above file when targetting lm32.
6270
6271 2010-03-28  Duncan Sands  <baldrick@free.fr>
6272
6273         * Makefile.in (PLUGIN_HEADERS): Add except.h.
6274
6275 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
6276
6277         PR middle-end/43431
6278         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
6279         Improve vectorization cost model diagnostic.
6280
6281 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
6282
6283         PR middle-end/43436
6284         * tree-vect-data-refs.c (vect_analyze_data_refs): When
6285         compute_data_dependences_for_loop returns false, early exit
6286         and output an extra diagnostic for the failed data reference
6287         analysis.
6288
6289 2010-03-29  Richard Guenther  <rguenther@suse.de>
6290
6291         PR tree-optimization/43560
6292         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
6293         (can_sm_ref_p): Treat stores to readonly locations as trapping.
6294
6295 2010-03-29  Jie Zhang  <jie@codesourcery.com>
6296
6297         PR 43564
6298         * toplev.c (process_options): Set optimization_default_node
6299         and optimization_current_node.
6300         * opts.c (decode_options): Don't set optimization_default_node
6301         and optimization_current_node.
6302
6303 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
6304
6305         * config/rtems.h: Abandon -qrtems_debug.
6306
6307 2010-03-28  Jan Hubicka  <jh@suse.cz>
6308
6309         PR tree-optimization/43505
6310         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
6311         map should not be copied.
6312
6313 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6314
6315         PR middle-end/41674
6316         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
6317         cdtors, set DECL_PRESERVE_P.
6318         * ipa.c (cgraph_externally_visible_p): Return true if declaration
6319         should be preseved.
6320
6321 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
6322
6323         PR tree-optimization/43528
6324         * stor-layout.c (place_field): Check that constant fits into
6325         unsigned HWI when skipping calculation of MS bitfield layout.
6326
6327 2010-03-27  Jan Hubicka  <jh@suse.cz>
6328
6329         PR middle-end/43391
6330         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
6331         notice_global_symbol work.
6332
6333 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
6334
6335         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
6336         instead of dwarf2out_decl.
6337         (struct var_loc_node): Remove section_label field.
6338         (dwarf2out_function_decl): New function.
6339         (dwarf2out_var_location): Don't set section_label field.
6340         (dwarf2out_begin_function): Don't empty decl_loc_table here.
6341
6342 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
6343
6344         PR tree-optimization/43544
6345         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
6346         First argument for builtin vectorized function hook is now a
6347         tree to be able to distinguish between machine specific and
6348         standard builtins.
6349         * targhooks.c (default_builtin_vectorized_function): Ditto.
6350         * targhooks.h (default_builtin_vectorized_function): Ditto.
6351         * target.h (struct gcc_target): Ditto.
6352         * tree-vect-stmts.c (vectorizable_function): Ditto.
6353         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
6354         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
6355         Ditto.
6356
6357 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
6358
6359         PR c/43381
6360         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
6361         nested binding iff it is a FUNCTION_DECL.
6362         (store_parm_decls_newstyle): Pass nested=true to bind for
6363         FUNCTION_DECLs amongst parameters.
6364
6365 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
6366
6367         * var-tracking.c (vt_expand_loc_callback): Don't run
6368         cselib_expand_value_rtx_cb in dummy mode if
6369         cselib_dummy_expand_value_rtx_cb returned false.
6370
6371         * var-tracking.c (emit_note_insn_var_location): For one part
6372         notes with offset 0, don't add EXPR_LIST around the location.
6373         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
6374         add_location_or_const_value_attribute): Adjust for that change.
6375
6376         PR debug/43540
6377         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
6378         into first operand and location into second.
6379         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
6380         dw_cfi_oprnd_loc for DW_CFA_expression.
6381         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
6382         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
6383         assume first argument is regnum and second argument is location.
6384
6385 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
6386
6387         PR target/42113
6388         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
6389         of scratch register to DImode.  Split to DImode comparison operator.
6390         Use SImode subreg of scratch register in the multiplication.
6391         (*cmp_sadd_sidi): Ditto.
6392         (*cmp_ssub_si): Ditto.
6393         (*cmp_ssub_sidi): Ditto.
6394
6395 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
6396
6397         PR target/43524
6398         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
6399         Remove invalid assert and wrong comment.
6400
6401 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
6402
6403         PR debug/43516
6404         * flags.h (final_insns_dump_p): New extern.
6405         * final.c (final_insns_dump_p): New variable.
6406         (rest_of_clean_state): Set it before -fdump-final-insns=
6407         dumping, clear afterwards.
6408         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
6409         MEM_ALIAS_SET on MEMs.
6410
6411 2010-03-26  David S. Miller  <davem@davemloft.net>
6412
6413         * configure.ac: Fix sparc GOTDATA_OP bug check.
6414         * configure: Rebuild.
6415
6416 2010-03-26  Alan Modra  <amodra@gmail.com>
6417
6418         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
6419
6420 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6421
6422         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
6423         TLS_SECTION_ASM_FLAG.
6424
6425 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
6426
6427         PR bootstrap/43511
6428         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
6429         Clear first_function_block_is_cold.
6430
6431         PR c/43385
6432         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
6433         argument if the argument is truth_value_p.
6434
6435 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
6436
6437         * config/rs6000/constraints.md: Update copyright year for my changes.
6438
6439         PR target/43484
6440         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
6441         used in reg+reg addressing, swap registers.
6442
6443 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
6444
6445         PR debug/43293
6446         * target.h (struct gcc_target): Add code_end hook.
6447         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
6448         if not yet defined.
6449         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
6450         * toplev.c (compile_file): Call targetm.asm_out.code_end
6451         hook before unwind info/debug info output.
6452         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
6453         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
6454         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
6455         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
6456         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
6457         * config/i386/i386.c (ix86_file_end): Renamed to...
6458         (ix86_code_end): ... this.  Make static.  Don't call
6459         file_end_indicate_exec_stack.  Emit unwind info using
6460         final_start_function/final_end_function.
6461         (darwin_x86_file_end): Remove.
6462         (TARGET_ASM_CODE_END): Define.
6463         * config/i386/i386.h (TARGET_ASM_FILE_END,
6464         NEED_INDICATE_EXEC_STACK): Don't define.
6465         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
6466         (TARGET_ASM_FILE_END): Define to darwin_file_end.
6467         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
6468         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
6469
6470         PR target/43498
6471         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
6472         at the beginning and final_end_function at the end.
6473         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
6474
6475 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6476
6477         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
6478         and Sun as TLS syntax.
6479         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
6480         * configure: Regenerate.
6481         * config.in: Regenerate.
6482         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
6483         (default_elf_asm_named_section): Use it.
6484         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
6485         (i386_output_dwarf_dtprel): Likewise.
6486         (output_addr_const_extra): Likewise.
6487         (output_pic_addr_const): Lowercase @GOTTPOFF.
6488         (output_addr_const_extra): Likewise.
6489         (output_pic_addr_const): Lowercase @GOTNTPOFF.
6490         (output_addr_const_extra): Likewise.
6491         (output_pic_addr_const): Lowercase @INDNTPOFF.
6492         (output_addr_const_extra): Likewise.
6493         (output_pic_addr_const): Lowercase @NTPOFF.
6494         (output_addr_const_extra): Likewise.
6495         (output_pic_addr_const): Lowercase @TPOFF.
6496         (output_addr_const_extra): Likewise.
6497         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
6498         (*tls_global_dynamic_64): Likewise.
6499         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
6500         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
6501
6502         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
6503         (ASM_OUTPUT_TLS_COMMON): Use it.
6504         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
6505
6506         PR target/38118
6507         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
6508         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
6509         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
6510         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
6511         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
6512         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
6513
6514 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6515
6516         * config/i386/i386.c (override_options): Don't accept
6517         -mtls-dialect=sun any longer.
6518         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
6519         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
6520         (*tls_local_dynamic_base_32_sun): Likewise.
6521         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
6522
6523 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
6524
6525         PR debug/43508
6526         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
6527         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
6528
6529         PR debug/43479
6530         * ira.c (adjust_cleared_regs): New function.
6531         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
6532
6533         PR debug/19192
6534         PR debug/43479
6535         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
6536         from gimple_block.
6537         * expr.c (expand_expr_real): Restore previous
6538         curr_insn_source_location and curr_insn_block after
6539         expand_expr_real_1 call.
6540         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
6541         instead of expand_expr_real_1.
6542
6543 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
6544
6545         PR rtl-optimization/43413
6546         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
6547         hard regs too.
6548
6549 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
6550
6551         PR target/43348
6552         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
6553         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
6554
6555 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
6556
6557         * config/i386/i386.c (ix86_target_string): Add -mfma.
6558         Fix a typo in comment.
6559
6560 2010-03-22  Mike Stump  <mikestump@comcast.net>
6561
6562         PR target/23071
6563         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
6564         Don't overly align based upon packed packed fields.
6565
6566 2010-03-22  Jason Merrill  <jason@redhat.com>
6567
6568         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
6569         Use () rather than [], and move before the element type.
6570
6571 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6572
6573         * doc/configfiles.texi (Configuration Files): Removed
6574         fixinc/Makefile*, intl/Makefile.*.
6575         * doc/makefile.texi: Fixed markup. Abstract from version
6576         control system used.
6577         (Makefile): Removed obsolete gcc/java/parse.y example.
6578         * doc/sourcebuild.texi: Likewise.
6579         (Top Level): Added config, gnattools, libdecnumber, libgcc,
6580         libgomp, libssp.  Removed fastjar.
6581         (Miscellaneous Docs): Clarify location.
6582         Added COPYING3, COPYING3.LIB.
6583         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
6584
6585 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6586
6587         PR target/38085
6588         * config/i386/i386.c (x86_function_profiler)
6589         [!NO_PROFILE_COUNTERS]: Fix typo.
6590         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
6591         instead of callq.
6592
6593 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
6594             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6595
6596         * doc/sourcebuild.texi (Test Directives): Split into six
6597         subsections, with most of the current text in new subsections
6598         Directives, Selectors, and Final Actions.
6599         (Directives): Split list of test directives into multiple
6600         subsubsections.
6601         (Selectors): Describe use and syntax of selectors.
6602         (Effective-Target Keywords): Describe all existing keywords.
6603         (Add Options): Describe features for dg-add-options.
6604         (Require Support): Describe variants of dg-require-support.
6605         (Final Actions): Describe commands to use in dg-final.
6606
6607 2010-03-22  Michael Matz  <matz@suse.de>
6608
6609         PR middle-end/43475
6610         * recog.c (validate_replace_rtx_group): Replace also in
6611         REG_EQUAL and REG_EQUIV notes.
6612
6613 2010-03-22  Richard Guenther  <rguenther@suse.de>
6614
6615         PR tree-optimization/43390
6616         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
6617         sure vector extracts are type correct.
6618
6619 2010-03-22  Richard Guenther  <rguenther@suse.de>
6620
6621         PR middle-end/40106
6622         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
6623         x * sqrt (x) even when optimizing for size if the target
6624         has native support for sqrt.
6625
6626 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
6627
6628         * varasm.c (make_decl_rtl_for_debug): Also clear
6629         flag_mudflap for the duration of make_decl_rtl call.
6630
6631         PR debug/43443
6632         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
6633         locs from preserved VALUEs.
6634
6635 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6636
6637         PR middle-end/42718
6638         * pa.md (movmemsi): Set align to one if zero.
6639         (movmemdi): Likewise.
6640
6641 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
6642
6643         PR target/42321
6644         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
6645         with their corresponding prologue pushes.
6646
6647 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
6648
6649         PR target/43156
6650         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
6651         at the begining or end.
6652         (spu_expand_epilogue): Likewise.
6653
6654 2010-03-20  Richard Guenther  <rguenther@suse.de>
6655
6656         PR rtl-optimization/43438
6657         * combine.c (make_extraction): Properly zero-/sign-extend an
6658         extraction of the low part of a CONST_INT.  Also handle
6659         CONST_DOUBLE.
6660
6661 2010-03-19  Mike Stump  <mikestump@comcast.net>
6662
6663         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
6664         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
6665         (override_options): Use SUBTARGET32_DEFAULT_CPU.
6666
6667 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
6668
6669         PR c/43211
6670         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
6671         an error.
6672
6673 2010-03-19  Bernd Schmidt  <bernds@codesourcery.com>
6674
6675         PR rtl-optimization/42258
6676         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
6677         use that may match DEF.
6678
6679         PR target/40697
6680         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
6681         the cost of loading the constant rather than assuming
6682         COSTS_N_INSNS (1).
6683         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
6684         outer code is AND, do the same tests as the andsi3 expander and
6685         return COSTS_N_INSNS (1) if and is cheap.
6686
6687         * optabs.c (avoid_expensive_constant): Fix formatting.
6688
6689 2010-03-19  Michael Matz  <matz@suse.de>
6690
6691         PR c++/43116
6692         * attribs.c (decl_attributes): When rebuilding a function pointer
6693         type use the same qualifiers as the original pointer type.
6694
6695 2010-03-19  Martin Jambor  <mjambor@suse.cz>
6696
6697         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
6698         and is_gimple_ip_invariant_address.
6699
6700 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6701
6702         Revert
6703         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6704
6705         * config/arm/arm.c (arm_override_options): Turn off
6706         flag_dwarf2_cfi_asm for AAPCS variants.
6707
6708 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6709
6710         PR target/43399
6711         * config/arm/arm.c (emit_multi_reg_push): Update comments.
6712         Use PRE_MODIFY instead of PRE_DEC.
6713         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
6714         (vfp_emit_fstmd): Likewise.
6715
6716 2010-03-19  Michael Matz  <matz@suse.de>
6717
6718         PR target/43305
6719         * builtins.c (expand_builtin_interclass_mathfn,
6720         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
6721         if that fails.
6722
6723 2010-03-19  Richard Guenther  <rguenther@suse.de>
6724
6725         PR tree-optimization/43415
6726         * tree-ssa-pre.c (phi_translate): Split out worker to ...
6727         (phi_translate_1): ... this.
6728         (phi_translate): Move all caching here.  Cache all NARY
6729         and REFERENCE translations.
6730
6731 2010-03-19  David S. Miller  <davem@davemloft.net>
6732
6733         With help from Eric Botcazou.
6734         * config/sparc/sparc.c: Include dwarf2out.h.
6735         (emit_pic_helper): Delete.
6736         (pic_helper_symbol_name): Delete.
6737         (pic_helper_emitted_p): Delete.
6738         (pic_helper_needed): New.
6739         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
6740         (get_pc_thunk_name): New.
6741         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
6742         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
6743         Set pic_helper_needed to true.  Don't call emit_pic_helper.
6744         (sparc_expand_prologue): Update load_pic_register call.
6745         (sparc_output_mi_thunk): Likewise.
6746         (sparc_file_end): Emit a hidden comdat symbol for the PIC
6747         thunk if possible.  Output CFI information as needed.
6748
6749 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6750             Jack Howarth <howarth@bromo.med.uc.edu>
6751
6752         PR target/36399
6753         * config/i386/i386.h: Fix ABI on darwin x86-32.
6754
6755 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
6756
6757         * tree.h: Declare make_decl_rtl_for_debug.
6758         * varasm.c (make_decl_rtl_for_debug): New.
6759         * dwarf2out.c (rtl_for_decl_location): Call it.
6760         * cfgexpand.c (expand_debug_expr): Call it.
6761
6762 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
6763
6764         PR bootstrap/43399
6765         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
6766         mem_mode.
6767
6768         PR bootstrap/43403
6769         * var-tracking.c (vt_init_cfa_base): Do nothing if
6770         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
6771
6772 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
6773
6774         PR debug/42873
6775         * var-tracking.c (canonicalize_vars_star): New.
6776         (dataflow_post_merge_adjust): Use it.
6777
6778 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
6779
6780         PR debug/43058
6781         * var-tracking.c (non_suitable_const): New function.
6782         (add_uses): For DEBUG_INSNs with constants, don't record any
6783         value, instead just the constant value itself.
6784         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
6785         is not VAR_LOC_UNKNOWN_P, set var to the constant.
6786         (emit_notes_in_bb): Likewise.
6787         (emit_note_insn_var_location): For onepart variables if
6788         cur_loc is a VOIDmode constant, use DECL_MODE.
6789
6790 2010-03-18  Martin Jambor  <mjambor@suse.cz>
6791
6792         PR middle-end/42450
6793         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
6794         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
6795         all non-clones.  Moved call redirection...
6796         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
6797         (cgraph_materialize_all_clones): Dispose of all
6798         combined_args_to_skip bitmaps.
6799         (verify_cgraph_node): Do not check for edges pointing to wrong
6800         nodes in inline clones.
6801         * tree-inline.c (copy_bb): Call
6802         cgraph_redirect_edge_call_stmt_to_callee.
6803         * ipa.c (cgraph_remove_unreachable_nodes): Call
6804         cgraph_node_remove_callees even when there are used clones.
6805
6806 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
6807
6808         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
6809
6810 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
6811
6812         PR target/43383
6813         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
6814         for 32bit.
6815
6816 2010-03-18  Michael Matz  <matz@suse.de>
6817
6818         PR middle-end/43419
6819         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
6820         into sqrt(x) if we need to preserve signed zeros.
6821
6822 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
6823             Eric Botcazou  <ebotcazou@adacore.com>
6824
6825         PR rtl-optimization/43360
6826         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
6827         note if we don't know its invariant status.
6828
6829 2010-03-18  Michael Matz  <matz@suse.de>
6830
6831         PR tree-optimization/43402
6832         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
6833         PHI chains of ssa names registered for update.
6834
6835 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
6836
6837         PR target/42427
6838         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
6839         non-offsettable and pre_modify update addressing.
6840         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
6841         and "2" alternatives "#".
6842         (*movdd_softfloat32): Make all alternatives "#";
6843         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
6844         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
6845         (*movdf_softfloat32): Make all alternatives "#";
6846         (movdi): Use the new DIFD mode iterator to create a common splitter
6847         for movdi, movdf and movdd patterns.
6848
6849 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
6850
6851         * common.opt (dumpdir): Remove redundant tab.
6852
6853 2010-03-17  Martin Jambor  <mjambor@suse.cz>
6854
6855         PR tree-optimization/43347
6856         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
6857         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
6858
6859 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
6860
6861         PR rtl-optimization/42216
6862         * regrename.c (create_new_chain): New function, broken out from...
6863         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
6864         appending a use to an empty chain.
6865         (build_def_use): Remove previous changes that convert OP_INOUT to
6866         OP_OUT operands; instead detect the case where an OP_INOUT operand
6867         uses a previously untracked register and create an empty chain for it.
6868
6869 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6870
6871         * doc/extend.texi (Function Attributes): Rewrite unfinished
6872         sentence in ms_abi documentation.
6873
6874 2010-03-17  Alan Modra  <amodra@gmail.com>
6875
6876         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
6877         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
6878         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
6879         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
6880
6881 2010-03-16  Richard Henderson  <rth@redhat.com>
6882
6883         PR middle-end/43365
6884         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
6885         (lower_try_finally): Save and restore eh_seq around the expansion
6886         of the try-finally.
6887
6888 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
6889
6890         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
6891         statements before splitting block.
6892
6893 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6894
6895         * doc/sourcebuild.texi (Testsuites): Fix markup.
6896         Use pathnames relative to gcc/testsuite.
6897         (Test Directives): Move description of how timeout is determined.
6898         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
6899         (C Tests): Correct gcc.misc-tests directory.
6900         Framework tests now live in gcc.test-framework.
6901
6902 2010-03-16  Richard Guenther  <rguenther@suse.de>
6903
6904         PR middle-end/43379
6905         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
6906         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
6907
6908 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
6909             Alexandre Oliva  <aoliva@redhat.com>
6910
6911         PR tree-optimization/42917
6912         * lambda-code.c (remove_iv): Skip debug statements.
6913         (lambda_loopnest_to_gcc_loopnest): Likewise.
6914         (not_interesting_stmt): Debug statements are not interesting.
6915
6916 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
6917
6918         PR debug/43051
6919         PR debug/43092
6920         * cselib.c (cselib_preserve_constants,
6921         cfa_base_preserved_val): New static variables.
6922         (preserve_only_constants): New function.
6923         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
6924         clear its REG_VALUES.  If cselib_preserve_constants, don't
6925         empty the whole hash table, but preserve there VALUEs with constants,
6926         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
6927         (cselib_preserve_cfa_base_value): New function.
6928         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
6929         (cselib_init): Change argument to int bitfield.  Set
6930         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
6931         is in it.
6932         (cselib_finish): Clear cselib_preserve_constants and
6933         cfa_base_preserved_val.
6934         * cselib.h (enum cselib_record_what): New enum.
6935         (cselib_init): Change argument to int.
6936         (cselib_preserve_cfa_base_value): New prototype.
6937         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
6938         * dse.c (dse_step1): Likewise.
6939         * cfgcleanup.c (thread_jump): Likewise.
6940         * sched-deps.c (sched_analyze): Likewise.
6941         * gcse.c (local_cprop_pass): Likewise.
6942         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
6943         If FN is non-NULL, call the callback always and whenever it returns
6944         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
6945         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
6946         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
6947         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
6948         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
6949         * var-tracking.c: Include recog.h.
6950         (bb_stack_adjust_offset): Remove.
6951         (vt_stack_adjustments): Don't call it, instead just gather the
6952         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
6953         (adjust_stack_reference): Remove.
6954         (compute_cfa_pointer): New function.
6955         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
6956         (struct adjust_mem_data): New type.
6957         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
6958         functions.
6959         (get_address_mode): New function.
6960         (replace_expr_with_values): Use it.
6961         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
6962         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
6963         (adjust_sets): Remove.
6964         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
6965         Use get_address_mode.
6966         (get_adjusted_src): Remove.
6967         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
6968         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
6969         (add_with_sets): Don't call adjust_sets.
6970         (fp_setter, vt_init_cfa_base): New functions.
6971         (vt_initialize): Change return type to bool.  Move most of pool etc.
6972         initialization to the beginning of the function from end.  Pass
6973         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
6974         If !frame_pointer_needed, call vt_stack_adjustment before mos
6975         vector is filled, call vt_init_cfa_base if argp/framep has been
6976         eliminated to sp.  If frame_pointer_needed and argp/framep has
6977         been eliminated to hard frame pointer, set
6978         hard_frame_pointer_adjustment and call vt_init_cfa_base after
6979         encountering fp setter in the prologue.  For MO_ADJUST, call
6980         log_op_type before pusing the op into mos vector, not afterwards.
6981         Call adjust_insn before cselib_process_insn/add_with_sets,
6982         call cancel_changes (0) afterwards.
6983         (variable_tracking_main_1): Adjust for vt_initialize calling
6984         vt_stack_adjustments and returning whether it succeeded or not.
6985
6986 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
6987
6988         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
6989         debug statements.
6990
6991 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
6992
6993         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
6994         has been set.
6995         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
6996         drap_reg has not been set.
6997
6998 2010-03-15  Michael Matz  <matz@suse.de>
6999
7000         PR middle-end/43300
7001         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
7002         use it to expand block copies.
7003         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
7004         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
7005         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
7006
7007 2010-03-15  Richard Guenther  <rguenther@suse.de>
7008
7009         PR tree-optimization/43367
7010         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
7011         elimination check.
7012
7013 2010-03-15  Richard Guenther  <rguenther@suse.de>
7014
7015         PR tree-optimization/43317
7016         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
7017
7018 2010-03-15  Martin Jambor  <mjambor@suse.cz>
7019
7020         PR tree-optimization/43141
7021         * tree-sra.c (create_abstract_origin): New function.
7022         (modify_function): Call create_abstract_origin.
7023
7024 2010-03-15  Chris Demetriou  <cgd@google.com>
7025
7026         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
7027         wasn't copied.
7028
7029 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7030
7031         PR middle-end/43354
7032         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
7033         call insert_out_of_ssa_copy for default definitions.
7034
7035 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7036
7037         * graphite-clast-to-gimple.c (my_long_long): Defined.
7038         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
7039         * graphite-sese-to-poly.c (my_long_long): Defined.
7040         (scop_ivs_can_be_represented): Use it.
7041
7042 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7043
7044         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
7045         graphite-max-bbs-per-function, and loop-block-tile-size.
7046         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
7047         with "maximum".
7048         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
7049
7050 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7051
7052         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
7053         forward declaration.
7054         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
7055         (add_upper_bounds_from_estimated_nit): New.
7056         (build_loop_iteration_domains): Use it.
7057
7058 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7059
7060         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
7061
7062 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7063
7064         PR middle-end/43306
7065         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
7066         should be an INTEGER_CST.  Also handle CASE_CONVERT.
7067
7068 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7069
7070         * graphite.c (graphite_initialize): To bound the number of bbs per
7071         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
7072         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
7073         * doc/invoke.texi: Document it.
7074
7075 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7076
7077         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
7078         * graphite-sese-to-poly.h (build_poly_scop): Same.
7079
7080 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
7081
7082         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
7083         the number of parameters in the scop.  Use as an upper bound
7084         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
7085         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
7086         * doc/invoke.texi: Document it.
7087
7088 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
7089
7090         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
7091         * doc/c-tree.texi: Remove.
7092         * doc/generic.texi: Merge c-tree.texi here.
7093         * doc/gccint.texi (Trees): Remove menu entry.
7094         (c-tree.texi): Remove @include.
7095         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
7096         * doc/languages.texi (Reading RTL): Ditto.
7097
7098 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
7099
7100         PR target/42869
7101         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
7102
7103 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
7104
7105         PR middle-end/42431
7106         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
7107         code added to work around reload clobbering CONST insns.
7108
7109 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
7110
7111         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
7112         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
7113         (cselib_preserve_only_values): Remove retain argument, don't
7114         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
7115         * cselib.h (cselib_preserve_only_values): Remove retain argument.
7116         * var-tracking.c (micro_operation): Move insn field before union.
7117         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
7118         (struct variable_tracking_info_def): Remove n_mos field, change
7119         mos into a vector of micro_operations.
7120         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
7121         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
7122         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
7123         changing into a vector.
7124         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
7125         come before all other uops generated by add_stores.
7126         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
7127         argument removal.
7128         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
7129         a vector.  Run just one pass over the bbs instead of separate counting
7130         and computation phase.
7131         (vt_finalize): Free VTI (bb)->mos vector instead of array.
7132
7133         PR debug/43329
7134         * tree-inline.c (remap_decls): Put old_var rather than origin_var
7135         into *nonlocalized_list vector.
7136         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
7137         even if origin is non-NULL.
7138         (gen_variable_die): Likewise.
7139         (process_scope_var): Don't change origin.
7140         (gen_decl_die): Likewise.
7141         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
7142         before adding new edges instead of after it, fix moving over
7143         debug stmts.
7144
7145 2010-03-11  David S. Miller  <davem@davemloft.net>
7146
7147         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
7148         of four.
7149         * configure: Rebuild.
7150
7151 2010-03-11  Martin Jambor  <mjambor@suse.cz>
7152
7153         PR tree-optimization/43257
7154         * tree.c (assign_assembler_name_if_neeeded): New function.
7155         (free_lang_data_in_cgraph): Assembler name assignment moved to the
7156         above new function.
7157         * tree.h (assign_assembler_name_if_neeeded): Declare.
7158         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
7159         the function if needed.
7160
7161 2010-03-11  Chris Demetriou  <cgd@google.com>
7162
7163         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
7164         include/stdint-gcc.h, and include/stdint.h world-readable.
7165
7166 2010-03-11  Richard Guenther  <rguenther@suse.de>
7167
7168         PR tree-optimization/43255
7169         * tree-vrp.c (process_assert_insertions_for): Do not insert
7170         asserts for trivial conditions.
7171
7172 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7173
7174         PR tree-optimization/43280
7175         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
7176         generation.  Move calculation of size out of the if branch.
7177         (find_bswap): Modify compare number generation.
7178
7179 2010-03-11  Richard Guenther  <rguenther@suse.de>
7180
7181         PR lto/43200
7182         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
7183         (input_gimple_stmt): Fixup handled component types during
7184         operand read.  Also fix up decls in ADDR_EXPRs.
7185
7186 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
7187
7188         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
7189         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
7190
7191 2010-03-10  Jan Hubicka  <jh@suse.cz>
7192
7193         PR c/43288
7194         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
7195         * varasm.c (get_variable_section): Don't do that here...
7196         (make_decl_rtl): ... and here.
7197         (do_assemble_alias): Produce decl RTL.
7198         (assemble_alias): Likewise.
7199
7200 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
7201
7202         PR debug/43290
7203         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
7204         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
7205         of fde->vdrap_reg.
7206         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
7207         (based_loc_descr): Only express drap or vdrap regno based expressions
7208         using DW_OP_fbreg when not optimizing.
7209         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
7210         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
7211         REG_CFA_SET_VDRAP note.
7212
7213 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
7214
7215         PR tree-optimization/43236
7216         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
7217         error in calculation of base address in reverse iteration case.
7218         (generate_builtin): Take number of latch executions if the statement
7219         is in the latch.
7220
7221 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
7222
7223         PR middle-end/42859
7224         * tree-eh.c: Include pointer-set.h.
7225         (lower_eh_dispatch): Filter out duplicate case labels and
7226         remove the unneeded edge when the label is unused.  Return
7227         true when some edges are removed.
7228         (execute_lower_eh_dispatch): When any lowering resulted in
7229         removing an edge, also delete unreachable blocks.
7230
7231 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
7232
7233         PR bootstrap/43287
7234         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
7235         UNSPEC_MACHOPIC_OFFSET.
7236
7237 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
7238
7239         PR target/43294
7240         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
7241         (m68k_delegitimize_address): New function.
7242
7243 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
7244
7245         PR debug/43299
7246         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
7247
7248         PR debug/43299
7249         * var-tracking.c (adjust_sets): New function.
7250         (count_with_sets, add_with_sets): Use it.
7251         (get_adjusted_src): New inline function.
7252         (add_stores): Use it.
7253
7254         PR debug/43304
7255         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
7256         call cselib_dummy_expand_value_rtx_cb instead of
7257         cselib_expand_value_rtx_cb.
7258
7259         PR debug/43293
7260         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
7261         * config/i386/i386.c: Include debug.h and dwarf2out.h.
7262         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
7263         and .cfi_endproc around the pic thunks.
7264         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
7265         all queued unwind info register saves are saved before the call.
7266         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
7267         considered as sp-=4 for unwind info and the pop as sp+=4 which
7268         also clobbers dest, but doesn't actually restore it.
7269
7270         PR debug/43290
7271         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
7272         RTX_FRAME_RELATED_P.
7273
7274 2010-03-09  Jie Zhang  <jie@codesourcery.com>
7275
7276         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
7277         whitespaces in output template.
7278
7279 2010-03-09  Jie Zhang  <jie@codesourcery.com>
7280
7281         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
7282         out array boundary.
7283
7284 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
7285
7286         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
7287         builtins.exp in a separate job.
7288
7289 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7290
7291         * graphite-sese-to-poly.c (add_param_constraints): Use
7292         lower_bound_in_type and upper_bound_in_type.
7293
7294 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7295
7296         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
7297         instead of unsigned_type_node.
7298
7299 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7300             Reza Yazdani  <reza.yazdani@amd.com>
7301
7302         PR middle-end/43065
7303         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
7304         on pointer type parameters.
7305
7306 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
7307
7308         PR middle-end/42644
7309         PR middle-end/42130
7310         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
7311         handle conversions from pointer to integers.
7312         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
7313         induction variable, to be able to work with code generated by CLooG.
7314         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
7315         (build_poly_scop): Bail out if we cannot codegen a loop.
7316
7317 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
7318
7319         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
7320         code generation with gloog_error.
7321
7322 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7323
7324         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
7325         Call fold_convert on all the returned values.
7326         (expand_scalar_variables_expr): Pass to
7327         expand_scalar_variables_ssa_name the type of the resulting expression.
7328
7329 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7330
7331         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
7332         ppl_min_for_le_pointset.
7333         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
7334         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
7335
7336 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7337
7338         * graphite-dependences.c (map_into_dep_poly): Removed.
7339         (dependence_polyhedron_1): Use combine_context_id_scat.
7340
7341 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7342
7343         * graphite-poly.h (struct poly_scattering): Add layout documentation.
7344         (struct poly_bb): Same.
7345         (combine_context_id_scat): New.
7346
7347 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7348
7349         PR middle-end/42326
7350         * sese.c (name_defined_in_loop_p): Return false for default
7351         definitions.
7352
7353 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7354
7355         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
7356         and clean up the logic.
7357
7358 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
7359
7360         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
7361         early return.
7362
7363 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
7364
7365         * var-tracking.c (remove_cselib_value_chains): Define only for
7366         ENABLE_CHECKING.
7367         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
7368         delete_slot_part, emit_notes_for_differences_1): Don't call
7369         remove_cselib_value_chains here.
7370         (set_slot_part, emit_notes_for_differences_2): Don't call
7371         add_cselib_value_chains here.
7372         (preserved_values): New vector.
7373         (preserve_value): New function.
7374         (add_uses, add_stores, vt_add_function_parameters): Use it
7375         instead of cselib_preserve_value.
7376         (changed_values_stack): New vector.
7377         (check_changed_vars_0): New function.
7378         (check_changed_vars_1, check_changed_vars_2): Use it.
7379         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
7380         changed_values_stack VALUEs.
7381         (vt_emit_notes): For all preserved_values call
7382         add_cselib_value_chains.  If ENABLE_CHECKING call
7383         remove_cselib_value_chains before verifying value_chains is empty.
7384         Initialize and free changed_values_stack.
7385         (vt_initialize): Initialize preserved_values.
7386         (vt_finalize): Free preserved_values.
7387
7388 2010-03-08  Richard Guenther  <rguenther@suse.de>
7389
7390         PR tree-optimization/43269
7391         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
7392         region detection.
7393
7394 2010-03-08  Martin Jambor  <mjambor@suse.cz>
7395
7396         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
7397         (ipa_is_param_called): Removed.
7398         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
7399         (ipa_print_node_params): Do not print the called flag.
7400         (ipa_write_node_info): Do not stream the called flag.
7401         (ipa_read_node_info): Likewise.
7402
7403 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
7404
7405         PR debug/43176
7406         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
7407         * cselib.c (struct expand_value_data): Add dummy field.
7408         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
7409         dummy to false.
7410         (cselib_dummy_expand_value_rtx_cb): New function.
7411         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
7412         any rtl.
7413         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
7414         * var-tracking.c: Include pointer-set.h.
7415         (variable): Change n_var_parts to char from int.  Add
7416         cur_loc_changed and in_changed_variables fields.
7417         (variable_canonicalize): Remove.
7418         (shared_var_p): New inline function.
7419         (unshare_variable): Maintain cur_loc_changed and
7420         in_changed_variables fields.  If var was in changed_variables,
7421         replace it there with new_var.  Just copy cur_loc instead of
7422         resetting it to something else.
7423         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
7424         (dataflow_set_union): Don't call variable_canonicalize.
7425         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
7426         of their DEBUG_EXPR_TREE_DECLs.
7427         (canonicalize_loc_order_check): Verify that cur_loc is NULL
7428         and in_changed_variables and cur_loc_changed is false.
7429         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
7430         and cur_loc_changed.  Don't update cur_loc here.
7431         (variable_merge_over_src): Don't call variable_canonicalize.
7432         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
7433         removing loc that is equal to cur_loc, clear cur_loc,
7434         set cur_loc_changed and ensure variable_was_changed is called.
7435         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
7436         compare pointers in cur_loc check, if it is equal to loc,
7437         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
7438         (variable_different_p): Remove compare_current_location argument,
7439         don't compare cur_loc.
7440         (dataflow_set_different_1): Adjust variable_different_p caller.
7441         (variable_was_changed): If dv had some var in changed_variables
7442         already, reset in_changed_variables flag for it and propagate
7443         cur_loc_changed over to the new variable.  On empty var
7444         always set cur_loc_changed.  Set in_changed_variables on whatever
7445         var is added to changed_variables.
7446         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
7447         Use shared_var_p.  When removing loc that is equal to cur_loc,
7448         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
7449         end, don't set it to something else, just call variable_was_changed.
7450         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
7451         loc being removed, clear cur_loc and set cur_loc_changed.
7452         Set cur_loc_changed if all locations have been removed.
7453         (struct expand_loc_callback_data): New type.
7454         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
7455         allocated.  Always create SUBREGs if simplify_subreg failed.
7456         Prefer to use cur_loc, when that fails and still in
7457         changed_variables (and seen first time) recompute it.  Set
7458         cur_loc_changed of variables which had to change cur_loc and
7459         compute elcd->cur_loc_changed if any of the subexpressions used
7460         had to change cur_loc.
7461         (vt_expand_loc): Adjust to pass arguments in
7462         expand_loc_callback_data structure.
7463         (vt_expand_loc_dummy): New function.
7464         (emitted_notes): New variable.
7465         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
7466         that weren't used for any other decl in current
7467         emit_notes_for_changes call call vt_expand_loc_dummy to update
7468         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
7469         first loc_chain location if NULL before.  Always use just
7470         cur_loc instead of first loc_chain location.  When cur_loc_changed
7471         is false, when not --enable-checking=rtl just don't emit any note.
7472         When rtl checking, compute the note and assert it is the same
7473         as previous note.  Clear cur_loc_changed and in_changed_variables
7474         at the end before removing from changed_variables.
7475         (check_changed_vars_3): New function.
7476         (emit_notes_for_changes): Traverse changed_vars to call
7477         check_changed_vars_3 on each changed var.
7478         (emit_notes_for_differences_1): Clear cur_loc_changed and
7479         in_changed_variables.  Recompute cur_loc of new_var.
7480         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
7481         (vt_emit_notes): Initialize and destroy emitted_notes.
7482
7483 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
7484
7485         PR rtl-optimization/42220
7486         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
7487         Use verify_reg_tracked to determine if we should use OP_OUT rather
7488         than OP_INOUT.
7489         (build_def_use): If we see an in-out operand for a register that we
7490         know nothing about, treat is an output if possible, fail the block if
7491         not.
7492
7493 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
7494
7495         PR debug/42897
7496         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
7497         permanently.
7498
7499 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
7500
7501         PR debug/42897
7502         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
7503         uses of relevant DEFs that are dead outside the loop too.
7504
7505 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
7506
7507         * var-tracking.c (dataflow_set_merge): Swap src and src2.
7508         Reverted:
7509         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
7510         PR debug/41371
7511         * var-tracking.c (values_to_unmark): New variable.
7512         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
7513         values_to_unmark vector.  Moved body to...
7514         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
7515         instead queue it into values_to_unmark vector.
7516         (vt_find_locations): Free values_to_unmark vector.
7517
7518 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
7519
7520         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
7521         (site.exp): Export them when plugins are enabled.
7522
7523 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
7524
7525         PR middle-end/42326
7526         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
7527         that contain scevs.
7528         (chrec_fold_multiply): Same.
7529
7530 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
7531
7532         PR c/43248
7533         * c-decl.c (build_compound_literal): Return early if init is
7534         an error_mark_node.
7535
7536 2010-03-04  Martin Jambor  <mjambor@suse.cz>
7537
7538         PR tree-optimization/43164
7539         PR tree-optimization/43191
7540         * tree-sra.c (type_consists_of_records_p): Reject records with
7541         zero-size bit-fields at the end.
7542
7543 2010-03-04  Mike Stump  <mikestump@comcast.net>
7544
7545         * Makefile.in (TAGS): Remove *.y.
7546
7547 2010-03-04  Richard Guenther  <rguenther@suse.de>
7548
7549         PR tree-optimization/40761
7550         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
7551         in reverse order.
7552         (my_rev_post_order_compute): New function.
7553         (init_pre): Call it.
7554
7555 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
7556
7557         PR middle-end/43209
7558         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
7559         decrease the cost of an IV candidate when the cost is infinite.
7560
7561 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7562
7563         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
7564         Use '3DNow!' for the extension of that name, ensure normal space
7565         after the string.
7566         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
7567
7568 2010-03-03  Jeff Law  <law@redhat.com>
7569
7570         * PR middle-end/32693
7571         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
7572         than gen_rtx_SUBREG.
7573         (extract_bit_field_1): Likewise.
7574
7575 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
7576
7577         * doc/sourcebuild.texi (Test directives): Document that arguments
7578         include-opts and exclude-opts are now optional for dg-skip-if,
7579         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
7580
7581 2010-03-03  Jason Merrill  <jason@redhat.com>
7582
7583         PR c++/12909
7584         * cgraph.h (varpool_node): Add extra_name field.
7585         * varpool.c (varpool_extra_name_alias): New.
7586         (varpool_assemble_decl): Emit extra name aliases.
7587         (varpool_mark_needed_node): Look past an extra name alias.
7588         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
7589         * lto-streamer-in.c (lto_input_tree): Read it.
7590         * lto-streamer-out.c (output_unreferenced_globals): Write it.
7591
7592 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
7593
7594         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
7595         (sparc*-*-solaris2*): ...this.
7596
7597 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
7598
7599         PR debug/43229
7600         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
7601         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
7602         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
7603         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
7604
7605         PR debug/43237
7606         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
7607         fallthrough to default handling, just with want_address 0 instead of 2.
7608         For single element lists, add_AT_loc directly, otherwise create an
7609         artificial variable DIE and stick location list to it.
7610
7611         PR debug/43177
7612         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
7613         (VAL_EXPR_HAS_REVERSE): Define.
7614         (reverse_op): New function.
7615         (add_stores): For reversible operations add an extra MO_VAL_USE.
7616
7617 2010-03-02  Jason Merrill  <jason@redhat.com>
7618
7619         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
7620
7621 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
7622
7623         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
7624         (sparc64-*-linux*): Likewise.
7625         (sparc64-*-solaris2*): Include assembler files before linker ones.
7626         (sparc-*-solaris2*): Simplify and reorder to match previous case.
7627         * config/sparc/gas.h: Delete.
7628         * config/sparc/sol2-64.h: Add copyright notice.
7629         * config/sparc/sol2-gas-bi.h: Likewise.
7630         * config/sparc/sol2-gld.h: Likewise.
7631         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
7632         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
7633         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
7634         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
7635         (sparc_elf_asm_named_section): Rename into...
7636         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
7637
7638 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
7639
7640         * config/alpha/alpha.c (override_options): Fix -mtune error message.
7641
7642 2010-03-02  Jeff Law  <law@redhat.com>
7643
7644         PR middle-end/42431
7645         * reload1.c (rtx_p, substitute_stack): Declare.
7646         (substitute): Record addresses of changed rtxs.
7647         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
7648         Restore the original rtx when complete.
7649         (reload): Free subsitute_stack when complete.
7650
7651 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
7652
7653         * doc/gccint.texi (menu): Add Testsuites as a chapter.
7654         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
7655         new chapter.
7656         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
7657         LTO Testing, gcov Testing, profopt Testing, compat Testing,
7658         Torture Tests): Change from subsection to section.
7659
7660 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
7661             Steven Bosscher  <steven@gcc.gnu.org>
7662
7663         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
7664         instead of bb.
7665
7666 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
7667
7668         PR middle-end/42640
7669         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
7670         the assignment from the new induction variable to the assignment
7671         of the value from the original loop PHI function.
7672
7673 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
7674             Daniel Jacobowitz  <dan@codesourcery.com>
7675
7676         * doc/sourcebuild.texi (Test directives): Clarify options to
7677         dg-skip-if.
7678
7679 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7680
7681         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
7682         Disable cfi directives unless GCC and gas agree on using read-only
7683         .eh_frame sections for 64-bit.
7684         * configure: Regenerate.
7685
7686 2010-03-01  Richard Guenther  <rguenther@suse.de>
7687
7688         PR tree-optimization/43220
7689         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
7690         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
7691
7692 2010-03-01  Richard Guenther  <rguenther@suse.de>
7693             Martin Jambor  <mjambor@suse.cz>
7694
7695         PR middle-end/41250
7696         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
7697         gimplified parameters.
7698
7699 2010-03-01  Christian Bruel  <christian.bruel@st.com>
7700
7701         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
7702
7703 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
7704
7705         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
7706
7707 2010-03-01  Richard Guenther  <rguenther@suse.de>
7708
7709         PR middle-end/43213
7710         * expr.c (expand_assignment): Use the alias-oracle to tell
7711         if the rhs aliases the result decl.
7712
7713 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7714
7715         PR pch/14940
7716         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
7717         to sol_gt_pch_get_address.
7718         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
7719         64-bit, SPARC and x86.
7720         (sol_gt_pch_get_address): New function.
7721
7722 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
7723
7724         * toplev.h (inform_n, error_n): Declare.
7725         * diagnostic.c (inform_n, error_n): New function.
7726
7727 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
7728
7729         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
7730         has no rtl yet when processing local_decls, queue it and recheck
7731         if deferred stack allocation hasn't assigned it rtl.
7732
7733 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
7734
7735         * config/sh/sh.c (unspec_bbr_uid): New.
7736         (gen_block_redirect): Use it instead of INSN_UID.
7737         (gen_far_branch): Likewise.
7738
7739 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
7740
7741         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
7742         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
7743
7744 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7745
7746         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
7747         (Warning Options): -Wno-conversion-null is valid for
7748         Objective-C++ as well.
7749         * doc/tm.texi (Named Address Spaces): Likewise.
7750         * doc/plugins.texi (Plugins): Replace TABs with spaces.
7751         * doc/tree-ssa.texi (Tree SSA): Likewise.
7752
7753 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
7754
7755         PR bootstrap/43202
7756         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
7757         by default.  Don't set the default arch for
7758         i[34567]86-*-darwin*|x86_64-*-darwin*.
7759
7760 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
7761
7762         PR bootstrap/43202
7763         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
7764         default.  Set the default 32bit/64bit archs with $with_arch
7765         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
7766
7767 2010-02-27  Richard Guenther  <rguenther@suse.de>
7768
7769         PR tree-optimization/43186
7770         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
7771         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
7772         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
7773         unroller iterations.
7774
7775 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
7776
7777         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
7778         required and i[34567]86-*-* targets don't support 64bit ISA.
7779
7780 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
7781
7782         PR ada/43096
7783         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
7784         the same alias set.
7785
7786 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
7787
7788         * config.gcc: Set the default arch at least to Prescott for
7789         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
7790         if SSE math is enabled.
7791
7792 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7793
7794         * diagnostic.c (diagnostic_initialize): Update.
7795         (diagnostic_report_diagnostic): Test inhibit_notes_p for
7796         informative notes.
7797         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
7798         (diagnostic_inhibit_notes): New.
7799         * toplev.c (process_options): inhibit notes with -fcompare-debug.
7800
7801 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7802
7803         PR c/20631
7804         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
7805         * doc/standards.texi: Likewise.
7806         * doc/extend.texi: Likewise.
7807         * doc/trouble.texi: Likewise.
7808         * doc/cppopts.texi: Likewise.
7809         * doc/install.texi: Likewise.
7810         * c.opt (std=c90,std=gnu90): New options.
7811         * c-opts.c (c_common_handle_option): Handle them.
7812
7813 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7814
7815         PR c/24577
7816         * c-decl.c (undeclared_variable): Use an informative note.
7817
7818 2010-02-26  Richard Guenther  <rguenther@suse.de>
7819
7820         PR tree-optimization/43186
7821         * gimple.h (gimple_fold): Remove.
7822         * gimple.c (gimple_fold): Remove.  Inline into single user ...
7823         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
7824         Try harder for conditions.
7825
7826 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
7827
7828         PR debug/43190
7829         * function.c (used_types_insert): Don't skip through named pointer
7830         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
7831         and it is different from the main variant's type.
7832
7833 2010-02-26  Nick Clifton  <nickc@redhat.com>
7834
7835         * config/rx/rx.md (sminsi3): Remove bogus alternative.
7836
7837 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
7838
7839         * config.gcc: Support --with-fpmath=sse for x86.
7840
7841         * config/i386/ssemath.h: New.
7842
7843         * doc/install.texi (--with-fpmath=sse): Documented.
7844
7845 2010-02-26  Richard Guenther  <rguenther@suse.de>
7846
7847         PR tree-optimization/43188
7848         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
7849         vector types of over-aligned element type.
7850
7851 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
7852
7853         PR target/43175
7854         * config/i386/i386.c (expand_vec_perm_blend): Use correct
7855         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
7856
7857 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
7858
7859         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
7860
7861 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
7862
7863         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
7864         * var-tracking.c: Include diagnostic.h.
7865         (debug_dv): New function.
7866         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
7867
7868         PR debug/43160
7869         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
7870         (add_value_chain, add_value_chains, remove_value_chain,
7871         remove_value_chains): Handle DEBUG_EXPRs.
7872         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
7873
7874         PR debug/43161
7875         * regcprop.c (struct queued_debug_insn_change): New type.
7876         (struct value_data_entry): Add debug_insn_changes field.
7877         (struct value_data): Add n_debug_insn_changes field.
7878         (debug_insn_changes_pool): New variable.
7879         (free_debug_insn_changes, apply_debug_insn_changes,
7880         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
7881         (kill_value_one_regno): Call free_debug_insn_changes if needed.
7882         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
7883         fields.
7884         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
7885         changes for them.
7886         (copyprop_hardreg_forward_1): Don't call apply_change_group for
7887         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
7888         changes, call cprop_find_used_regs via note_stores.
7889         (copyprop_hardreg_forward): When copying vd from predecessor
7890         which has any queued DEBUG_INSN changes, make sure the pointers are
7891         cleared.  At the end call df_analyze and then if there are any
7892         DEBUG_INSN changes queued at the end of some basic block for still
7893         live registers, apply them.
7894         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
7895
7896 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
7897
7898         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
7899         (arm*-*-*): Ditto.
7900
7901 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
7902
7903         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
7904         targets.  Set the default with_cpu/with_arch from arch/cpu.
7905         Allow x86-64 and native for with_cpu/with_arch.
7906
7907 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
7908
7909         * ebitmap.c: Change calls to verify_popcount with calls to
7910         sbitmap_verify_popcount.
7911         (ebitmap_clear_bit): Fixed map->cacheindex test and
7912         map>cache update when bit clearing results in an empty
7913         element.
7914
7915 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
7916
7917         PR target/43154
7918         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
7919         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
7920         and support both V2DF and V2DI modes.
7921         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
7922         support both V2DF and V2DI modes.
7923         (general): Delete trailing whitespace from a few patterns.
7924
7925         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
7926         V2DF/V2DI interleave high/low builtins.
7927
7928         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
7929         new VSX builtins.
7930
7931         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
7932         interleave high/low functions.
7933
7934 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
7935
7936         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
7937         #pragma extern_prefix.
7938
7939 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
7940
7941         PR debug/43166
7942         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
7943         BLKmode, assert op0 is a MEM and just adjust its mode.
7944
7945         PR debug/43165
7946         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
7947         if bitpos isn't multiple of mode's bitsize.
7948
7949 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7950
7951         * c.opt (-ftemplate-depth=): New.
7952         (-ftemplate-depth-): Deprecate.
7953         * optc-gen.awk: Handle -ftemplate-depth=.
7954         * opth-gen.awk: Likewise.
7955         * c-opts.c (c_common_handle_option): Likewise.
7956         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
7957
7958 2010-02-24  Jason Merrill  <jason@redhat.com>
7959
7960         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
7961
7962 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7963
7964         * cfg.c (alloc_aux_for_block): Remove inline.
7965         (alloc_aux_for_edge): Likewise.
7966
7967 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7968
7969         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
7970
7971 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7972
7973         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
7974         * config/i386/sol2-gas.h: New file.
7975         * config.gcc (i[34567]86-*-solaris2*): Use it.
7976
7977 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7978
7979         PR c/43128
7980         * c-typeck.c (ep_convert_and_check): New.
7981         (build_conditional_expr): Use it.
7982         (build_binary_op): Likewise.
7983
7984 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
7985
7986         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
7987
7988         PR debug/43150
7989         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
7990         bounds even for -O+.
7991         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
7992         expr needs to have DECL_NAME set.
7993
7994 2010-02-24  Nick Clifton  <nickc@redhat.com>
7995
7996         * config/mep/mep.c: Include gimple.h.
7997         (mep_function_uses_sp): Delete unused function.
7998         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
7999         parameters.  Use unsigned integers to count args.  Return a
8000         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
8001
8002 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
8003
8004         PR target/43107
8005         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
8006         greater or equal to nelt instead of 2 * nelt.
8007         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
8008         with nelt - 1.
8009
8010 2010-02-23  Jason Merrill  <jason@redhat.com>
8011
8012         PR debug/42800
8013         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
8014         in cfun->local_decls even if they have register types.
8015
8016         PR c++/42837
8017         * stor-layout.c (place_field): Don't warn about unnecessary
8018         DECL_PACKED if the type is packed.
8019
8020 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
8021
8022         PR target/43139
8023         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
8024         GOTOFF relocs, even when the base reg isn't pic pointer.
8025
8026 2010-02-23  Michael Matz  <matz@suse.de>
8027
8028         PR debug/43077
8029         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
8030         (expand_gimple_basic_block): Generate and use debug temps if there
8031         are debug uses left after the last real use of TERed ssa names.
8032         Unlink debug immediate uses when they are expanded.
8033
8034 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8035
8036         PR 43123
8037         * config/i386/i386.c (override_options): Reorganise to provide
8038         better error messages.
8039
8040 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
8041
8042         PR middle-end/43083
8043         * graphite-scop-detection.c (create_single_exit_edge): Move
8044         the call to find_single_exit_edge to....
8045         (create_sese_edges): ...here.  Don't handle multiple edges
8046         exiting the function.
8047         (build_graphite_scops): Don't handle multiple edges
8048         exiting the function.
8049
8050 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
8051
8052         PR middle-end/43097
8053         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
8054         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
8055
8056 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
8057
8058         PR middle-end/43026
8059         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
8060
8061 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8062
8063         PR c++/43126
8064         * c-typeck.c (convert_arguments): Print declaration location.
8065         * c-common.c (validate_nargs): Rename as
8066         builtin_function_validate_nargs.
8067         (check_builtin_function_arguments): Update.
8068
8069 2010-02-22  Richard Guenther  <rguenther@suse.de>
8070
8071         PR lto/43045
8072         * tree-inline.c (declare_return_variable): Use the type of
8073         the call stmt lhs if available.
8074
8075 2010-02-22  Duncan Sands  <baldrick@free.fr>
8076
8077         * passes.c (register_pass): Always consider all pass lists when
8078         ref_pass_instance_number is zero.
8079
8080 2010-02-22  Richard Guenther  <rguenther@suse.de>
8081
8082         PR tree-optimization/42749
8083         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
8084         parameter.  Do arithmetic in the original type.
8085         (update_accumulator_with_ops): Likewise.
8086         (adjust_accumulator_values): Adjust.
8087
8088 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8089
8090         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
8091         (QI to BLKmode splitter): New splitter.
8092
8093 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
8094
8095         * config/i386/i386.c (initial_ix86_tune_features): Turn on
8096         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
8097
8098 2010-02-22  Richard Guenther  <rguenther@suse.de>
8099
8100         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
8101
8102 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
8103
8104         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
8105         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
8106         ($(T)crti.o, $(T)crtn.o): Remove rules.
8107
8108 2010-02-21  Tobias Burnus  <burnus@net-b.de>
8109
8110         PR fortran/35259
8111         * doc/invoke.texi (-fassociative-math): Document that this
8112         option is automatically enabled for Fortran.
8113
8114 2010-02-20  David S. Miller  <davem@davemloft.net>
8115
8116         * configure.ac: Test if linker and assembler properly support
8117         GOTDATA_OP relocations.
8118         * configure: Rebuild.
8119         * config.in: Likewise.
8120         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
8121         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
8122         (movsi_high_pic): Likewise.
8123         (movdi_lo_sum_pic): Likewise.
8124         (movdi_high_pic): Likewise.
8125         (movsi_pic_gotdata_op): New pattern.
8126         (movdi_pic_gotdata_op): Likewise.
8127         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
8128         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
8129
8130 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
8131
8132         PR target/43067
8133         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
8134         attribute to ssemul.
8135         (xop_mulv2div2di3_high): Ditto.
8136
8137 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8138
8139         PR c++/35669
8140         * c.opt (Wconversion-null): New option.
8141         * doc/invoke.texi (Wconversion-null): Document.
8142
8143 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8144
8145         * common.opt (Wlarger-than-): Add Undocumented.
8146
8147 2010-02-19  Mike Stump  <mikestump@comcast.net>
8148
8149         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
8150
8151 2010-02-19  Jason Merrill  <jason@redhat.com>
8152
8153         PR target/40332
8154         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
8155         * configure: Likewise.
8156
8157 2010-02-20  Alan Modra  <amodra@gmail.com>
8158
8159         PR middle-end/42344
8160         * cgraph.h (cgraph_make_decl_local): Declare.
8161         * cgraph.c (cgraph_make_decl_local): New function.
8162         (cgraph_make_node_local): Use it.
8163         * cgraphunit.c (cgraph_function_versioning): Likewise.
8164         * ipa.c (function_and_variable_visibility): Likewise.
8165
8166 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
8167
8168         PR bootstrap/43121
8169         * except.c (sjlj_emit_function_enter): Don't call
8170         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
8171         directly.
8172         * rtl.h (add_reg_br_prob_note): Remove prototype.
8173
8174 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8175
8176         PR 41779
8177         * c-common.c (conversion_warning): Remove widening conversions
8178         before checking the conversion of integers to reals.
8179
8180 2010-02-19  Mike Stump  <mikestump@comcast.net>
8181
8182         PR middle-end/43125
8183         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
8184
8185         PR objc/43061
8186         * cgraphunit.c (process_function_and_variable_attributes): Check
8187         DECL_PRESERVE_P instead of looking up attribute "used".
8188         * ipa-pure-const.c (check_decl): Likewise.
8189         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
8190         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
8191         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
8192         instead of attribute "used".
8193         * config/sol2-c.c (solaris_pragma_init): Likewise.
8194         (solaris_pragma_fini): Likewise.
8195
8196 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
8197
8198         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
8199         Use XCNEW instead of xcalloc.
8200         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
8201         XNEW instead of xmalloc.
8202         (get_fields): Use XNEWVEC instead of xmalloc.
8203
8204         PR debug/43084
8205         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
8206         populate vars array.
8207         (create_new_general_access): For debug stmts just reset value.
8208         (get_stmt_accesses): For accesses within debug stmts just record them
8209         using add_access_to_acc_sites instead of preventing the peeling or
8210         counting them as accesses.
8211
8212         PR middle-end/42233
8213         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
8214
8215 2010-02-19  Richard Guenther  <rguenther@suse.de>
8216
8217         PR tree-optimization/42916
8218         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
8219         instructions.
8220
8221 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
8222
8223         * configure.ac: Replace all uses of changequote in macro arguments
8224         with proper quoting.
8225
8226 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
8227
8228         PR middle-end/42233
8229         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
8230
8231 2010-02-19  Richard Guenther  <rguenther@suse.de>
8232
8233         PR tree-optimization/42944
8234         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
8235         test for aliasing with errno.
8236
8237 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
8238
8239         PR middle-end/42233
8240         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
8241         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
8242         * dojump.c: Include output.h.
8243         (inv): New inline function.
8244         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
8245         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
8246         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
8247         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
8248         argument, pass it down to other calls.
8249         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
8250         add REG_BR_PROB note to the conditional jump.
8251         * cfgexpand.c (add_reg_br_prob_note): Removed.
8252         (expand_gimple_cond): Don't call it, add the probability
8253         as last argument to jumpif_1/jumpifnot_1.
8254         * Makefile.in (dojump.o): Depend on output.h.
8255         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
8256         callers.
8257         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
8258         * stmt.c (do_jump_if_equal): Likewise.
8259         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
8260         * loop-unswitch.c (compare_and_jump_seq): Likewise.
8261         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
8262         Likewise.
8263         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
8264         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
8265         jumpifnot_1 callers.
8266         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
8267         callers.
8268         (store_expr): Adjust jumpifnot caller.
8269         (store_constructor): Adjust jumpif caller.
8270
8271         PR middle-end/42233
8272         * gimplify.c (gimple_boolify): For __builtin_expect call
8273         gimple_boolify also on its first argument.
8274
8275 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
8276
8277         * configure.ac (gnu-unique-object): Wrap regexps using [] in
8278         changequote block.
8279         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
8280         * configure: Regenerated.
8281
8282 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
8283
8284         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
8285         lang_hooks.types_compatible_p instead of comptypes.
8286
8287 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
8288
8289         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
8290         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
8291         if __prefer_thumb__ is defined.
8292
8293 2010-02-18  Martin Jambor  <mjambor@suse.cz>
8294
8295         PR tree-optimization/43066
8296         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
8297         array with zero-sized element type.
8298
8299 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
8300
8301         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
8302         rtx, allocate struct var_loc_node here and return it to the
8303         caller, and only if it is actually needed.
8304         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
8305         move it earlier and return immediately if it returns NULL.
8306
8307 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
8308
8309         * config/sparc/gas.h: New file.  Restore
8310         TARGET_ASM_NAMED_SECTION to its ELF default.
8311         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
8312         check !HAVE_GNU_AS.
8313         * config/sparc/sparc.c (sparc_elf_asm_named_section):
8314         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
8315         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
8316         after sparc/sysv4.h.
8317
8318 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
8319
8320         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
8321
8322 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
8323
8324         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
8325         patterns from predicated pattern.
8326
8327 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
8328
8329         PR target/43103
8330         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
8331         for insn mnemonic suffix.
8332
8333 2010-02-17  Richard Guenther  <rguenther@suse.de>
8334
8335         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
8336         to loop PHI nodes.
8337
8338 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
8339
8340         PR debug/42918
8341         * caller-save.c (save_call_clobbered_regs): If BB ends with
8342         a DEBUG_INSN, move any notes in between last real insn and the last
8343         DEBUG_INSN after the last DEBUG_INSN.
8344
8345 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
8346
8347         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
8348         Fix return type.  Fix argument type.  Explain meaning of return value.
8349
8350 2010-02-16  Richard Guenther  <rguenther@suse.de>
8351
8352         PR tree-optimization/41043
8353         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
8354         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
8355         statements ...
8356         (vrp_visit_phi_node): ... but only for loop PHI nodes.
8357
8358 2010-02-16  Ira Rosen  <irar@il.ibm.com>
8359
8360         PR tree-optimization/43074
8361         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
8362         * tree-vect-loop.c (vect_analyze_loop_operations): Add
8363         vectorizable cycles in hybrid SLP check.
8364         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
8365
8366 2010-02-16  Richard Guenther  <rguenther@suse.de>
8367
8368         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
8369         (true_dependence): If memrefs_conflict_p computes must-alias
8370         trust it.  Move TBAA check after offset-based disambiguation.
8371         (canon_true_dependence): Likewise.
8372
8373 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
8374
8375         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
8376         * doc/invoke.texi: Document it.
8377         * var-tracking.c: Include toplev.h and params.h.
8378         (vt_find_locations): Return bool indicating success.  Compute
8379         hash sizes unconditionally.  Check new parameter, report.
8380         (variable_tracking_main_1): Check vt_find_locations results and
8381         retry.  Renamed from...
8382         (variable_tracking_main): ... this.  New wrapper to preserve
8383         flag_var_tracking_assignments.
8384         * Makefile.in (var-tracking.o): Adjust dependencies.
8385
8386 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
8387             Jakub Jelinek <jakub@redhat.com>
8388
8389         PR target/42854
8390         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
8391         if weak_import attribute is present.
8392         * config/darwin.c (machopic_select_section): Likewise.
8393
8394 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
8395
8396         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
8397         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
8398         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
8399         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
8400
8401         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
8402         types.
8403
8404         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
8405         Fix argument types.
8406
8407         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
8408         Rewrite text to refer to the names.
8409
8410 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
8411
8412         * config/i386/i386-builtin-types.def
8413         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
8414         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
8415         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
8416         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
8417         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
8418         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
8419         IX86_BUILTIN_VPERMIL2PS256.
8420         (MULTI_ARG_4_DF2_DI_I): Defined.
8421         (MULTI_ARG_4_DF2_DI_I1): Defined.
8422         (MULTI_ARG_4_SF2_SI_I): Defined.
8423         (MULTI_ARG_4_SF2_SI_I1): Defined.
8424         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
8425         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
8426         __builtin_ia32_vpermil2ps256.
8427         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
8428         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
8429         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
8430         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
8431         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
8432         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
8433         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
8434         CODE_FOR_xop_vpermil2v8sf3.
8435         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
8436         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
8437         * config/i386/xopintrin.h (_mm_permute2_pd): New.
8438         (_mm256_permute2_pd): New.
8439         (_mm_permute2_ps): New.
8440         (_mm256_permute2_ps): New.
8441
8442 2010-02-15  Nick Clifton  <nickc@redhat.com>
8443
8444         * config/h8300/h8300.c (h8300_push_pop): Use bool type for
8445         boolean parameters.  Use emit_jump_insn when emitting a pop
8446         instruction containing a return insn.
8447         (push): Use 'true' rather than '1' as second parameter to F.
8448         (h8300_expand_prologue): Likewise.
8449         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
8450         (h8300_expand_epilogue): Likewise.
8451
8452 2010-02-15  Richard Guenther  <rguenther@suse.de>
8453
8454         PR middle-end/43068
8455         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
8456         if that is zero.
8457
8458 2010-02-15  Nick Clifton  <nickc@redhat.com>
8459
8460         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
8461         delta.
8462
8463 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
8464
8465         * intl.c (fake_ngettext): New function.
8466         * intl.h (fake_ngettext): Declare.
8467         (ngettext): Define macro.
8468         * collect2.c (notice_translated): New function.
8469         (main): Use notice_translated and ngettext.
8470         * collect2.h (notice_translated): Declare.
8471
8472 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
8473
8474         * reorg.c (delete_computation): Comment fixes.
8475         * caller-save.c (setup_save_areas): Idem.
8476         * sel-sched-dump.c (dump_lv_set): Idem.
8477         * rtl.def: Idem.
8478
8479 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8480
8481         * config/s390/s390.c (s390_sched_init): New function.
8482         (TARGET_SCHED_INIT): Target hook defined.
8483
8484 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
8485             Jack Howarth  <howarth@bromo.med.uc.edu>
8486             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8487
8488         PR target/42982
8489         Partial revert of unintended change in fix for PR41605.
8490         * config/darwin.h: Fix typo.
8491         * config/darwin9.h: Same.
8492
8493 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
8494
8495         * c-pch.c (pch_init): Clear v.
8496
8497 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
8498
8499         PR middle-end/42930
8500         * graphite-scop-detection.c (graphite_can_represent_scev): Call
8501         graphite_can_represent_init for MULT_EXPR.
8502
8503 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
8504
8505         PR middle-end/42914
8506         PR middle-end/42530
8507         * graphite-sese-to-poly.c (remove_phi): New.
8508         (translate_scalar_reduction_to_array): Call remove_phi.
8509
8510 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
8511
8512         PR middle-end/42771
8513         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
8514         * graphite-clast-to-gimple.h (gloog): Update declaration.
8515         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
8516         * graphite-poly.h (struct poly_bb): Add missing comments.
8517         (struct scop): Add poly_scop_p field.
8518         (POLY_SCOP_P): New.
8519         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
8520         * graphite.c (graphite_transform_loops): Build the polyhedral
8521         representation for each scop before code generation.
8522         * sese.c (rename_variables_in_operand): Removed.
8523         (rename_variables_in_expr): Return the renamed expression.
8524         (rename_sese_parameters): New.
8525         * sese.h (rename_sese_parameters): Declared.
8526
8527 2010-02-11  Richard Guenther  <rguenther@suse.de>
8528
8529         PR tree-optimization/42998
8530         * tree-ssa-pre.c (create_expression_by_pieces): Treat
8531         POINTER_PLUS_EXPR properly.
8532
8533 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
8534             Changpeng Fang  <changpeng.fang@amd.com>
8535
8536         PR middle-end/40886
8537         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
8538         the cost of an IV candidate when the IV is used in a test against zero.
8539
8540         * gcc.dg/tree-ssa/ivopts-3.c: New.
8541
8542 2010-02-11  Richard Guenther  <rguenther@suse.de>
8543
8544         PR lto/41664
8545         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
8546         pointer-vs-decl case by swapping refs.  Handle some cases
8547         of pointer-vs-decl disambiguations more conservatively.
8548         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
8549         to false after expanding.
8550
8551 2010-02-11  Richard Guenther  <rguenther@suse.de>
8552
8553         PR driver/43021
8554         * gcc.c (process_command): Handle LTO file@offset case more
8555         appropriately.
8556
8557 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
8558
8559         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
8560         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
8561         of DEBUG_INSNs.
8562         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
8563
8564         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
8565         if MEM's mode size isn't DWARF2_ADDR_SIZE.
8566         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
8567         Optimize eq/ne comparisons when both arguments are known to be
8568         zero-extended.
8569         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
8570         Don't mask operands unnecessarily if they are known to be already
8571         zero-extended.
8572
8573 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
8574
8575         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
8576         instead of loop.
8577
8578 2010-02-10  Richard Guenther  <rguenther@suse.de>
8579
8580         PR tree-optimization/43017
8581         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
8582         for wrapping signed arithmetic.
8583
8584 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
8585
8586         PR debug/43010
8587         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
8588         if no debug info should be emitted for it.
8589
8590 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
8591
8592         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
8593         note when flag_exceptions is set.
8594
8595 2010-02-10  Duncan Sands  <baldrick@free.fr>
8596
8597         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
8598
8599 2010-02-10  Richard Guenther  <rguenther@suse.de>
8600
8601         PR c/43007
8602         * tree.c (get_unwidened): Handle constants.
8603         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
8604
8605 2010-02-10  Martin Jambor  <mjambor@suse.cz>
8606
8607         PR lto/42985
8608         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
8609         check for variable argument counts independently.
8610
8611 2010-02-10  Christian Bruel  <christian.bruel@st.com>
8612
8613         PR target/42841
8614         * config/sh/sh.c (find_barrier): Increase length for non delayed
8615         conditional branches.
8616
8617 2010-02-10  Christian Bruel  <christian.bruel@st.com>
8618
8619         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
8620
8621 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
8622
8623         * builtins.c (set_builtin_user_assembler_name): Also handle
8624         ffs if int is smaller than word.
8625
8626 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
8627
8628         PR middle-end/42973
8629         * ira-conflicts.c (get_dup): Remove.
8630         (process_reg_shuffles): Add new parameter.  Use it as an
8631         additional guard for copy generation.
8632         (add_insn_allocno_copies): Rewrite.
8633
8634 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
8635
8636         * common.opt (fsched2-use-traces): Preserved for backward
8637         compatibility.
8638         * doc/invoke.texi: Remove the documentation about option
8639         -fsched2-use-traces.
8640         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
8641         flag_sched2_use_traces.
8642         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
8643         the backward compatibility flag section.
8644
8645 2010-02-09  Richard Guenther  <rguenther@suse.de>
8646
8647         PR tree-optimization/43008
8648         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
8649         make HEAP variables initialized from global memory if they
8650         are not known builtin functions.
8651         (find_func_aliases): Adjust.
8652
8653 2010-02-09  Richard Guenther  <rguenther@suse.de>
8654
8655         PR tree-optimization/43000
8656         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
8657         arithmetic manually.
8658
8659 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
8660
8661         PR tree-optimization/42931
8662         * tree-loop-linear.c (try_interchange_loops): Don't call
8663         double_int_mul if estimated_loop_iterations failed.
8664
8665 2010-02-08  Martin Jambor  <mjambor@suse.cz>
8666
8667         PR middle-end/42898
8668         * tree-sra.c (build_accesses_from_assign): Do not mark in
8669         should_scalarize_away_bitmap if stmt has volatile ops.
8670         (sra_modify_assign): Do not process assigns piecemeal if if stmt
8671         has volatile ops.
8672
8673 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
8674
8675         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
8676
8677 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
8678
8679         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
8680         before the pattern.
8681
8682 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
8683
8684         PR middle-end/42946
8685         * df-core.c (df_finish_pass): Change type of saved_flags to int.
8686
8687 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
8688
8689         PR middle-end/42988
8690         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
8691         to unknown_dependence.
8692         (graphite_legal_transform_dr): Handle the unknown_dependence.
8693         (graphite_carried_dependence_level_k): Same.
8694
8695 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
8696
8697         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
8698
8699 2010-02-07  Richard Guenther  <rguenther@suse.de>
8700
8701         PR middle-end/42991
8702         * expr.c (get_inner_reference): Always initialize *pbitsize.
8703
8704 2010-02-07  Richard Guenther  <rguenther@suse.de>
8705
8706         PR middle-end/42956
8707         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
8708         new ARRAY_REFs on variable size element or minimal index arrays.
8709         Complete.
8710         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
8711         gimple_fold_indirect_ref.
8712
8713 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
8714
8715         PR target/42957
8716         * arm.c (arm_override_options): Just return if the user has specified
8717         an invalid fpu name.
8718
8719 2010-02-03  Jason Merrill  <jason@redhat.com>
8720
8721         PR c++/42870
8722         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
8723         i386_pe_maybe_record_exported_symbol.
8724
8725 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
8726
8727         PR target/42924
8728         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
8729         (pa_delegitimize_address): New function.
8730
8731 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
8732
8733         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
8734         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
8735
8736 2010-02-05  Richard Guenther  <rguenther@suse.de>
8737
8738         PR lto/42762
8739         * lto-streamer-in.c (get_resolution): Deal with references
8740         to undefined functions.
8741
8742 2010-02-05  Richard Guenther  <rguenther@suse.de>
8743
8744         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
8745         (fold_const_aggregate_ref): Likewise.
8746         (ccp_fold_stmt): Substitute loads.
8747         (maybe_fold_reference): Verify types before substituting.
8748         Unshare properly.
8749         (fold_gimple_assign): Unshare properly.
8750         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
8751
8752 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
8753
8754         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
8755         for rs6000_gen_cell_microcode.
8756
8757 2010-02-04  Richard Guenther  <rguenther@suse.de>
8758
8759         PR rtl-optimization/42952
8760         * dse.c (const_or_frame_p): Remove MEM handling.
8761
8762 2010-02-04  Nick Clifton  <nickc@redhat.com>
8763
8764         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
8765         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
8766         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
8767         (mn10300_asm_output_mi_thunk): New function.
8768         (mn10300_can_output_mu_thunk): New function.
8769         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
8770         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
8771         (FUNCTION_ARG): Delete incorrect comment.
8772
8773 2010-02-03  Jason Merrill  <jason@redhat.com>
8774
8775         PR c++/40138
8776         * fold-const.c (operand_equal_p): Handle erroneous types.
8777
8778 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
8779
8780         * config/h8300/h8300.md (can_delay): Fix attibute condition.
8781
8782 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
8783
8784         PR rtl-optimization/42941
8785         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
8786         of xmalloc.
8787
8788 2010-02-03  Jason Merrill  <jason@redhat.com>
8789
8790         PR c++/35652
8791         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
8792
8793 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
8794
8795         PR debug/42896
8796         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
8797         (cselib_reset_table): Renamed from...
8798         (cselib_reset_table_with_next_value): ... this.
8799         (cselib_get_next_uid): Renamed from...
8800         (cselib_get_next_unknown_value): ... this.
8801         * cselib.c (next_uid): Renamed from...
8802         (next_unknown_value): ... this.
8803         (cselib_clear_table): Adjust.
8804         (cselib_reset_table): Adjust.  Renamed from...
8805         (cselib_reset_table_with_next_value): ... this.
8806         (cselib_get_next_uid): Adjust.  Renamed from...
8807         (cselib_get_next_unknown_value): ... this.
8808         (get_value_hash): Use hash.
8809         (cselib_hash_rtx): Likewise.
8810         (new_cselib_val): Adjust.  Set and dump uid.
8811         (cselib_lookup_mem): Pass next_uid as hash.
8812         (cselib_subst_to_values): Likewise.
8813         (cselib_log_lookup): Dump uid.
8814         (cselib_lookup): Pass next_uid as hash.  Adjust.
8815         (cselib_process_insn): Adjust.
8816         (cselib_init): Initialize next_uid.
8817         (cselib_finish): Adjust.
8818         (dump_cselib_table): Likewise.
8819         * dse.c (canon_address): Dump value uid.
8820         * print-rtl.c (print_rtx): Print value uid.
8821         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
8822         (dvuid): New type.
8823         (dv_uid): New function, sort of renamed from...
8824         (dv_htab_hash): ... this, reimplemented in terms of it and...
8825         (dv_uid2hash): ... this.  New.
8826         (variable_htab_eq): Drop excess assertions.
8827         (tie_break_pointers): Removed.
8828         (canon_value_cmp): Compare uids.
8829         (variable_post_merge_New_vals): Print uids.
8830         (vt_add_function_parameters): Adjust.
8831         (vt_initialize): Reset table.  Adjust.
8832
8833 2010-02-03  Richard Guenther  <rguenther@suse.de>
8834
8835         PR tree-optimization/42944
8836         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
8837         (call_may_clobber_ref_p_1): Likewise.  Properly handle
8838         malloc and calloc clobbering errno.
8839
8840 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
8841
8842         * doc/invoke.texi: Fix name of sched1 dump.
8843
8844         * opts.c (decode_options): Set flag_tree_switch_conversion
8845         only conditionally on optimize >= 2.
8846
8847         * gcse.c: Assorted comment fixes in pass description.
8848
8849 2010-02-03  Anthony Green  <green@moxielogic.com>
8850
8851         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
8852         nop padding in order to maintain alignment of storage location of
8853         target function address.
8854         (moxie_trampoline_init): Store target function address at newly
8855         aligned location.
8856         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
8857         to 32.
8858         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
8859
8860 2010-02-03  Richard Guenther  <rguenther@suse.de>
8861
8862         PR middle-end/42927
8863         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
8864
8865 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8866
8867         * config.gcc: Reenable check for obsolete targets.
8868         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
8869         mips-sgi-irix6.[0-4]*.
8870
8871 2010-02-02  Nick Clifton  <nickc@redhat.com>
8872
8873         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
8874         constant size of 4 as being the same as 0.
8875         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
8876         can take values in the range 0..4.
8877
8878 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
8879
8880         PR java/41991
8881         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
8882         as _darwin10_Unwind_FindEnclosingFunction().
8883         * libgcc-libsystem.ver: New.
8884
8885 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
8886
8887         PR target/41399
8888         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
8889         implicitly set registers.
8890
8891 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
8892
8893         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
8894         (arm_override_options): Allow automatic selection of the thread
8895         pointer register if thumb2.
8896         (legitimize_pic_address): Improve code sequences for Thumb2.
8897         (arm_call_tls_get_addr): Likewise.
8898         (legitimize_tls_address): Likewise.
8899         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
8900         (pic_load_addr_32bit): ... this.  New named pattern.
8901         * thumb2.md (pic_load_addr_thumb2): Delete.
8902         (pic_load_dot_plus_four): Delete.
8903         (tls_load_dot_plus_four): New named pattern.
8904
8905 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8906
8907         PR libgomp/29986
8908         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
8909         Document fix for TLS bug.
8910
8911 2010-01-31  Richard Guenther  <rguenther@suse.de>
8912
8913         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
8914         conservatively correct.
8915
8916 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8917
8918         PR target/42850
8919         Revert:
8920         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8921
8922         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
8923
8924 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8925
8926         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
8927
8928 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
8929
8930         * config.gcc: Adjust order of makefile fragments for mingw targets.
8931
8932 2010-01-31  Richard Guenther  <rguenther@suse.de>
8933
8934         PR middle-end/42898
8935         * gimplify.c (gimplify_init_constructor): For volatile LHS
8936         initialize a temporary.
8937
8938 2010-01-31  Matthias Klose  <doko@ubuntu.com>
8939
8940         * configure.ac: Fix __stack_chk_fail check for cross builds configured
8941         --with-headers
8942         * configure: Regenerate.
8943
8944 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
8945
8946         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
8947         the same alias set and their sizes different constantness.
8948         (aliasing_component_refs_p): Revert 2009-10-24 change.
8949
8950 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8951
8952         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
8953         unused.
8954
8955 2010-01-29  Richard Guenther  <rguenther@suse.de>
8956
8957         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
8958         Assert we successfully updated the call.
8959
8960 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
8961
8962         PR rtl-optimization/42889
8963         * df.h (df_set_bb_dirty_nonlr): New prototype.
8964         * df-core.c (df_set_bb_dirty_nonlr): New function.
8965         * df-scan.c (df_insn_rescan): Call it instead of
8966         df_set_bb_dirty for DEBUG_INSNs.
8967
8968 2010-01-29  Richard Guenther  <rguenther@suse.de>
8969
8970         PR middle-end/37448
8971         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
8972         quadratic behavior in most cases.
8973
8974 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
8975
8976         PR target/42891
8977         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
8978         in the call to gen_x86_movsicc_0_m1.
8979
8980 2010-01-28  Richard Guenther  <rguenther@suse.de>
8981
8982         PR tree-optimization/42871
8983         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
8984
8985 2010-01-28  Richard Guenther  <rguenther@suse.de>
8986
8987         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
8988         into call arguments.
8989
8990 2010-01-28  Richard Guenther  <rguenther@suse.de>
8991
8992         PR middle-end/42883
8993         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
8994         the forwarder if the destination is an EH landing pad.
8995
8996 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
8997
8998         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
8999         block list passed to gimple_duplicate_sese_tail.
9000         (parallelize_loops): Avoid parallelization when the function
9001         has_nonlocal_label.
9002         Avoid parallelization when the preheader is IRREDUCIBLE.
9003         Try to optimize when estimated_loop_iterations_int is unresolved.
9004         Add the loop's location to the dump file.
9005         * tree-cfg.c (add_phi_args_after_redirect): Remove.
9006         (gimple_duplicate_sese_tail): Remove the check for the latch.
9007         Redirect nexits to the exit block.
9008         Remove handling of the incoming edges to the latch.
9009         Redirect the backedge from the copied latch to the exit bb.
9010
9011 2010-01-28  Michael Matz  <matz@suse.de>
9012
9013         PR target/42881
9014         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
9015         Wrap force_reg into a sequence, emit it before user.
9016
9017 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
9018
9019         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
9020         (arm_rev): New.
9021         (arm_legacy_rev): Likewise.
9022         (thumb_legacy_rev): Likewise.
9023
9024 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
9025
9026         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
9027         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
9028         on MEM's address failed, try avoid_constant_pool_reference and
9029         recurse if it returned something different.
9030         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
9031         address, try avoid_constant_pool_reference and recurse if it
9032         returned something different.
9033         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
9034         address and avoid_constant_pool_reference returned something
9035         different, don't set have_address.
9036
9037 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
9038
9039         PR debug/42861
9040         * var-tracking.c (val_store): Add modified argument, obey it.
9041         Adjust callers.
9042         (count_uses): Move down logging of main.
9043         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
9044         don't need resolution.
9045         (emit_notes_in_bb): Likewise.
9046
9047 2010-01-27  Richard Guenther  <rguenther@suse.de>
9048
9049         PR middle-end/42878
9050         * tree-inline.c (remap_decl): Delay remapping of SSA name
9051         default definitions until we need them.
9052
9053 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
9054
9055         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
9056         (rs6000_delegitimize_address): New function.
9057
9058         * config/s390/s390.c (s390_delegitimize_address): Call
9059         delegitimize_mem_from_attrs.
9060
9061         PR middle-end/42874
9062         * tree-inline.c (cannot_copy_type_1): Removed.
9063         (copy_forbidden): Don't forbid copying of functions containing
9064         records/unions with variable length fields.
9065
9066 2010-01-27  Christian Bruel  <christian.bruel@st.com>
9067
9068         Revert:
9069         PR target/42841
9070         * config/sh/sh.c (find_barrier): Increase length for non delayed
9071         conditional branches.
9072
9073 2010-01-27  Matthias Klose  <doko@ubuntu.com>
9074
9075         * configure.ac (gnu-unique-object): Fix ldd version check.
9076         * configure: Regenerate.
9077
9078 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9079
9080         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
9081         HAVE_GNU_AS value.
9082         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
9083         Test for HAVE_GNU_AS value.
9084
9085 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9086
9087         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
9088         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
9089         INT64_TYPE): Define.
9090         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
9091         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
9092         INT_LEAST64_TYPE): Define.
9093         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
9094         UINT_LEAST64_TYPE): Define.
9095         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
9096         INT_FAST64_TYPE): Define.
9097         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
9098         UINT_FAST64_TYPE): Define.
9099         (INTMAX_TYPE, UINTMAX_TYPE): Define.
9100         (INTPTR_TYPE, UINTPTR_TYPE): Define.
9101         (SIG_ATOMIC_TYPE): Define.
9102
9103 2010-01-26  Richard Guenther  <rguenther@suse.de>
9104
9105         * df-scan.c (df_scan_set_bb_info): Remove assert.
9106         (df_insn_rescan_debug_internal): Merge asserts.
9107         (df_install_ref): Likewise.
9108         (df_mark_reg): Use bitmap_set_range.
9109         (df_hard_reg_used_p): Remove assert.
9110         (df_hard_reg_used_count): Likewise.
9111
9112 2010-01-26  Richard Guenther  <rguenther@suse.de>
9113
9114         PR rtl-optimization/42685
9115         * web.c (web_main): Ignore DEBUG_INSNs.
9116
9117 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
9118
9119         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
9120
9121         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
9122         Fix types of fndecl and arglist parameters.
9123
9124 2010-01-26  Richard Guenther  <rguenther@suse.de>
9125
9126         PR middle-end/42806
9127         * tree-eh.c (unsplit_eh): Skip debug insns.
9128
9129 2010-01-26  Richard Guenther  <rguenther@suse.de>
9130
9131         PR tree-optimization/42250
9132         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
9133
9134 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
9135
9136         PR fortran/42866
9137         * omp-low.c (expand_omp_sections): Only use single_pred if
9138         l2_bb is single_pred_p.
9139
9140 2010-01-25  Christian Bruel  <christian.bruel@st.com>
9141
9142         PR target/42841
9143         * config/sh/sh.c (find_barrier): Increase length for non delayed
9144         conditional branches.
9145         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
9146
9147 2010-01-24  David S. Miller  <davem@davemloft.net>
9148
9149         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
9150         define if not using GAS.
9151         * config/sparc/sparc.c (sparc_elf_asm_named_section):
9152         Likewise.  Delete SECTION_MERGE code, which is only applicable
9153         when using GAS.
9154
9155 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
9156
9157         PR c++/42748
9158         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
9159         mangling of va_list in system headers.
9160
9161 2010-01-23  Toon Moene  <toon@moene.org>
9162
9163         * tree-predcom.c (combine_chains): Return NULL, not false.
9164
9165 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
9166
9167         * tree-loop-distribution.c (distribute_loop): Fix declaration and
9168         initialization of variable res to agree with return type.
9169
9170 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
9171
9172         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
9173         * tree-sra.c: Add include of expr.h.
9174
9175 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
9176
9177         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
9178         insert the debug stmt on the single non-EH edge from the stmt.
9179
9180 2010-01-22  Richard Henderson  <rth@redhat.com>
9181
9182         PR tree-opt/42833
9183         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
9184         the RHS until after generate_subtree_copies has insertted its
9185         code before the current statement.
9186
9187 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
9188
9189         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
9190
9191         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
9192
9193 2010-01-21  Martin Jambor  <mjambor@suse.cz>
9194
9195         PR tree-optimization/42585
9196         * tree-sra.c (struct access): New field grp_total_scalarization.
9197         (dump_access): Dump the new field.
9198         (should_scalarize_away_bitmap): New variable.
9199         (cannot_scalarize_away_bitmap): Likewise.
9200         (sra_initialize): Allocate new bitmaps.
9201         (sra_deinitialize): Free new bitmaps.
9202         (create_access_1): New function.
9203         (create_access): Parts moved to create_access_1.
9204         (type_consists_of_records_p): New function.
9205         (completely_scalarize_record): Likewise.
9206         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
9207         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
9208         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
9209         access.
9210         (analyze_all_variable_accesses): Completely scalarize small eligible
9211         records.
9212
9213 2010-01-21  Martin Jambor  <mjambor@suse.cz>
9214
9215         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
9216
9217 2010-01-21  Andrew Haley  <aph@redhat.com>
9218
9219         * gcc.c (process_command): Move lang_specific_driver before
9220         setting cc_libexec_prefix.
9221
9222 2010-01-21  Richard Guenther  <rguenther@suse.de>
9223
9224         PR middle-end/19988
9225         * fold-const.c (negate_expr_p): Pretend only negative
9226         real constants are easily negatable.
9227
9228 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
9229             Jason Merrill  <jason@redhat.com>
9230
9231         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
9232         (TYPE_TRANSPARENT_AGGR): this, for union and record.
9233         * calls.c (initialize argument_information): Handle it.
9234         * c-common.c (handle_transparent_union_attribute): Use new name.
9235         * c-decl.c (finish_struct): Ditto.
9236         * c-typeck.c (type_lists_compatible_p): Ditto.
9237         (convert_for_assignment): Use new name and also handle record.
9238         * function.c (aggregate_value_p): Handle it.
9239         (pass_by_reference): Ditto.
9240         (assign_parm_data_types): Ditto.
9241         * print-tree.c (print_node): Ditto.
9242         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
9243         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
9244         * tree.c (first_field): New fn.
9245
9246 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
9247
9248         PR target/42818
9249         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
9250         even when linking statically, for now.
9251
9252 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
9253
9254         PR debug/42715
9255         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
9256         without a cselib val.
9257         (count_uses): Accept MO_VAL_SET with no val on stores.
9258         (add_stores): Likewise.
9259
9260 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
9261
9262         * var-tracking.c (check_value_val): Add a compile time assertion.
9263         (dv_is_decl_p): Simplify.
9264         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
9265         gcc_assert if ENABLE_CHECKING.
9266
9267 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
9268
9269         PR debug/42782
9270         * var-tracking.c: Include tree-flow.h.
9271         (mem_dies_at_call): New.
9272         (dataflow_set_preserve_mem_locs): Use it.
9273         (dataflow_set_remove_mem_locs): Likewise.
9274         (dump_var): Renamed from dump_variable.  Adjust all callers.
9275         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
9276         * Makefile.in (var-tracking.o): Adjust deps.
9277
9278 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
9279
9280         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
9281
9282 2010-01-20  Richard Guenther  <rguenther@suse.de>
9283
9284         PR tree-optimization/42717
9285         * tree-ssa-dce.c (get_live_post_dom): Remove.
9286         (forward_edge_to_pdom): Take an arbitrary edge to copy
9287         degenerate PHI args from.
9288         (remove_dead_stmt): Use the first post-dominator even if it
9289         does not contain live statements as redirection destination.
9290
9291 2010-01-20  Richard Guenther  <rguenther@suse.de>
9292
9293         * tree-inline.c (estimate_num_insns): Handle EH builtins.
9294
9295 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
9296
9297         * sel-sched.c (create_speculation_check): Remove set but not used
9298         variable twin.
9299         (try_transformation_cache): Remove set but not used variable ds.
9300         (calculate_privileged_insns): Remove set but not used variables
9301         cur_insn and min_spec_insn.
9302         (find_best_expr): Remove set but not used variable avail_n.
9303         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
9304         variable e.
9305         * cgraphunit.c (assemble_thunk): Remove set but not used variable
9306         false_label.
9307         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
9308         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
9309         new_scop_exit_edge.
9310
9311 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
9312
9313         PR bootstrap/42786
9314         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
9315         cpu types.  Add support for *-sse3 cpu types.
9316         (x86_64-*-*): Ditto.
9317
9318 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
9319
9320         PR middle-end/42803
9321         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
9322         argument, call initializer_constant_valid_p_1 instead of
9323         initializer_constant_valid_p, pass CACHE to it, return NULL
9324         immediately if first call returns NULL.
9325         (initializer_constant_valid_p_1): New function.
9326         (initializer_constant_valid_p): Use it.
9327
9328 2010-01-20  Thomas Quinot  <quinot@adacore.com>
9329
9330         * tree.def (PLACEHOLDER_EXPR): Fix comment.
9331
9332 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
9333
9334         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
9335         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
9336         (loc_list_from_tree): Don't handle unsigned division.  Handle
9337         signed modulo using DW_OP_{over,over,div,mul,minus}.
9338         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
9339         modulo instead of signed.
9340
9341 2010-01-20  DJ Delorie  <dj@redhat.com>
9342
9343         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
9344         (Fpa): Pass it
9345         (h8300_emit_stack_adjustment): Propogate it.
9346         (push): Pass it.
9347         (h8300_expand_prologue): Likewise.
9348         (h8300_expand_epilogue): Likewise.
9349
9350 2010-01-19  Michael Matz  <matz@suse.de>
9351
9352         PR tree-optimization/41783
9353         * tree-data-ref.c (toplevel): Include flags.h.
9354         (dump_data_dependence_relation):  Also dump the inputs if the
9355         result will be unknown.
9356         (split_constant_offset_1): Look through some conversions.
9357         * tree-predcom.c (determine_roots_comp): Restart a new chain if
9358         the offset from last element is too large.
9359         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
9360         (reassociate_to_the_same_stmt): Handle vector registers.
9361         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
9362         (e.g. conversions).
9363         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
9364         wide_prolog_niters argument, emit widening instructions.
9365         (vect_do_peeling_for_alignment): Adjust caller, use widened
9366         variant of the iteration cound.
9367         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
9368
9369 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
9370
9371         PR target/38697
9372         * config/arm/neon-testgen.m (emit_automatics): New parameter
9373         features. Adjust for Fixed_return_reg feature.
9374         (test_intrinsic): Call emit_automatics with new feature.
9375         * config/arm/neon.ml: Update copyright years.
9376         (features): New Fixed_return_reg feature.
9377         (ops): Update feature for Vget_low.
9378
9379 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
9380
9381         PR tree-optimization/42719
9382         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
9383         stmt uses.
9384
9385         PR debug/42728
9386         * fwprop.c (all_uses_available_at): Return false if def_set dest
9387         is a REG that is used in def_insn.
9388
9389 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
9390
9391         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
9392
9393         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
9394         Add argument names.
9395
9396         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
9397
9398         * target.h (struct gcc_target) <secondary_reload>: Change type
9399         of last argument to secondary_reload_info *.
9400
9401 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
9402
9403         PR target/42774
9404         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
9405         memory references with unaligned offsets.  Remove CQImode handling.
9406         (unaligned_memory_operand): Return 1 for memory references with
9407         unaligned offsets.  Remove CQImode handling.
9408
9409 2010-01-18  Richard Guenther  <rguenther@suse.de>
9410
9411         PR middle-end/39954
9412         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
9413         builtin calls.
9414
9415 2010-01-18  Richard Guenther  <rguenther@suse.de>
9416
9417         PR tree-optimization/42781
9418         * tree-ssa-structalias.c (find_what_var_points_to): Skip
9419         restrict processing only if the original variable was artificial.
9420
9421 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
9422
9423         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
9424         find number of popped argument bytes.
9425
9426         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
9427         Fix the text that describes the return value for invalid insns.
9428
9429         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
9430
9431         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
9432         Clarify what 'cost of the -dependence' is.  Fix quoting.
9433
9434         * toplev.c (default_get_pch_validity): Rename argument to "sz".
9435         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
9436
9437 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
9438
9439         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
9440         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
9441
9442 2010-01-17  Richard Guenther  <rguenther@suse.de>
9443
9444         PR middle-end/42248
9445         * function.c (split_complex_args): Take a VEC to modify.
9446         (assign_parms_augmented_arg_list): Build a VEC instead of
9447         a chain of PARM_DECLs.
9448         (assign_parms_unsplit_complex): Take a VEC of arguments.
9449         Do not fixup unmodified parms.
9450         (assign_parms): Deal with the VEC.
9451         (gimplify_parameters): Likewise.
9452
9453 2010-01-17  Richard Guenther  <rguenther@suse.de>
9454
9455         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
9456         node existence check.
9457         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
9458         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
9459         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
9460         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
9461         (gimple_execute_on_growing_pred): Likewise.
9462
9463 2010-01-17  Richard Guenther  <rguenther@suse.de>
9464
9465         PR tree-optimization/42773
9466         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
9467         (compute_antic_aux): Likewise.
9468         (compute_partial_antic_aux): Likewise.
9469
9470 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
9471
9472         PR debug/42767
9473         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
9474         and US_TRUNCATE.
9475
9476 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
9477
9478         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
9479         appearance.
9480
9481         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
9482         Fix markup for strict argument.
9483
9484         (TARGET_SCHED_REORDER2): Fix argument types.
9485
9486         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
9487         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
9488
9489         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
9490         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
9491
9492         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
9493         Add argument name.
9494
9495         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
9496         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
9497         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
9498         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
9499         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
9500
9501         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
9502
9503         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
9504
9505         (TARGET_ASM_RELOC_RW_MASK): Add return type.
9506         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
9507
9508         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
9509
9510         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
9511         Use prototype.
9512
9513         (TARGET_ASM_NAMED_SECTION): Fix argument list.
9514
9515         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
9516         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
9517
9518         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
9519
9520         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
9521
9522         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
9523         referring to it.  Fix language.
9524
9525         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
9526
9527         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
9528
9529         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
9530
9531         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
9532
9533         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
9534         '@var{stream}.  Remove stray 'and'.
9535
9536         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
9537
9538         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
9539
9540         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
9541
9542         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
9543         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
9544
9545         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
9546         Fix description of return value.
9547         Rename argument "sz" to "len."
9548
9549         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
9550         Clarify meaning of 'true' return value.
9551
9552         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
9553
9554         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
9555         rep_mode versus mode_rep.
9556
9557         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
9558
9559         (TARGET_BUILTIN_DECL): Fix name.
9560
9561         (TARGET_COMMUTATIVE_P): Fix type of first argument.
9562
9563         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
9564
9565         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
9566
9567         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
9568
9569         (TARGET_RELAXED_ORDERING): Use @deftypevr.
9570
9571         (TARGET_GET_DRAP_RTX): Note that this is a hook.
9572         Clarify language.
9573
9574         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
9575         Rename argument tm_fn to md_fn.
9576
9577         (TARGET_OPTION_PRINT): Fix argument list.
9578
9579 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
9580
9581         PR target/42664
9582         * config/i386/i386.c (ix86_fixup_binary_operands):
9583         Revert FMA4 fixup of operands.
9584
9585 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9586
9587         PR gcc/42525
9588         * Makefile.in (write_entries_to_file, install-plugin):
9589         Use \012 instead of \n with tr.
9590
9591 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
9592
9593         * configure.ac (HAVE_AS_REF): New C macro.
9594         * configure: Regenerate.
9595         * config.in: Likewise.
9596         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
9597         if HAVE_AS_REF.
9598         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
9599         if HAVE_AS_REF.
9600
9601 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
9602
9603         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
9604
9605         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
9606
9607         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
9608
9609         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
9610
9611         (TARGET_IN_SMALL_DATA_P): Fix argument type.
9612
9613         (TARGET_BINDS_LOCAL_P): Fix argument type.
9614
9615         (TARGET_ASM_FILE_END): Use prototype.
9616
9617         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
9618
9619         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
9620
9621         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
9622
9623         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
9624
9625         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
9626         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
9627
9628         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
9629         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
9630
9631         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
9632         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
9633         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
9634         (TARGET_ADDR_SPACE_CONVERT): Likewise.
9635
9636         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
9637
9638         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
9639
9640         (TARGET_INIT_BUILTINS): Use prototype.
9641
9642         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
9643         Put 'const char *' in braces.  Fix parameter types.
9644         (TARGET_INVALID_CONVERSION): Fix parameter types.
9645         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
9646         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
9647
9648         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
9649         Fix argument type.
9650
9651         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
9652
9653         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
9654
9655 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
9656
9657         * doc/tm.texi (TARGET_HELP): Fix return type.
9658
9659         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
9660         in braces.  Fix argument types.
9661
9662         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
9663
9664         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
9665
9666         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
9667
9668         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
9669         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
9670
9671         (TARGET_MANGLE_TYPE): Fix argument types.
9672
9673         (TARGET_IRA_COVER_CLASSES): Use prototype.
9674
9675         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
9676
9677         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
9678
9679         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
9680
9681         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
9682
9683         (TARGET_CALLEE_COPIES): Fix argument types.
9684
9685         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
9686
9687         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
9688
9689         (TARGET_FUNCTION_VALUE): Fix argument types.
9690
9691         (TARGET_RETURN_IN_MSB): Fix argument type.
9692
9693         (TARGET_RETURN_IN_MEMORY): Fix argument types.
9694
9695         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
9696
9697         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
9698
9699         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
9700         agree with return type.
9701
9702         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
9703
9704 2010-01-15  Jing Yu  <jingyu@google.com>
9705
9706         PR rtl-optimization/42691
9707         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
9708         a pseudo to a constant and are merged, and adjust comments.
9709
9710 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
9711
9712         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
9713
9714 2010-01-15  Richard Guenther  <rguenther@suse.de>
9715
9716         PR middle-end/42739
9717         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
9718         labels of computed or non-local gotos to the destination.
9719         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
9720         landing pad label is the first label.
9721
9722 2010-01-15  Richard Guenther  <rguenther@suse.de>
9723
9724         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
9725
9726 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
9727
9728         PR target/42747
9729         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
9730         to allow generation of the xssqrtdp instruction on power7.
9731         (sqrtdf2_fpr): Ditto.
9732
9733 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
9734
9735         PR middle-end/42674
9736         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
9737         functions with noreturn attribute.
9738
9739         PR c++/42608
9740         * varasm.c (declare_weak): Add weak attribute to decl if it
9741         doesn't have one already.
9742         (assemble_external): Only add decls to weak_decls if they also
9743         have weak attribute.
9744
9745 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
9746
9747         * var-tracking.c (var_reg_delete): Don't delete the association
9748         between REGs and values or one-part variables if the register
9749         isn't clobbered.
9750
9751 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
9752
9753         PR debug/42657
9754         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
9755         because its first operand is a non-localized variable.
9756
9757 2010-01-14  Martin Jambor  <mjambor@suse.cz>
9758
9759         PR tree-optimization/42706
9760         * tree-sra.c (encountered_recursive_call): New variable.
9761         (encountered_unchangable_recursive_call): Likewise.
9762         (sra_initialize): Initialize both new variables.
9763         (callsite_has_enough_arguments_p): New function.
9764         (scan_function): Call decl and flags check only for IPA-SRA, check
9765         whether there is a recursive call and whether it has enough arguments.
9766         (all_callers_have_enough_arguments_p): New function.
9767         (convert_callers): Look for recursive calls only when
9768         encountered_recursive_call is set.
9769         (ipa_early_sra): Bail out either if
9770         !all_callers_have_enough_arguments_p or
9771         encountered_unchangable_recursive_call.
9772
9773 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
9774
9775         * sel-sched.c: Add 2010 to copyright years.
9776         * sel-sched-ir.c: Likewise.
9777         * sel-sched-ir.h: Likewise.
9778
9779 2010-01-14  Martin Jambor  <mjambor@suse.cz>
9780
9781         PR tree-optimization/42714
9782         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
9783         constructors specially.
9784
9785 2010-01-14  Andi Kleen  <ak@linux.intel.com>
9786
9787         * config/i386/drivers-i386.c (detect_caches_intel):
9788         Add l2sizekb parameter and fill in.
9789         (host_detect_local_cpu): Add l2sizekb, fill in.
9790         Add Atom small cache heuristic.
9791
9792 2010-01-14  Andi Kleen  <ak@linux.intel.com>
9793
9794         * config/i386/drivers-i386.c (detect_caches_cpuid4):
9795         Add level3 parameter and fill in.
9796         (detect_caches_intel): Handle level3 cache.
9797
9798 2010-01-14  Andi Kleen  <ak@linux.intel.com>
9799
9800         * config/i386/drivers-i386.c (host_detect_local_cpu):
9801         Fix core duo detection.
9802
9803 2010-01-14  Andi Kleen  <ak@linux.intel.com>
9804
9805         * config/i386/drivers-i386.c (host_detect_local_cpu):
9806         Fix Atom detection.
9807
9808 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
9809
9810         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
9811         (rs6000_variable_issue_1): this.  Use...
9812         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
9813
9814 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
9815
9816         * sel-sched-ir.c (sel_restore_other_notes): Rename to
9817         sel_restore_notes.  Update all callers.  Call reemit_notes
9818         for all insns.
9819
9820 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
9821
9822         PR rtl-optimization/42246
9823         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
9824         loops.
9825
9826 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
9827
9828         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
9829         all successors is the same as number of successors in current region.
9830
9831 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
9832
9833         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
9834         to rename is not separable.  Otherwise check that its LHS is not NULL.
9835
9836 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
9837
9838         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
9839
9840 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
9841
9842         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
9843         available registers when failed to discover LHS register class.
9844         Fix indentation.  Update comment.
9845
9846 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
9847             Alexander Monakov  <amonakov@ispras.ru>
9848
9849         PR rtl-optimization/42389
9850         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
9851         to can_issue_more.
9852         (advance_state_on_fence): Likewise.
9853         (sel_target_adjust_priority): Print debug output only when
9854         sched_verbose >= 4, not 2.
9855         (get_expr_cost): Do not issue all unique insns on the next cycle.
9856         (fill_insns): Initialize can_issue_more from the value saved
9857         with the fence.
9858         * sel-sched-ir.c (flist_add): New parameter issue_more.
9859         Init FENCE_ISSUE_MORE with it.
9860         (merge_fences): Likewise.
9861         (init_fences): Update call to flist_add.
9862         (add_to_fences, add_clean_fence_to_fences)
9863         (add_dirty_fence_to_fences): Likewise.
9864         (move_fence_to_fences): Update call to merge_fences.
9865         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
9866         sched groups.
9867         * sel-sched-ir.h (struct _fence): New field issue_more.
9868         (FENCE_ISSUE_MORE): New accessor macro.
9869
9870 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
9871
9872         PR rtl-optimization/42388
9873         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
9874         that have no predecessors nor successors.  Do not call move_bb_info
9875         for empty blocks outside of current region.
9876
9877 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
9878
9879         PR rtl-optimization/42294
9880         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
9881         * sel-sched.c (move_exprs_to_boundary): Transitively add all
9882         originators' originators.
9883
9884 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
9885
9886         PR rtl-optimization/39453
9887         PR rtl-optimization/42246
9888         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
9889         for pipelining_p.
9890         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
9891
9892 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
9893             Alexander Monakov  <amonakov@ispras.ru>
9894
9895         PR middle-end/42245
9896         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
9897         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
9898         argument.  Update all callers.
9899         (tidy_control_flow): ... and here.  Recompute topological order
9900         of basic blocks in region if necessary.
9901         (sel_redirect_edge_and_branch): Change return type.  Return true
9902         if topological order might have been invalidated.
9903         (purge_empty_blocks): Export and move from...
9904         * sel-sched.c (purge_empty_blocks): ... here.
9905         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
9906         (maybe_tidy_empty_bb): Delete prototype.
9907         (purge_empty_blocks): Declare.
9908
9909 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
9910
9911         PR rtl-optimization/42249
9912         * sel-sched.c (try_replace_dest_reg): When chosen register
9913         and original register is the same, do not bail out early, but
9914         still check all original insns for validity of replacing destination
9915         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
9916         in this case.
9917
9918 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
9919
9920         PR c/42721
9921         Port from no-undefined-overflow branch:
9922         2009-03-09  Richard Guenther  <rguenther@suse.de>
9923
9924         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
9925
9926 2010-01-14  Richard Guenther  <rguenther@suse.de>
9927
9928         PR lto/42665
9929         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
9930
9931 2010-01-14  Ira Rosen  <irar@il.ibm.com>
9932
9933         PR tree-optimization/42709
9934         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
9935         as scalar type in creation of constant vector operand.
9936
9937 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9938
9939         PR testsuite/42414
9940         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
9941         (check-parallel-%): Match `testsuite' directory component only
9942         at the end.
9943
9944 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
9945
9946         PR translation/39521
9947         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
9948         strings with _().
9949
9950 2010-01-13  Richard Guenther  <rguenther@suse.de>
9951
9952         PR tree-optimization/42730
9953         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
9954         offset zero.
9955
9956 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
9957
9958         PR target/pr42542
9959         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
9960         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
9961         them signed.
9962
9963 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
9964
9965         * config/bfin/libgcc-bfin.ver: Regenerate based on current
9966         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
9967         ___umulsi3_highpart.
9968
9969         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
9970         rather than schedule_insns if the pass is enabled.
9971
9972 2010-01-13  Martin Jambor  <mjambor@suse.cz>
9973
9974         PR tree-optimization/42704
9975         * tree-sra.c (sra_modify_assign): Do not delete assignments to
9976         SSA_NAMEs.
9977
9978 2010-01-13  Martin Jambor  <mjambor@suse.cz>
9979
9980         PR tree-optimization/42703
9981         * tree-sra.c (analyze_access_subtree): Check that we can build a
9982         reference to the original data within the aggregate.
9983
9984 2010-01-13  Richard Guenther  <rguenther@suse.de>
9985
9986         PR tree-optimization/42705
9987         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
9988
9989 2010-01-13  Richard Guenther  <rguenther@suse.de>
9990
9991         PR middle-end/42716
9992         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
9993
9994 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
9995
9996         PR debug/41371
9997         * var-tracking.c (values_to_unmark): New variable.
9998         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
9999         values_to_unmark vector.  Moved body to...
10000         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
10001         instead queue it into values_to_unmark vector.
10002         (vt_find_locations): Free values_to_unmark vector.
10003
10004 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
10005
10006         * config/s390/s390.c (override_options): Set
10007         default of max-pending-list-length to 256
10008
10009 2010-01-13  Richard Guenther  <rguenther@suse.de>
10010
10011         PR lto/42678
10012         * tree-pass.h (PROP_gimple_lcx): New.
10013         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
10014         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
10015         before the final cleanup_eh.
10016         (dump_properties): Dump PROP_gimple_lcx.
10017         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
10018         (tree_lower_complex_O0): Remove.
10019         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
10020         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
10021         tree_lower_complex, schedule TODO_update_ssa.
10022         * lto-streamer-out.c (output_function): Stream the functions
10023         properties.
10024         * lto-streamer-in.c (input_function): Likewise.
10025         (lto_read_body): Do not override them here.
10026
10027 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
10028
10029         PR c/42708
10030         * c-typeck.c (build_c_cast): Fold value cast to union type before
10031         wrapping it in a CONSTRUCTOR.
10032
10033 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
10034
10035         PR rtl-optimization/42699
10036         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
10037         involved.
10038
10039 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10040
10041         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
10042         SUBTARGET_WARN_UNUSED_SPEC): Move ...
10043         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
10044         SUBTARGET_WARN_UNUSED_SPEC): ... here
10045         * config/mips/iris5.h (LIBGCC_SPEC): Define.
10046
10047 2010-01-12  Julian Brown  <julian@codesourcery.com>
10048
10049         * config/arm/neon-schedgen.ml (Utils): Don't try to
10050         open missing module.
10051         (find_with_result): New.
10052
10053 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
10054
10055         PR debug/42662
10056         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
10057         sharing when canonicalizing ({lt,ge}u (plus a b) b).
10058
10059         PR tree-optimization/42645
10060         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
10061         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
10062         decl_map, set processing_debug_stmt to -1 and return name without
10063         any remapping.
10064
10065 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
10066
10067         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
10068         binutils version, and reword target configuration description.
10069
10070 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
10071
10072         * config/avr/avr.h (LINKER_NAME): Remove.
10073
10074 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
10075
10076         PR target/42416
10077         * config/rs6000/rs6000.c (rs6000_override_options): On targets
10078         that support VSX, warn for -mno-altivec if vsx is not disabled,
10079         and disable vsx.
10080
10081 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
10082             Shujing Zhao  <pearly.zhao@oracle.com>
10083
10084         PR translation/42469
10085         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
10086         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
10087         character between option name and help text.
10088         * c.opt (imultilib): Likewise.
10089
10090 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
10091
10092         * lto-streamer-out.c (output_unreferenced_globals): Output static
10093         variables.
10094
10095 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
10096
10097         PR rtl-optimization/42621
10098         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
10099         optimizing for size.
10100         (duplicate_computed_gotos): Remove now-redundant check.
10101
10102 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
10103
10104         PR target/37454
10105         * configure.ac: Save and restore LDFLAGS and LIBS
10106         * configure: Regenerate.
10107
10108 2010-01-10  Richard Guenther  <rguenther@suse.de>
10109
10110         PR middle-end/42667
10111         * builtins.c (fold_builtin_strlen): Add type argument and
10112         convert the resulting length to it.
10113         (fold_builtin_1): Adjust.
10114
10115 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
10116
10117         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
10118         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
10119         1 insn.
10120         (num_insns_constant_wide): Adjust for that change.
10121
10122 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
10123
10124         PR debug/42631
10125         * web.c (union_defs): Add used argument, to combine uses of
10126         uninitialized regs.
10127         (entry_register): Adjust type and tests of used argument.
10128         (web_main): Widen used for new use.  Pass it to union_defs.
10129         * df.h (union_defs): Adjust prototype.
10130
10131 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
10132
10133         PR debug/42630
10134         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
10135         uses in new incoming argument.  Free body.
10136         (reset_debug_uses_in_loop): New.
10137         (analyze_insn_to_expand_var): Call the latter if the former found
10138         anything.  Fix whitespace.  Reject invalid dest overlaps before
10139         going through all insns in the loop.
10140
10141 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
10142
10143         PR debug/42629
10144         * haifa-sched.c (dying_use_p): Debug insns don't count.
10145
10146 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
10147
10148         PR middle-end/42363
10149         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
10150         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
10151         (verify_gimple_call): Reject LHS in noreturn calls.
10152
10153 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
10154
10155         PR debug/42604
10156         PR debug/42395
10157         * tree-vect-loop-manip.c (adjust_info): New type.
10158         (adjust_vec): New pointer to vector.
10159         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
10160         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
10161         (slpeel_update_phis_for_duplicate_loop): Use them.
10162         (slpeel_update_phi_nodes_for_guard1): Likewise.
10163         (slpeel_update_phi_nodes_for_guard2): Likewise.
10164         (slpeel_tree_peel_loop_to_edge): Likewise.
10165         (vect_update_ivs_after_vectorizer): Likewise.
10166
10167 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
10168
10169         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
10170         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
10171
10172 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
10173
10174         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
10175         bogus uninitialized warning.
10176
10177 2010-01-09  Richard Guenther  <rguenther@suse.de>
10178
10179         PR middle-end/42512
10180         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
10181         the evolution is compatible with the initial condition.
10182
10183 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
10184
10185         * gcc.c (process_command): Update copyright notice dates.
10186         * gcov.c (print_version): Likewise.
10187         * gcov-dump.c (print_version): Likewise.
10188         * mips-tfile.c (main): Likewise.
10189         * mips-tdump.c (main): Likewise.
10190
10191 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
10192
10193         PR target/41885
10194         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
10195         (rotlhi3): Delete.
10196         (rotlhi3_8): Delete.
10197         (rotlsi3): Delete.
10198         (rotlsi3_8): Delete.
10199         (rotlsi3_16): Delete.
10200         (rotlsi3_24): Delete.
10201         (rotl<mode>3): New.
10202         (*rotw<mode>3): New.
10203         (*rotb<mode>3): New.
10204         * config/avr/avr.c (avr_rotate_bytes): New function.
10205         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
10206
10207 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
10208
10209         PR target/37454
10210         * configure.ac: Modify -rdynamic check.
10211         * configure: Regenerate.
10212
10213 2010-01-08  DJ Delorie  <dj@redhat.com>
10214
10215         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
10216         register popping order.
10217
10218 2010-01-08  Richard Guenther  <rguenther@suse.de>
10219
10220         PR lto/42528
10221         * c.opt (fsigned-char): Also let LTO handle this option.
10222         (funsigned-char): Likewise.
10223
10224 2010-01-07  Richard Guenther  <rguenther@suse.de>
10225
10226         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
10227         (gimple_op): Likewise.
10228         (gimple_op_ptr): Likewise.
10229         (gimple_assign_set_lhs): Remove gcc_assert.
10230         (gimple_assign_set_rhs1): Likewise.
10231         (gimple_assign_set_rhs2): Likewise.
10232         (gimple_call_set_lhs): Likewise.
10233         (gimple_call_set_fn): Likewise.
10234         (gimple_call_set_fndecl): Likewise.
10235         (gimple_call_fndecl): Likewise.
10236         (gimple_call_return_type): Likewise.
10237         (gimple_call_set_chain): Likewise.
10238         (gimple_call_num_args): Likewise.
10239         (gimple_call_set_arg): Likewise.
10240         (gimple_cond_set_code): Likewise.
10241         (gimple_cond_set_lhs): Likewise.
10242         (gimple_cond_set_rhs): Likewise.
10243         (gimple_cond_set_true_label): Likewise.
10244         (gimple_cond_set_false_label): Likewise.
10245         (gimple_label_set_label): Likewise.
10246         (gimple_goto_set_dest): Likewise.
10247         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
10248         (gimple_debug_bind_get_value): Likewise.
10249         (gimple_debug_bind_get_value_ptr): Likewise.
10250         (gimple_debug_bind_set_var): Likewise.
10251         (gimple_debug_bind_set_value): Likewise.
10252         (gimple_debug_bind_reset_value): Likewise.
10253         (gimple_debug_bind_has_value_p): Likewise.
10254         (gimple_return_retval_ptr): Remove gcc_assert.
10255         (gimple_return_retval): Likewise.
10256         (gimple_return_set_retval): Likewise.
10257         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
10258         (safe_referenced_var_iterator): Remove.
10259         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
10260         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
10261         (fill_referenced_var_vec): Remove.
10262         (first_readonly_imm_use): Remove redundant gcc_assert.
10263         (phi_arg_index_from_use): Combine gcc_asserts.
10264         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
10265         (first_imm_use_stmt): Remove redundant gcc_assert.
10266         * tree-cfg.c (verify_gimple_call): Verify function and chain
10267         operands.  Verify arguments.
10268         (verify_types_in_gimple_stmt): Verify condition code and labels.
10269
10270 2010-01-07  Richard Guenther  <rguenther@suse.de>
10271
10272         PR tree-optimization/42641
10273         * sese.c (rename_map_elt_info): Use the SSA name version, do
10274         not hash pointers.
10275
10276 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
10277
10278         PR tree-optimization/42625
10279         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
10280         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
10281
10282 2010-01-07  Duncan Sands  <baldrick@free.fr>
10283
10284         * Makefile.in (PLUGIN_HEADERS): Add version.h.
10285
10286 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
10287
10288         PR target/42511
10289         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
10290         note itself is not function_invariant_p.
10291
10292 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
10293
10294         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
10295         Do not add the DF_NOTE problem.
10296         * store-motion.c (execute_rtl_store_motion): Likewise.
10297
10298 2010-01-07  Martin Jambor  <mjambor@suse.cz>
10299
10300         PR tree-optimization/42157
10301         * tree-sra.c (compare_access_positions): Stabilize sort if both
10302         accesses have integer types, return zero immediately if they are the
10303         same.
10304
10305 2010-01-06  Richard Henderson  <rth@redhat.com>
10306
10307         PR middle-end/41883
10308         * haifa-sched.c (add_to_note_list): Merge into ...
10309         (concat_note_lists): ... here, and ...
10310         (unlink_other_notes, rm_other_notes): Merge into...
10311         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
10312         NOTE_INSN_EPILOGUE_BEG.
10313
10314 2010-01-06  Richard Guenther  <rguenther@suse.de>
10315
10316         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
10317         not inline regular functions into always-inline functions.
10318
10319 2010-01-06  Nick Clifton  <nickc@redhat.com>
10320
10321         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
10322         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
10323         used together.
10324         (OVERRIDE_OPTIONS): Delete.
10325         (OPTIMIZATION_OPTIONS): Define.
10326         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
10327         * config/rx/rx.c (rx_handle_option): Issue an error message if
10328         -mcpu=rx200 and -fpu are used together.
10329         (rx_set_optimization_options): New function.  Issue an error
10330         message if an optimization attribute attempts to reset the FPU/
10331         math optimization pairing.
10332         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
10333         * config/rx/rx.opt: Set the default to 32-bit doubles.
10334         * config/rx/t-rx: Add multilibs for -nofpu option.
10335         * doc/invoke.texi: Update documentation of RX options.
10336
10337 2010-01-06  Richard Guenther  <rguenther@suse.de>
10338
10339         * tree-ssa-pre.c (name_to_id): New global.
10340         (alloc_expression_id): Simplify SSA name handling.
10341         (lookup_expression_id): Likewise.
10342         (init_pre): Zero name_to_id.
10343         (fini_pre): Free it.
10344
10345 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
10346
10347         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
10348
10349 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
10350
10351         PR target/42542
10352         * config/i386/sse.md (smaxv2di3): New.
10353         (umaxv2di3): Likewise.
10354         (sminv2di3): Likewise.
10355         (uminv2di3): Likewise.
10356
10357 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
10358
10359         PR target/42564
10360         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
10361         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
10362         (legitimize_tls_address): Likewise.
10363         (sparc_tls_referenced_p): Likewise.
10364         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
10365         and adjust calls to legitimize_pic_address.
10366         (legitimate_constant_p) Use sparc_tls_referenced_p.
10367         (legitimate_pic_operand_p): Likewise.
10368         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
10369         (sparc_tls_symbol_ref_1): Delete.
10370         (sparc_tls_referenced_p): Make static, recognize specific patterns.
10371         (legitimize_tls_address): Make static, handle CONST patterns.
10372         (legitimize_pic_address): Make static, remove unused parameter and
10373         adjust recursive calls.
10374         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
10375         and adjust call to legitimize_pic_address.
10376         (sparc_output_mi_thunk): Likewise.
10377
10378 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
10379             H.J. Lu  <hongjiu.lu@intel.com>
10380
10381         PR target/42542
10382         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
10383         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
10384         operands to make them signed.
10385
10386         Revert:
10387         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
10388
10389         PR target/42542
10390         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
10391         GTU to GT for V4SI and V2DI.
10392
10393         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
10394         (umin<mode>3): Removed.
10395         (uminv8hi3): New.
10396         (uminv4si3): Likewise.
10397
10398 2010-01-05  Martin Jambor  <mjambor@suse.cz>
10399
10400         PR tree-optimization/42462
10401         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
10402         current_function_decl to helper functions and macros.
10403
10404 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10405
10406         PR bootstrap/41771
10407         * flags.h: Don't include real.h.
10408         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
10409         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
10410         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
10411         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
10412         * dominance.c: Update copyright.
10413         * gimple.c (walk_gimple_op): Remove inline.
10414         * tree-ssa-reassoc.c: Include real.h.
10415         * Makefile.in (FLAGS_H): Remove $(REAL_H).
10416         (tree-ssa-reassoc.o): Depend on $(REAL_H).
10417
10418 2010-01-05  Nick Clifton  <nickc@redhat.com>
10419
10420         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
10421         register to push into the stack frame when the accumulator has to
10422         be saved during interrupts.
10423
10424 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
10425
10426         * doc/invoke.texi: Remove the documentation about option
10427         -Wunreachable-code.
10428         * common.opt (Wunreachable-code):  Preserved for backward
10429         compatibility.
10430         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
10431         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
10432         the backward compatibility flag section.
10433
10434 2010-01-05  Richard Guenther  <rguenther@suse.de>
10435
10436         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
10437
10438 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
10439
10440         PR other/42611
10441         * cfgexpand.c (expand_one_var): Diagnose too large variables.
10442
10443         PR tree-optimization/42508
10444         * tree-sra.c (convert_callers): Check for recursive call
10445         by comparing cgraph nodes instead of decls.
10446         (modify_function): Call ipa_modify_formal_parameters also
10447         on all same_body aliases.
10448
10449         * cgraphunit.c (cgraph_materialize_all_clones): Compare
10450         cgraph nodes when checking for same_body aliases.
10451
10452 2010-01-05  Richard Guenther  <rguenther@suse.de>
10453
10454         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
10455         allocation and lookup.
10456         (get_or_alloc_expr_for_constant): Likewise.
10457         (phi_translate): Sink allocation.
10458
10459 2010-01-04  Richard Guenther  <rguenther@suse.de>
10460
10461         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
10462         a new entry only if needed.
10463         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
10464         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
10465         hashtable lookup.
10466         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
10467         the result array.
10468         (phi_translate): Handle CONSTANTs early.
10469
10470 2010-01-04  Martin Jambor  <mjambor@suse.cz>
10471
10472         PR tree-optimization/42398
10473         * tree-sra.c (struct access): Removed flag grp_different_types.
10474         (dump_access): Do not dump the removed flag.
10475         (sort_and_splice_var_accesses): Do not set the removed flag.
10476         (sra_modify_expr): Check for type compatibility directly.
10477
10478 2010-01-04  Martin Jambor  <mjambor@suse.cz>
10479
10480         PR tree-optimization/42366
10481         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
10482         edges with variable number of parameters.
10483         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
10484         flag instead of asserting it.
10485         (ipa_read_node_info): Read uses_analysis_done flag.
10486
10487 2010-01-04  Richard Guenther  <rguenther@suse.de>
10488
10489         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
10490         iterative_hash_* as intended.
10491         (vn_reference_compute_hash): Likewise.  Simplify hashing
10492         SSA names.
10493         (vn_reference_lookup_2): Likewise.
10494         (vn_nary_op_compute_hash): Likewise.
10495         (vn_phi_compute_hash): Likewise.
10496         (expressions_equal_p): Remove strange code.
10497         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
10498         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
10499         (bitmap_insert_into_set_1): Take value-id as parameter.
10500         (add_to_value): Pass it.
10501         (bitmap_insert_into_set): Likewise.
10502         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
10503
10504 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
10505
10506         PR driver/42442
10507         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
10508         (do_self_spec): For switches with SWITCH_IGNORE set set also
10509         SWITCH_IGNORE_PERMANENTLY.
10510         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
10511         of SWITCH_IGNORE.
10512
10513 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
10514
10515         * lto-streamer-out.c (output_unreferenced_globals): Output the full
10516         tree of an unreferenced global var.
10517
10518 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
10519
10520         PR target/42542
10521         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
10522         GTU to GT for V4SI and V2DI.
10523
10524         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
10525         (umin<mode>3): Removed.
10526         (uminv8hi3): New.
10527         (uminv4si3): Likewise.
10528
10529 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
10530
10531         PR lto/42581
10532         * collect2.c (main): Turn on trace in collect2 if -v is passed
10533         to gcc with LTO.
10534
10535 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
10536
10537         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
10538         description of expression operand.
10539
10540 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
10541
10542         * configure.ac: Add install-html to target_list for Make-hooks.
10543         * configure: Regenerate.
10544         * fortran/Make-lang.in (F95_HTMLFILES): New.
10545         (fortran.html): Use it.
10546         (fortran.install-html): New.
10547         * Makefile.in (install-html): Add lang.install-html.
10548         * java/Make-lang.in (JAVA_HTMLFILES): New.
10549         (java.html): Use it.
10550         (java.install-html): New.
10551         * objc/Make-lang.in (objc.install-html): New.
10552         * objcp/Make-lang.in (obj-c++.install-html): New.
10553         * cp/Make-lang.in (c++.install-html): New.
10554         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
10555         * lto/Make-lang.in (lto.install-html): New.
10556
10557 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
10558
10559         PR lto/42520
10560         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
10561
10562 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
10563
10564         PR rtl-optimization/41862
10565         * store-motion.c (store_killed_in_insn, compute_store_table,
10566         remove_reachable_equiv_notes, replace_store_insn,
10567         build_store_vectors): Ignore all DEBUG_INSNs.
10568
10569 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
10570
10571         PR lto/41564
10572         * common.opt: Add dumpdir.
10573
10574         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
10575         isn't specified.
10576         (option_map): Add --dumpdir.
10577
10578         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
10579
10580         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
10581
10582         * opts.c (decode_options): Try dump_dir_name first if
10583         dump_base_name isn't an absolute path.
10584         (common_handle_option): Handle OPT_dumpdir.
10585
10586         * toplev.c (dump_dir_name): New.
10587         (print_switch_values): Also ignore -dumpdir.
10588
10589         * toplev.h (dump_dir_name): New.
10590
10591 2010-01-03  Richard Guenther  <rguenther@suse.de>
10592
10593         PR tree-optimization/42589
10594         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
10595         double-word expansion of bswap32.
10596
10597 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
10598
10599         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
10600         with BLOCK_FOR_INSN.
10601         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
10602         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
10603         noce_process_if_block): Likewise.
10604         * gcse.c (compute_local_properties, insert_expr_in_table,
10605         insert_set_in_table, canon_list_insert, find_avail_set,
10606         pre_insert_copy_insn): Likewise.
10607
10608         * basic-block.h (BLOCK_NUM): Move from here...
10609         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
10610
10611 2010-01-03  Richard Guenther  <rguenther@suse.de>
10612
10613         PR tree-optimization/42438
10614         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
10615         contains_may_not_return_call flag.
10616         (BB_MAY_NOTRETURN): New.
10617         (valid_in_sets): Trapping nary operations are not valid
10618         in blocks that may not return.
10619         (insert_into_preds_of_block): Remove check for trapping expressions.
10620         (compute_avail): Compute also BB_MAY_NOTRETURN.
10621
10622 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
10623
10624         * doc/invoke.texi: Add 2010 to copyright years.
10625
10626 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
10627
10628         * config/sparc/sparc.c: Fix formatting nits.
10629
10630 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
10631             Alexander Monakov  <amonakov@ispras.ru>
10632
10633         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
10634
10635 2010-01-02  Richard Guenther  <rguenther@suse.de>
10636
10637         PR middle-end/42577
10638         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
10639         (simplify_switch_using_ranges): Mark to be removed edges
10640         as non-executable.
10641
10642 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10643
10644         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
10645
10646         * collect2.c (scan_libraries): Add missing argument in call to
10647         scan_prog_file.
10648
10649 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
10650
10651         PR target/42448
10652         * config/alpha/predicates.md (aligned_memory_operand): Return false
10653         for CQImode.
10654         (unaligned_memory_operand): Return true for CQImode.
10655         * config/alpha/alpha.c (get_aligned_mem): Assert that location
10656         doesn not cross aligned SImode word boundary.
10657
10658 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
10659
10660         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
10661         Remove.
10662         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
10663         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
10664
10665 2010-01-02  Richard Guenther  <rguenther@suse.de>
10666
10667         PR lto/41597
10668         * toplev.c (compile_file): Emit LTO marker properly.  Change
10669         it to __gnu_lto_v1.
10670         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
10671
10672 2010-01-01  Richard Guenther  <rguenther@suse.de>
10673
10674         PR debug/42455
10675         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
10676
10677 2010-01-01  Richard Guenther  <rguenther@suse.de>
10678
10679         PR c/42570
10680         * c-decl.c (grokdeclarator): For zero-size arrays force
10681         structural equality checks as layout_type does.
10682
10683 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
10684
10685         * builtins.c: Update copyright to 2010.
10686
10687 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
10688
10689         PR lto/42531
10690         * lto-streamer-out.c (produce_asm): Revert the last change.
10691         (copy_function): Likewise.
10692
10693         * lto-streamer.c (lto_get_section_name): Skip any leading
10694         asterisk in name.
10695
10696 2010-01-01  Richard Guenther  <rguenther@suse.de>
10697
10698         PR middle-end/42559
10699         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
10700         for LABEL_DECLs.
10701
10702 \f
10703 Copyright (C) 2010 Free Software Foundation, Inc.
10704
10705 Copying and distribution of this file, with or without modification,
10706 are permitted in any medium without royalty provided the copyright
10707 notice and this notice are preserved.