OSDN Git Service

* configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-06-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2
3         * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
4         linker emulations.
5         * configure: Regenerate.
6         * config.in: Regenerate.
7
8         * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
9         (X86_64_EMULATION): Define.
10         (TARGET_LD_EMULATION): Use them.
11
12         * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
13         (SPARC64_EMULATION): Define.
14         (LINK_ARCH_SPEC): Use them.
15
16 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
17
18         * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
19         smallest_mode_for_size for computing the precision types of new
20         graphite IVs.  Do not call lang_hooks.types.type_for_size.
21
22 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
23
24         * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
25         information.
26         (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
27
28 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
29
30         PR middle-end/44363
31         * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
32         return false instead.
33
34 2010-06-02  Jan Hubicka  <jh@suse.cz>
35
36         PR middle-end/44295
37         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
38         create new cgraph node to check callee.
39
40 2010-06-02  Richard Guenther  <rguenther@suse.de>
41
42         * lto-streamer-in.c (input_gimple_stmt): Fix typo.
43
44 2010-06-02  Richard Guenther  <rguenther@suse.de>
45
46         * lto-wrapper.c (lto_wrapper_exit): Rename to ...
47         (lto_wrapper_cleanup): ... this.  Do not exit.
48         (fatal): Adjust.  Exit here.
49         (fatal_perror): Likewise.
50         (fatal_signal): New function.
51         (main): Set up signal handlers to cleanup temporary files.
52         * Makefile.in (lto-wrapper.o): Adjust dependencies.
53
54 2010-06-02  Richard Guenther  <rguenther@suse.de>
55
56         PR tree-optimization/44377
57         * tree-ssa-structalias.c (find_func_aliases): Fix typo.
58
59 2010-06-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
60
61         * config/s390/2097.md (z10_fhex): Remove insn reservation.
62         * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
63         (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
64         *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
65         instruction.
66         * config/s390/s390.c: Don't accept fp zeros as valid constants
67         anymore.
68
69 2010-06-02  Jan Hubicka  <jh@suse.cz>
70
71         * bitmap.c (bitmap_descriptor): Add search_iter.
72         (bitmap_find_bit): Increment it.
73         (print_statistics): Print it.
74
75 2010-06-02  Nathan Froyd  <froydnj@codesourcery.com>
76
77         * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
78         instead of gimple_build_call_vec.  Delete unnecessary local variable.
79
80 2010-06-02  Steven Bosscher  <steven@gcc.gnu.org>
81
82         * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
83         change from yesterday.
84
85 2010-06-02  Steven Bosscher  <steven@gcc.gnu.org>
86
87         * c-ada-spec.c: Clean up redundant includes.
88
89 2010-06-01  Steven Bosscher  <steven@gcc.gnu.org>
90
91         * gimplify.c: Do not include except.h and optabs.h.
92         (gimplify_body): Do not initialize RTL profiling.
93         * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
94         langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
95         * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
96         output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
97         langhooks.h.
98
99         * tree-pretty-print.h: Include pretty-print.h.
100         * gimple-pretty-print.h: Include pretty-print.h.
101
102         * tree-pretty-print.c: Do not include diagnostic.h.
103         * tree-vrp.c: Likewise.
104         * tree-tailcall.c: Likewise
105         * tree-scalar-evolution.c: Likewise
106         * tree-ssa-dse.c: Likewise
107         * tree-chrec.c: Likewise
108         * tree-ssa-sccvn.c: Likewise
109         * tree-ssa-copyrename.c: Likewise
110         * tree-nomudflap.c: Likewise
111         * tree-call-cdce.c: Likewise
112         * tree-stdarg.c: Likewise
113         * tree-ssa-math-opts.c: Likewise
114         * tree-nrv.c: Likewise
115         * tree-ssa-sink.c: Likewise
116         * tree-browser.c: Likewise
117         * tree-ssa-loop-ivcanon.c: Likewise
118         * tree-ssa-loop.c: Likewise
119         * tree-parloops.c: Likewise
120         * tree-ssa-address.c: Likewise
121         * tree-ssa-ifcombine.c: Likewise
122         * tree-if-conv.c: Likewise
123         * tree-data-ref.c: Likewise
124         * tree-affine.c: Likewise
125         * tree-ssa-phiopt.c: Likewise
126         * tree-ssa-coalesce.c: Likewise
127         * tree-ssa-pre.c: Likewise
128         * tree-ssa-live.c: Likewise
129         * tree-predcom.c: Likewise
130         * tree-ssa-forwprop.c: Likewise
131         * tree-ssa-dce.c: Likewise
132         * tree-ssa-ter.c: Likewise
133         * tree-ssa-loop-prefetch.c: Likewise
134         * tree-optimize.c: Likewise
135         * tree-ssa-phiprop.c: Likewise
136         * tree-object-size.c: Likewise
137         * tree-outof-ssa.c: Likewise
138         * tree-ssa-structalias.c: Likewise
139         * tree-switch-conversion.c: Likewise
140         * tree-ssa-reassoc.c: Likewise
141         * tree-ssa-operands.c: Likewise
142         * tree-vectorizer.c: Likewise
143         * tree-vect-data-refs.c: Likewise
144         * tree-vect-generic.c: Likewise
145         * tree-vect-stmts.c: Likewise
146         * tree-vect-patterns.c: Likewise
147         * tree-vect-slp.c: Likewise
148         * tree-vect-loop.c: Likewise
149         * tree-ssa-loop-ivopts.c: Likewise
150         * tree-ssa-loop-im.c: Likewise
151         * tree-ssa-loop-niter.c: Likewise
152         * tree-ssa-loop-unswitch.c: Likewise
153         * tree-ssa-loop-manip.c: Likewise
154         * tree-ssa-loop-ch.c: Likewise
155         * tree-dump.c: Likewise
156         * tree-complex.c: Likewise
157
158         * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
159         * tree-ssa-uninit.c: Likewise
160         * tree-ssa-threadupdate.c: Likewise
161         * tree-ssa-uncprop.c: Likewise
162         * tree-ssa-ccp.c: Likewise
163         * tree-ssa-dom.c: Likewise
164         * tree-ssa-propagate.c: Likewise
165         * tree-ssa-alias.c: Likewise
166         * tree-dfa.c: Likewise
167         * tree-cfgcleanup.c: Likewise
168         * tree-sra.c: Likewise
169         * tree-ssa-copy.c: Likewise
170         * tree-ssa.c: Likewise
171         * tree-profile.c: Likewise
172         * tree-cfg.c: Likewise
173         * tree-ssa-threadedge.c: Likewise
174         * tree-vect-loop-manip.c: Likewise
175
176         * tree-inline.c: Do not include diagnostic.h and expr.h.
177         Include rtl.h.
178         (copy_decl_for_dup_finish): Do not use NULL_RTX.
179
180         * tree-loop-linear.c: Do not include diagnostic.h, expr.h,
181         and optabs.h.
182         * tree-loop-distribution.c: Likewise.
183
184 2010-06-01  Jan Hubicka  <jh@suse.cz>
185
186         * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
187
188 2010-06-01  Jan Hubicka  <jh@suse.cz>
189
190         * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
191         remove return value.
192         (split_bbs_on_noreturn_calls) .... here.
193         * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
194         * tree-flow.h (fixup_noreturn_call): New.
195
196 2010-06-01  Jan Hubicka  <jh@suse.cz>
197
198         * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
199
200 2010-06-01  Nathan Froyd  <froydnj@codesourcery.com>
201
202         * tree.h (build_nt_call_list): Delete.
203         * tree.c (build_nt_call_list): Delete.
204
205 2010-06-01  Jan Hubicka  <jh@suse.cz>
206
207         * fwprop.c: Make emit-rtl.h include last.
208         * rtlanal.c: Include emit-rtl.h.
209         * genautomata.c: Output emit-rtl include into insn-automata.c
210         * df-scan.c: Include emit-rtl.h.
211         * haifa-sched.c: Indlude emit-rtl.h.
212         * mode-switching.c: Indlude emit-rtl.h.
213         * graph.c: Indlude emit-rtl.h.
214         * sel-sched.c: Include emit-rtl.h.
215         * sel-sched-ir.c: Include emit-rtl.h.
216         * ira-build.c: Include emit-rtl.h.
217         * emit-rtl.c: (first_insn, last_insn): Remove defines.
218         (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
219         Move to emit-rtl.h.
220         (set_new_first_and_last_insn, get_last_insn_anywhere, get_first_nonnote_insn,
221         get_last_nonnote_insn, try_split, make_call_insn_raw, add_insn_after,
222         add_insn_before, remove_insn, delete_insns_since, reorder_insns_nobb,
223         emit_insn_after_1, emit_debug_insn_before, emit_insn, start_sequence,
224         push_to_sequence, push_to_sequence2, push_topmost_sequence, end_sequence,
225         copy_insn): Use accessor functions.
226         * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
227          gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
228         set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
229         mem_expr_equal_p): Move here from rtl.h
230         (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
231         Move here from emit-rtl.c; make inline.
232         * cfglayout.h: Include emit-rtl.h
233         * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
234          gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
235         set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
236         mem_expr_equal_p, get_insns, set_first-insn, get_last_insn, set_last_insn,
237         get_max_uid): Move to emit-rtl.h.
238         * reg-stack.c: Include emit-rtl.h
239         * dce.c: Likewise.
240
241 2010-06-01  Jan Hubicka  <jh@suse.cz>
242
243         * cgraph.h (tree_function_versioning): Update prototype.
244         (cgraph_function_versioning): Update prototype.
245         * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
246         bitmap.
247         (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy. 
248         (cgraph_materialize_clone, save_inline_function_body): Update use of
249         tree_function_versioning.
250         * tree-inline.c (copy_bb): Look for previous copied block to link after;
251         fix debug output.
252         (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
253         (copy_body): Likewise.
254         (expand_call_inline): Update use of copy_body.
255         (tree_function_versioning): Update use of copy body; accept
256         blocks_to_copy and new_entry.
257
258 2010-06-01  Jan Hubicka  <jh@suse.cz>
259
260         * gegenrtl.c: Remove unnecesary prototypes.
261         (gendecl): Remove.
262         (gendef): Produce static inline.
263         (gencode): Remove.
264         (main): Do not decode parameters; generate header only.
265         * Makefile.in (genrtl.c): Remove.
266
267 2010-06-01  Jan Hubicka  <jh@suse.cz>
268
269         * tree-switch-conversion.c (build_one_array): Make it readonly.
270
271 2010-06-01  Richard Guenther  <rguenther@suse.de>
272
273         * optabs.c (init_optabs): Guard all accesses to reinit.
274         * ipa-pure-const.c (propagate): Fix another typo.
275         * opts.c (common_handle_option): Split assignment to bool.
276         * c-opts.c (c_common_handle_option): Likewise.
277
278 2010-06-01  Arnaud Charlet  <charlet@adacore.com>
279             Matthew Gingell  <gingell@adacore.com>
280
281         * doc/invoke.texi: Mention -fdump-ada-spec.
282         * tree-dump.c (dump_files): Add ada-spec.
283         (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
284         * tree-pass.h (tree_dump_index): Add TDI_ada.
285         * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
286         (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
287         (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
288         * c-decl.c: Include c-ada-spec.h.
289         (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
290         functions.
291         (c_write_global_declarations): Add handling of -fdump-ada-spec.
292         * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
293         * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
294         * c-ada-spec.h, c-ada-spec.c: New files.
295
296 2010-06-01  Richard Guenther  <rguenther@suse.de>
297
298         PR lto/43853
299         * ipa-pure-const.c (get_function_state): Hand back varying state
300         if we do not have one.
301         (has_function_state): New function.
302         (duplicate_node_data): Adjust.
303         (remove_node_data): Likewise.
304         (pure_const_write_summary): Likewise.
305         (propagate): Likewise.  Fix typo.
306
307 2010-06-01  Jan Hubicka  <jh@suse.cz>
308
309         * tree-cfg.c (verify_stmt): Do not skip could_throw test.
310         * passes.c (execute_function_todo): Do not make implicit verify_ssa.
311         (execute_all_ipa_transforms): Do not play with the states.
312
313 2010-06-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
314
315         * config/arm/t-linux-androideabi: New.
316         * config.gcc (arm*-*-linux-androideabi): Include multilib configuration.
317
318 2010-06-01  Jan Hubicka  <jh@suse.cz>
319
320         * tree-inline.c (estimate_num_insns): For stdarg functions look
321         into call statement to count cost of argument passing.
322
323 2010-06-01  Kai Tietz
324
325         * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
326         argument for fprintf.
327         (ix86_output_addr_diff_elt): Likewise.
328         (x86_function_profiler): Likewise.
329         * config/cygming.h (LOCAL_LABEL_PREFIX): Fix
330         for x64 no-underscore.
331         (LPREFIX): Likewise.
332         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
333
334 2010-05-31  Jakub Jelinek  <jakub@redhat.com>
335
336         PR target/44338
337         * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
338         fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
339         fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
340         fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
341         fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
342         fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
343         fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
344         Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
345         TARGET_FUSED_MADD.
346
347 2010-05-31  Jan Hubicka  <jh@suse.cz>
348
349         * tree.h (tree_range_check_failed): Declare noreturn.
350
351 2010-05-31  Jan Hubicka  <jh@suse.cz>
352
353         * gimple.c (gimple_call_builtin_p): New function.
354         * gimple.h (gimple_call_builtin_p): Declare.
355         * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
356         to exit.
357         (execute_warn_function_return): BUILT_IN_RETURN is return.
358         (split_critical_edges): Return edges are not critical.
359         (is_ctrl_altering_stmt): Builtin_in_return is altering.
360         (gimple_verify_flow_info): Handle built_in_return.
361         (execute_warn_function_return): Handle built_in_return.
362         * ipa-pure-const.c (check_call): Ignore builtin_return.
363
364 2010-05-31  Jakub Jelinek  <jakub@redhat.com>
365
366         PR middle-end/44337
367         * expr.c (expand_assignment): Don't store anything for out-of-bounds
368         array accesses with non-MEM.
369
370         PR tree-optimization/44182
371         * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
372         newly needs to end a bb is followed by debug stmts, instead return
373         true from the function at the end.
374         (maybe_move_debug_stmts_to_successors): New function.
375         (copy_cfg_body): Call it if copy_edges_for_bb returned true.
376
377 2010-05-31  Kai Tietz  <kai.tietz@onevision.com>
378
379         PR target/44161
380         * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
381         flag_pic.
382
383 2010-05-31  Eric Botcazou  <ebotcazou@adacore.com>
384
385         * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
386         for nested functions in non-optimized compilation.
387
388 2010-05-31  Richard Guenther  <rguenther@suse.de>
389
390         * tree-ssa-structalias.c (find_func_aliases): Handle
391         BUILT_IN_RETURN.
392
393 2010-05-30  Jan Hubicka  <jh@suse.cz>
394
395         * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
396
397 2010-05-30  Richard Guenther  <rguenther@suse.de>
398
399         PR lto/42975
400         * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
401         (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
402         no longer needed.
403
404 2010-05-30  Iain Sandoe  <iains@gcc.gnu.org>
405
406         * config/darwin.c (output_objc_section_asm_op): Add comment.
407         (name_needs_quotes): Add '_' to list of valid comment chars.
408         (machopic_output_function_base_name): Remove unneeded quotes.
409         (darwin_encode_section_info): Adjust asm whitespace.
410         * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
411         (ASM_OUTPUT_LOCAL): Ditto.
412         * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
413         * config/darwin.h (GLOBAL_ASM_OP): Ditto.
414         * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
415         
416 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
417
418         * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
419         RS6000_OUTPUT_BASENAME unconditionally.
420         (rs6000_output_function_epilogue): Likewise.
421
422 2010-05-30  Jan Hubicka  <jh@suse.cz>
423
424         * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
425         nodes.
426
427 2010-05-30  Richard Guenther  <rguenther@suse.de>
428
429         * tree-cfg.c (verify_gimple_assign_single): Implement
430         verification for COND_EXPR rhs.
431
432 2010-05-30  Jan Hubicka  <jh@suse.cz>
433
434         * cgraph.h (cgraph_dump_file): Declare.
435         * cgraphunit.c (cgraph_dump_file): Export.
436         * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less
437         verbose.
438
439 2010-05-30  Jan Hubicka  <jh@suse.cz>
440
441         * dwarf2out.c (reference_to_unused,
442         premark_types_used_by_global_vars_helper): Avoid creation of new
443         varpool nodes.
444
445 2010-05-30  Jan Hubicka  <jh@suse.cz>
446
447         * cgraph.h (cgraph_node_cannot_return,
448         cgraph_edge_cannot_lead_to_return): New functions.
449         * cgraph.c (cgraph_node_cannot_return,
450         cgraph_edge_cannot_lead_to_return): Use them.
451         * ipa-pure-const.c (pure_const_names): New static var.
452         (check_call): Handle calls not leading to return.
453         (pure_const_read_summary): Dump info read.
454         (propagate): Dump info about propagation process; ignore side
455         effects of functions not leading to exit; fix handling of
456         pure functions.
457
458 2010-05-30  Jan Hubicka  <jh@suse.cz>
459
460         * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
461         for tail call epilogues.
462
463 2010-05-30  Jan Hubicka  <jh@suse.cz>
464
465         * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
466         ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
467         dump files.
468
469 2010-05-29  Jan Hubicka  <jh@suse.cz>
470
471         * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
472         node; remove references in node we no longer keep in cgrpah but need
473         body of.
474
475 2010-05-29  Jan Hubicka  <jh@suse.cz>
476
477         * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
478
479 2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
480
481         PR target/44165
482         * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
483
484 2010-05-29  Jan Hubicka  <jh@suse.cz>
485
486         * tree-vrp.c (debug_value_range, debug_all_value_ranges,
487         debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
488         * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
489         debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
490         debug_names_replaced_by, debug_update_ssa): Likewise.   
491         * sbitmap.c (debug_sbitmap): Likewise.
492         * genrecog.c (debug_decision, debug_decision_list): Likewise.
493         * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
494         debug_tree_chain): Likewise.
495         * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
496         * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
497         * optabs.c  (debug_optab_libfuncs): Likewise.
498         (verify_loop_closed_ssa): Likewise.
499         * value-prof.c (verify_histograms): Likewise.
500         * reload.c (debug_reload_to_stream, debug_reload): Likewise.
501         * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
502         * cfghooks.c (verify_flow_info): Likewise.
503         * fold-const.c (debug_fold_checksum): Likewise.
504         * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
505         * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
506         Likewise.
507         * omega.c (debug_omega_problem): Likewise.
508         * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
509         * tree-ssa-ccp.c (debug_lattice_value): Likewise.
510         * dominance.c (verify_dominators, debug_dominance_info,
511         debug_dominance_tree): Likewise.
512         * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
513         * df_regno_debug, df_ref_debug,
514         debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
515         debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
516         * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
517         * sel-sched.c (debug_state): Likewise.
518         * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
519         Likewise.
520         * cfganal.c (print_edge_list, verify_edge_list): Likewise.
521         * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
522         * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
523         * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
524         Likewise.
525         * c-pretty-print.c (debug_c_tree): Likewise.
526         * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
527         debug_av_set, debug_lv_set, debug_ilist, debug_blist,
528         debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
529         * ebitmap.c (debug_ebitmap): Likewise.
530         * function.c (debug_find_var_in_block_tree): Likewise.
531         * print-rtl.c (debug_rtx): Likewise.
532         (debug_rtx_count): Likewise.
533         (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
534         * stor-layout.c (debug_rli): Likewise.
535         * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
536         * tree-data-ref.c (debug_data_references,
537         debug_data_dependence_relations, debug_data_reference,
538         debug_data_dependence_relation, debug_rdg_vertex,
539         debug_rdg_component, debug_rdg): Likewise.
540         * tree-affine.c (debug_aff): Likewise.
541         * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
542         Likewise.
543         * except.c (debug_eh_tree, verify_eh_tree): Likewise.
544         * emit-rtl.c (verify_rtl_sharing): Likewise.
545         * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
546         debug_value_expressions): Likewise.
547         * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
548         * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
549         * print-tree.c (debug_tree, debug_vec_tree): Likewise.
550         * cfglayout.c (verify_insn_chain): Likewise.
551         * graphite-clast-to-gimple.c (debug_clast_name_indexes,
552         debug_clast_stmt, debug_generated_program): Likewise.
553         * ggc-page.c (debug_print_page_list): Likewise.
554         * tree-ssa-ter.c (debug_ter): Likewise.
555         * graphite-dependences.c (debug_pddr): Likewise.
556         * sched-deps.c (debug_ds): Likewise.
557         * tree-ssa.c (verify_ssa): Likewise.
558         * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
559         debug_scattering_functions, debug_iteration_domains, debug_pdr,
560         debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
561         debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
562         * tree-inline.c (debug_find_tree): Likewise.
563         * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
564         debug_ppl_powerset_matrix): Likewise.
565         * var-tracking.c (debug_dv): Likewise.
566         * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
567         * cfgloop.c (verify_loop_structure): Likewise.
568         * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
569         * c-common.c (verify_sequence_points): Likewise.
570         * sched-rgn.c (debug_regions, debug_region, debug_candidate,
571         debug_candidates, debug_rgn_dependencies): Likewise.
572         * tree-ssa-structalias.c (debug_constraint, debug_constraints,
573         * debug_constraint_graph, debug_solution_for_var,
574         debug_sa_points_to_info): Likewise.
575         * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
576         Likewie.
577         * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
578         debug_loops, debug_loop, debug_loop_num): Likewise.
579         * passes.c (debug_pass): Likewise.
580         (dump_properties): Likewise; add cfglayout property.
581         (debug_properties): Likewise.
582         * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
583         * varpool.c (debug_varpool): Likewise.
584         * regcprop.c (debug_value_data): Likewise.
585         * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
586         debug_immediate_uses_for): Likewise.
587
588 2010-05-29  H.J. Lu  <hongjiu.lu@intel.com>
589
590         PR bootstrap/44315
591         * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
592         Filter out insn-flags.h.
593
594 2010-05-29  Jan Hubicka  <jh@suse.cz>
595
596         * cgraph.h (struct varpool_node_set_def,
597         struct cgraph_node_set_def): Remove unused AUX pointer.
598         (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
599         VEC_empty macro.
600
601 2010-05-29  Jan Hubicka  <jh@suse.cz>
602
603         PR middle-end/44324
604         * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
605
606 2010-05-29  Richard Guenther  <rguenther@suse.de>
607
608         * lto-streamer.c (cached_bp): New global variable.
609         (bitpack_create): Return the cached bitpack, if available.
610         (bitpack_delete): Clear and cache the bitpack, if appropriate.
611         (bp_pack_value): Remove redundant asserts.
612
613 2010-05-29  Sebastian Pop  <sebastian.pop@amd.com>
614
615         PR middle-end/44306
616         * tree-if-conv.c (is_true_predicate): New.
617         (is_predicated): Use is_true_predicate.
618         (add_to_predicate_list): Same.  Do not use unshare_expr.
619         (add_to_dst_predicate_list): Same.
620
621 2010-05-29  Sebastian Pop  <sebastian.pop@amd.com>
622
623         * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
624         field on edges.
625         (predicate_bbs): Same.
626         (clean_predicate_lists): Same.
627         (find_phi_replacement_condition): Do not AND the predicate from
628         edge->aux.
629
630 2010-05-29  H.J. Lu  <hongjiu.lu@intel.com>
631
632         PR bootstrap/44315
633         * Makefile.in (build/gencondmd.o): Add a missing `\'.
634
635 2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
636
637         PR target/44261
638         config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
639         (negdf2): Adjust expander pattern and use negdf2_slow.
640         (negsf2): Likewise.
641
642 2010-05-29  Nathan Froyd  <froydnj@codesourcery.com>
643
644         * basic-block.h (struct control_flow_graph): Move last_label_uid field
645         up.
646         * df.h (struct df_base_ref): Move regno field up.
647         * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
648         * expr.h (struct separate_ops): Move location field up.
649         * optabs.h (struct optab_d): Move libcall_basename field down.
650         * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
651         * config/i386/i386.h (struct machine_function): Convert call_abi field
652         into a bitfield.  Move cfa field to the end of the structure.
653
654 2010-05-29  Jan Hubicka  <jh@suse.cz>
655
656         * varpool.c (varpool_get_node): Fix lookup.
657
658 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
659
660         * config/spu/spu-protos.h: Do not include rtl.h.  Protect
661         RTL specific prototypes with #ifdef RTX_CODE.
662         * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
663         * config/spu/t-spu-elf: Fix dependencies.
664
665         * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
666
667 2010-05-29  Mike Stump  <mikestump@comcast.net>
668
669         PR bootstrap/44315
670         * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
671         TM_H when building to avoid dependency loops.
672
673 2010-05-29  Jan Hubicka  <jh@suse.cz>
674
675         * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
676         refs and body; not the whole node for masters of materialized
677         clones.
678
679 2010-05-29  Mike Stump  <mikestump@comcast.net>
680
681         * config/rs6000/rs6000-c.c: Remove c-tree.h include.
682
683 2010-05-29  Jan Hubicka  <jh@suse.cz>
684
685         * cgraph.c (clone_function_name): Take SUFFIX argument; export.
686         (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
687         use of clone_function_name.
688         * cgraph.h (cgraph_create_virtual_clone, 
689         cgraph_function_versioning): update prototypes.
690         (clone_function_name): Declare.
691         * ipa-cp.c (ipcp_insert_stage): Update call of
692         cgraph_create_virtual_clone.
693         * omp-low.c (create_omp_child_function_name): Use
694         cgraph_create_virtual_clone.
695         * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
696         (cgraph_function_versioning): Take SUFFIX argument; produce new name
697         and make decl local.
698
699 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
700
701         * vec.h: Include statistics.h
702         * Makefile.in: Introduce VEC_H.  Replace all vec.h dependencies
703         with VEC_H.
704
705 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
706
707         * c-lex.c: Do not include c-tree.h.
708         * c-pretty-print.c: Likewise.
709         * c-opts.c: Likewise.
710         * c-gimplify.c: Likewise.
711         * c-common.c: Likewise.
712         * c-dump.c: Likewise.  Include c-common.h.
713
714 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
715
716         * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
717         before including diagnostic-core.h.
718         (c_cpp_error): New prototype moved from c-tree.h.
719         Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
720         * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
721         (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
722         (c_cpp_error): Prototype moved to c-common.h.
723         * Makefile.in: Update dependency for C_COMMON_H.
724
725 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
726
727         * c-common.h: Add FIXME for awkward split of c_register_addr_space.
728         * c-common.c (c_register_addr_space): Remove here.
729         * c-decl.c (c_register_addr_space): Re-add here.
730
731 2010-05-28  Mike Stump  <mikestump@comcast.net>
732
733         * config/darwin-c.c: Remove c-tree.h include.
734
735 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
736
737         * gcc.c: Include diagnostic.h.
738         (error_count): Remove.  All users changed to use errorcount.
739         (programname): Remove.  All users changed to use progname.
740         (fancy_abort, internal_error, fatal_error, error, warning, inform,
741         fnotice): Remove.
742         (execute): Don't include "Internal error" and bug reporting
743         information in argument of internal_error call.
744         (process_command): Don't increment error_count after calling
745         perror_with_name.
746         (input_filename): Rename to gcc_input_filename.  All users
747         changed.
748         (main): Call diagnostic_initialize.  Register delete_temp_files
749         with atexit.  Use seen_error to test for errors.
750         * gcc.h: Include diagnostic-core.h.
751         (fatal_error, error, warning): Remove.
752         * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
753         (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
754         (gcc.o): Update dependencies.
755
756 2010-05-28  Jeff Law  <law@redhat.com>
757
758         * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
759         functions.
760         * ira.h (ira_bad_reload_regno): Declare
761         * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
762
763         * ira-color.c (update_curr_costs): Free updated hard reg costs.
764         (ira_reassign_conflict_allocnos): Remove bogus asserts.
765         (allocno_reload_assign): Likewise.
766
767 2010-05-28  Nathan Froyd  <froydnj@codesourcery.com>
768
769         * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
770         build1_stat.
771
772 2010-05-28  Richard Guenther  <rguenther@suse.de>
773
774         PR lto/44312
775         * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
776         Stream fixed-point constants mode.
777         (unpack_ts_type_value_fields): Fix width of TYPE_MODE
778         and TYPE_PRECISION.
779         * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
780         Stream fixed-point constants mode.
781         (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
782         and TYPE_PRECISION.
783
784 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
785
786         * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
787         only place it was called from.
788         (number_of_latch_executions): Do not return chrec_dont_know when the
789         may_be_zero is a runtime condition: instead, return a COND_EXPR
790         including the may_be_zero condition.
791         * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
792         of nb_iterations.
793         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
794         COND_EXPRs.
795
796 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
797
798         * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
799         generate COND_EXPRs for degenerate_phi_result.
800
801 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
802
803         PR middle-end/44293
804         * tree-if-conv.c (if_convertible_loop_p): Check the
805         if-convertibility of phi nodes in non predicated BBs.
806
807 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
808
809         * gcc.c (error, warning, inform): Remove duplicate ": " in output.
810
811 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
812
813         PR driver/15303
814         * gcc.c (inform, warning, inform): New functions.
815         (fatal_ice): Rename to internal_error; change cmsgid parameter to
816         gmsgid.  All callers changed.
817         (notice): Rename to fnotice; add parameter fp.  All callers
818         changed.
819         (fatal_error): Rename to fatal_signal.  All users changed.
820         (fatal): Rename to fatal_error; change cmsgid parameter to
821         gmsgid.  All callers changed.
822         (process_command): Use warning instead of error for warnings.
823         (end_going_arg): Don't use _() around argument of error.
824         (do_spec_1): Use inform for message from %n specs.  Use warning
825         instead of error for warnings.
826         (main): Use inform for comparison messages.  Use warning for
827         message about unused linker input.
828         (error): Increment error_count.  Print "error: ".
829         * gcc.h (fatal): Change to fatal_error.
830         (warning): Declare.
831         * config/darwin-driver.c (darwin_default_min_version): Use warning
832         instead of fprintf for warnings.
833         * cppspec.c (lang_specific_driver): Use fatal_error instead of
834         fatal.
835
836 2010-05-28  Julian Brown  <julian@codesourcery.com>
837
838         * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
839         (*thumb2_addsi3_compare0_scratch): New.
840         * config/arm/constraints.md (Pv): New.
841         * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
842         for ARM mode only.
843         (*addsi3_compare0_scratch): Likewise.
844
845 2010-05-28  Jan Hubicka  <jh@suse.cz>
846
847         * ipa-reference.c (add_static_var): Remove redundant all_module_statics
848         check.
849         (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
850         only on local statics.
851
852 2010-05-28  Iain Sandoe  <iains@gcc.gnu.org>
853
854         * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
855
856 2010-05-28  Maxim Kuvyrkov  <maxim@codesourcery.com>
857
858         PR bootstrap/44314
859         * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
860         (OPTION_GLIBC): Define.
861
862 2010-05-28  Jakub Jelinek  <jakub@redhat.com>
863
864         PR debug/41048
865         * dwarf2out.c (double_int_type_size_in_bits): New function.
866         (round_up_to_align): Change first argument and return value to
867         double_int.
868         (field_byte_offset): Work internally on double_ints.
869
870         PR target/43636
871         * builtins.c (expand_movstr): Use a temporary pseudo instead
872         of target even when target is not NULL and not const0_rtx, but
873         fails movstr predicate.
874         * config/m32c/blkmov.md (movstr): Add predicate to first operand.
875
876 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
877
878         * final.c (rest_of_clean_state): Use %m in errors instead of
879         strerror (errno).
880         * gengtype.c (read_input_list, close_output_files): Use xstrerror
881         instead of strerror.
882         * toplev.c (process_options): Use %m in errors instead of strerror
883         (errno).
884         * tree-dump.c (dump_begin): Use %m in errors instead of strerror
885         (errno).
886
887 2010-05-28  Uros Bizjak  <ubizjak@gmail.com>
888
889         * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
890         (ix86_canonical_va_list_type): Make static.  Add declaration.
891         (ix86_enum_va_list): Make static.  Reindent.
892         * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
893         (ix86_canonical_va_list_type): Ditto.
894         (ix86_enum_va_list): Ditto.
895
896 2010-05-28  Richard Guenther  <rguenther@suse.de>
897
898         * lto-wrapper.c (run_gcc): With -save-temps generate a
899         user-visible ltrans filename.  Fixup ltrans unit numbering.
900
901 2010-05-28  Kai Tietz  <kai.tietz@onevision.com>
902
903         * c-common.c (c_common_nodes_and_builtins): Replace use
904         of TARGET_ENUM_VA_LIST by target hook enum_va_list.
905         * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
906         to ix86_enum_va_list.
907         * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
908         * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
909         (TARGET_ENUM_VA_LIST_P): Add hook description.
910         * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
911         * target.h (gcc_target): Add enum_va_list hook.
912
913         PR bootstrap/44299
914         * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
915         * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
916         * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
917
918 2010-05-28  Alan Modra  <amodra@gmail.com>
919
920         PR target/44266
921         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
922         emit_library_call machinery to set up __tls_get_addr calls.
923
924 2010-05-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
925
926         * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
927
928 2010-05-28  Dodji Seketeli  <dodji@redhat.com>
929
930         Revert fix for PR c++/44188
931         * c-common.c (is_typedef_decl): Revert the moving of  this
932         definition ...
933         * tree.c (is_typedef_decl): ... here.
934         (typdef_variant_p): Revert the moving of this  definition
935         here from gcc/cp/tree.c.
936         * c-common.h (is_typedef_decl): Revert the moving of this
937         declaration ...
938         * tree.h (is_typedef_decl): ... here.
939         (typedef_variant_p): Revert the moving of this  declaration here
940         from gcc/cp/cp-tree.h
941         * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
942         (gen_tagged_type_die): Revert the splitting out of ...
943         (gen_type_die_with_usage): ... this function. Revert the anonymous
944         tagged type handling.
945         (gen_typedef_die): Revert emitting DW_TAG_typedef  for
946         typedefs naming anonymous tagged types.
947
948 2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
949
950         * config/rs6000/rs6000-modes.def (PSImode): Delete.
951
952 2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
953
954         * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
955         * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
956         throughout.
957         * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
958         "xer" to "ca".
959         Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
960         XER_REGS to CA_REGS throughout.
961         * config/rs6000/rs6000.h: Same.
962         (ADDITIONAL_REGISTER_NAMES): Add "xer".
963         * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO.  Document
964         that mode_iterator "P" is the size for arithmetic carries as well.
965         * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
966
967 2010-05-28  Jakub Jelinek  <jakub@redhat.com>
968
969         PR bootstrap/44255
970         * combine.c (struct rtx_subst_pair): Define unconditionally.
971         (propagate_for_debug_subst): Likewise.  If not AUTO_INC_DEC,
972         copy_rtx pair->to instead of cleanup_auto_inc_dec it.
973         Call make_compound_operation on pair->to.
974         (propagate_for_debug): Don't call make_compound_operation here.
975         Always use simplify_replace_fn_rtx.
976
977 2010-05-27  Sterling Augustine  <sterling@tensilica.com>
978
979         * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
980         * config/xtensa/xtensa.c (override_options): Check
981           TARGET_FORCE_NO_PIC and set flag_pic.
982         * config/xtensa/xtensa.opt: Document -mforce-no-pic
983
984 2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
985
986         PR bootstrap/44299
987         * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
988         * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
989
990 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
991
992         * diagnostic-core.h: New.  Contents moved from diagnostic.h and
993         toplev.h.
994         * diagnostic.c: Don't include toplev.h.
995         (progname): Define.  Moved from toplev.c.
996         (seen_error): New function.
997         * diagnostic.h: Include diagnostic-core.h.
998         (diagnostic_t, emit_diagnostic): Don't declare here.
999         * toplev.c (progname): Move to toplev.c.
1000         (emit_debug_global_declarations, compile_file, finalize,
1001         do_compile, toplev_main): Use seen_error.
1002         * toplev.h: Include diagnostic-core.h.
1003         (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
1004         internal_error, warning, warning_at, error, error_n, error_at,
1005         fatal_error, pedwarn, permerror, sorry, inform, inform_n,
1006         verbatim, fnotice, progname): Move to diagnostic-core.h.
1007         * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
1008         (expand_builtin_expect): Use seen_error.
1009         * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
1010         (c_make_fname_decl, c_write_global_declarations): Use seen_error.
1011         * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
1012         * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
1013         * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
1014         * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
1015         errorcount for errors.
1016         * c-opts.c (c_common_finish): Use seen_error.
1017         * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
1018         * cgraphunit.c (verify_cgraph_node, verify_cgraph,
1019         cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
1020         * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
1021         (get_coverage_counts): Use seen_error.
1022         * dwarf2out.c (dwarf2out_finish): Use seen_error.
1023         * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
1024         gimplify_body): Use seen_error.
1025         * ipa-inline.c (cgraph_early_inlining): Use seen_error.
1026         * ipa-pure-const.c (gate_pure_const): Use seen_error.
1027         * ipa-reference.c (gate_reference): Use seen_error.
1028         * jump.c: Include diagnostic-core.h instead of diagnostic.h.
1029         * lambda-code.c: Include diagnostic-core.h instead of
1030         diagnostic.h.
1031         * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
1032         * lto-compress.c: Include diagnostic-core.h instead of
1033         diagnostic.h.
1034         * lto-section-in.c: Include diagnostic-core.h instead of
1035         diagnostic.h.
1036         * lto-streamer-out.c: Include diagnostic-core.h instead of
1037         diagnostic.h.
1038         * lto-streamer.c: Include diagnostic-core.h instead of
1039         diagnostic.h.
1040         (gate_lto_out): Use seen_error.
1041         * matrix-reorg.c: Include diagnostic-core.h instead of
1042         diagnostic.h.
1043         * omega.c: Include diagnostic-core.h instead of diagnostic.h.
1044         * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
1045         (gate_expand_omp, lower_omp_1): Use seen_error.
1046         * passes.c: Include diagnostic-core.h instead of diagnostic.h.
1047         (rest_of_decl_compilation, rest_of_type_compilation,
1048         gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
1049         * tree-cfg.c (label_to_block_fn): Use seen_error.
1050         * tree-inline.c (optimize_inline_calls): Use seen_error.
1051         * tree-mudflap.c (mudflap_finish_file): Use
1052         seen_error.
1053         * tree-optimize.c (gate_all_optimizations,
1054         gate_all_early_local_passes, gate_all_early_optimizations): Use
1055         seen_error.
1056         * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
1057         * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
1058         (varpool_remove_unreferenced_decls,
1059         varpool_assemble_pending_decls): Use seen_error.
1060         * Makefile.in (DIAGNOSTIC_CORE_H): Define.
1061         (TOPLEV_H, DIAGNOSTIC_H): Update.
1062         (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
1063         lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
1064         c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
1065         builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
1066         coverage.o, lambda-code.o): Update dependencies.
1067
1068 2010-05-25  Dodji Seketeli  <dodji@redhat.com>
1069
1070         PR c++/44188
1071         * c-common.c (is_typedef_decl): Move this definition ...
1072         * tree.c (is_typedef_decl): ... here.
1073         (typdef_variant_p): Move definition here from gcc/cp/tree.c.
1074         * c-common.h (is_typedef_decl): Move this declaration ...
1075         * tree.h (is_typedef_decl): ... here.
1076         (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
1077         * dwarf2out.c (is_naming_typedef_decl): New function.
1078         (gen_tagged_type_die): Split out of ...
1079         (gen_type_die_with_usage): ... this function. When an anonymous
1080         tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
1081         is emitted for the typedef.
1082         (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
1083         anonymous tagged types.
1084
1085 2010-05-27  Jason Merrill  <jason@redhat.com>
1086
1087         * print-tree.c (debug_vec_tree): New fn.
1088         (print_vec_tree): New fn.
1089         * tree.h: Declare them.
1090         * gdbinit.in (pvt): New command.
1091
1092         * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
1093
1094         * gdbinit.in (pdd): New command.
1095
1096 2010-05-27  Jan Hubicka  <jh@suse.cz>
1097
1098         * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
1099         (update_caller_keys): Return early if there are no callers;
1100         only update fibheap when decresing the key.
1101         (update_callee_keys): Avoid recursion.
1102         (decide_inlining_of_small_functions): When badness does not match;
1103         re-insert into fibheap.
1104
1105 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
1106
1107         * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
1108         (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
1109         (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
1110         (ALL_HOST_OBJS): Now a union of the above two.
1111         <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
1112         all files in ALL_HOST_FRONTEND_OBJS.
1113         * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
1114
1115         * c-common.c: Pretend to be a backend file by undefining
1116         IN_GCC_FRONTEND (still need rtl.h here).
1117
1118 2010-05-27  Jan Hubicka  <jh@suse.cz>
1119
1120         * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
1121         * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
1122
1123 2010-05-27  Jan Hubicka  <jh@suse.cz>
1124
1125         * sched-ebb.c: Rename struct deps to struct deps_desc.
1126         * ddg.c: Likewise.
1127         * sel-sched-ir.c: Likewise.
1128         * sched-deps.c: Likewise.
1129         * sched-int.h: Likewise.
1130         * sched-rgn.c: Likewise.
1131
1132 2010-05-27  Jon Beniston <jon@beniston.com>
1133
1134         PR 43726
1135         * config/lm32/lm32.h: Remove definition of 
1136         GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
1137
1138 2010-05-27  Eric Botcazou  <ebotcazou@adacore.com>
1139
1140         PR lto/44230
1141         * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
1142
1143 2010-05-27  Richard Guenther  <rguenther@suse.de>
1144
1145         PR tree-optimization/44284
1146         * tree-vect-stmts.c (vectorizable_assignment): Handle
1147         sign-changing conversions as simple copy.
1148
1149 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
1150
1151         * gthr-posix.h (pthread_cancel): Don't declare if compiling against
1152         Bionic C library.
1153         (__gthread_active_p): Check for pthread_create if compiling against
1154         Bionic C library.
1155
1156 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
1157
1158         Support compilation for Android platform.  Reimplement -mandroid.
1159
1160         * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
1161         (*android*): Set ANDROID_DEFAULT.
1162         (arm*-*-linux*): Include linux-android.h.
1163         (arm*-*-eabi*): Don't include previous -mandroid implementation.
1164         * config/arm/eabi.h: Remove, move Android-specific parts ...
1165         * config/linux-android.h: ... here.  New file.
1166         * config/arm/eabi.opt: Rename to ...
1167         * config/linux-android.opt: ... this.
1168         (mandroid): Allow -mno-android option.  Initialize based on
1169         ANDROID_DEFAULT.
1170         * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
1171         Move logic to corresponding LINUX_TARGET_* macros.
1172         (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
1173         * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
1174         (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
1175         Android definitions.
1176         (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
1177         * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
1178         Document.
1179
1180 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
1181
1182         Add support for Bionic C library
1183
1184         * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
1185         macro.
1186         (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
1187         (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
1188
1189         * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
1190         (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
1191         (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
1192         to support multiple C libraries.  Handle Bionic.
1193         (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
1194         (BIONIC_DYNAMIC_LINKER64): Define.
1195         (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
1196         Update.
1197         (TARGET_HAS_SINCOS): Enable for Bionic.
1198
1199         * config/linux.opt: Rewrite to handle more than 2 C libraries.  Make
1200         the last option specified on command line take effect.
1201         (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
1202         (mbionic): New.
1203         (mglibc, muclibc): Update.
1204
1205         * config/alpha/linux-elf.h, config/rs6000/linux64.h,
1206         * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
1207         DEFAULT_LIBC.
1208
1209         * doc/invoke.texi (-mglibc, -muclibc): Update.
1210         (-mbionic): Document.
1211
1212 2010-05-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1213
1214         * c-common.h (c_register_addr_space): Add prototype.
1215         (ADDR_SPACE_KEYWORD): Remove.
1216         * c-common.c (c_register_addr_space): New function.
1217         (c_addr_space_name): Reimplement.
1218         (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
1219
1220         * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
1221         (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
1222
1223         * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
1224         Remove TARGET_ADDR_SPACE_KEYWORDS.
1225
1226 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
1227
1228         * input.c: New file.
1229         * input.h (main_input_filename): Move declaration to toplev.h.
1230         * toplev.c (input_location, line_table): Move to input.c
1231         * toplev.h (main_input_filename): Move declaration from input.h.
1232         * tree.c (expand_location): Move to input.c.
1233         * Makefile.in (OBJS-common): Add input.o.
1234         (input.o): Add dependencies.
1235
1236 2010-05-27  Richard Guenther  <rguenther@suse.de>
1237
1238         * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
1239         for non-existant files.
1240         (fork_execute): Mark args_name file as deleted.
1241
1242 2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
1243
1244         PR bootstrp/44287
1245         * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
1246         (narrow_signed_type): Likewise.
1247
1248 2010-05-26  Jan Hubicka  <jh@suse.cz>
1249
1250         * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
1251         edge only when checking is enabled; check using former_clone_of;
1252         check inline clones too.
1253         (cgraph_materialize_clone): Record former_clone_of pointer.
1254         (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
1255         combining redirections; dump args_to_skip bitmap
1256         (cgraph_materialize_all_clones): Do no redirection here.
1257         * ipa-inline.c (inline_transform): Do redirection here.
1258         * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
1259         cheking only).
1260
1261 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1262
1263         * config/avr/avr-c.c: Do not include regs.h.
1264         Include cpplib.h for cpp_define and tree.h for c-common.h.
1265         * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
1266         * config/avr/t-avr: Fix dependencies for avr-c.o.
1267
1268 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1269
1270         * explow.c (set_stack_check_libfunc): Adjust to accept name as a
1271         string instead of SYMBOL_REF rtx.
1272         * rtl.h (set_stack_check_libfunc): Move prototype from here...
1273         * libfuncs.h: ...to here.  Adjust for explow.c change.
1274
1275 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
1276
1277         * pretty-print.c: Don't include ggc.h.
1278         (identifier_to_locale_alloc, identifier_to_locale_free): Define.
1279         (identifier_to_locale): Use them for allocation.
1280         * pretty-print.h (identifier_to_locale_alloc,
1281         identifier_to_locale_free): Declare.
1282         * toplev.c (alloc_for_identifier_to_locale): New.
1283         (general_init): Set identifier_to_locale_alloc and
1284         identifier_to_locale_free.
1285         * Makefile.in (pretty-print.o): Update dependencies.
1286
1287 2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
1288
1289         * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
1290         pointer types if they have different alignment or mode.
1291
1292 2010-05-26  Anatoly Sokolov  <aesok@post.ru>
1293
1294         * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
1295         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1296         * config/sparc/sparc-protos.h (function_value): Remove declaration.
1297         * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
1298         sparc_function_value_regno_p): New functions.
1299         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1300         TARGET_FUNCTION_VALUE_REGNO_P): Define.
1301         (function_value): Rename to...
1302         (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
1303         argument to 'outgoing'.
1304         (function_arg_record_value, function_arg_union_value,
1305         function_arg_vector_value): Update comment.
1306
1307 2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
1308
1309         * dwarf2out.c (struct dw_fde_struct): Reorder flags.
1310         (fde_needed_for_eh_p): New predicate.
1311         (output_call_frame_info): Use it throughout to decide whether FDEs
1312         are needed for EH purpose.
1313         (dwarf2out_begin_prologue): Reorder assignments.
1314
1315 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
1316
1317         * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
1318         special case loop->header.
1319         (is_predicated): New.
1320         (if_convertible_loop_p): Call it.
1321
1322 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
1323
1324         * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
1325         iterator in parameter.  Do not generate code during the analysis.
1326         (tree_if_convert_cond_stmt): Removed.
1327         (tree_if_convert_stmt): Removed.
1328         (predicate_bbs): New.
1329         (if_convertible_loop_p): Call predicate_bbs.
1330         (tree_if_conversion): Simplify the top-level logic as predicate_bbs
1331         now contains all the analysis part.
1332
1333 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
1334
1335         * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
1336         statements in the analysis part.
1337         (tree_if_convert_stmt): Update comment.
1338         (remove_conditions_and_labels): New.
1339         (combine_blocks): Call remove_conditions_and_labels.
1340         (tree_if_conversion): Update comment.
1341
1342 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
1343
1344         * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
1345         than 2 predecessors or more than 2 successors.
1346
1347 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
1348
1349         * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
1350         of loops in which the data dependence analysis fails.
1351
1352 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
1353
1354         * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
1355         CDI_POST_DOMINATORS.
1356         (tree_if_conversion): Same.
1357
1358 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
1359
1360         * tree-if-conv.c (tree_if_conversion): Do not return a bool.
1361
1362 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
1363
1364         * tree-if-conv.c: Update copyright years.  Fix comments.
1365         Fix indentation.
1366
1367 2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
1368
1369         * builtin-types.def (BT_INT128): New primitive type.
1370         (BT_UINT128): Likewise.
1371         * c-common.c (c_common_r): Add __int128 keyword.
1372         (c_common_type_for_size): Handle __int128.
1373         (c_common_type_for_mode): Likewise.
1374         (c_common_signed_or_unsigned_type): Likewise.
1375         (c_common_nodes_and_builtins): Add builtin type
1376         if target supports 128-bit integer scalar.
1377         * c-common.h (enum rid): Add RID_INT128.
1378         * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
1379         if target supports 128-bit integer scalar.
1380         * c-decl.c (declspecs_add_type): Handle new keyword __int128.
1381         (finish_declspecs): Likewise.
1382         * c-parser.c (c_token_starts_typename): Handle RID_INT128.
1383         (c_token_starts_declspecs): Likewise.
1384         (c_parser_declspecs): Likewise.
1385         (c_parser_attributes): Likewise.
1386         (c_parser_objc_selector): Likewise.
1387         * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
1388         * c-tree.h (enum c_typespec_keyword): Add cts_int128.
1389         * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
1390         * tree.c (make_or_reuse_type): Likewise.
1391         (make_unsigned_type): Likewise.
1392         (build_common_tree_nodes_2): Likewise.
1393         * tree.h (enum integer_type_kind): Add itk_int128 and
1394         itk_unsigned_int128.
1395         (int128_integer_type_node): New define.
1396         (int128_unsigned_type_node): New define.
1397         * doc/extend.texi: Add documentation about __int128 type.
1398
1399 2010-05-26  Richard Guenther  <rguenther@suse.de>
1400
1401         * tree-ssa-sccvn.c (copy_nary): Adjust.
1402         (copy_phis): Rename to ...
1403         (copy_phi): ... this.  Adjust.
1404         (copy_references): Rename to ...
1405         (copy_reference): ... this.  Adjust.
1406         (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
1407         result into the valid table.
1408
1409 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1410
1411         * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
1412         insn-config.h, insn-codes.h, recog.h, and optabs.h.
1413
1414 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1415
1416         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
1417
1418 2010-05-26  Richard Guenther  <rguenther@suse.de>
1419
1420         * opts.c (common_handle_option): Handle OPT_Ofast.
1421
1422 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
1423
1424         * diagnostic.c: Don't include opts.h.
1425         (permissive_error_option): Define.
1426         (diagnostic_initialize): Take n_opts parameter.  Allocate memory
1427         for classify_diagnostic.  Don't use memset for
1428         classify_diagnostic.  Initialize new and recently added fields.
1429         (diagnostic_classify_diagnostic): Use context->n_opts instead of
1430         N_OPTS.
1431         (diagnostic_report_diagnostic): Pass context parameter to
1432         diagnostic_report_warnings_p.  Use option_enabled and option_name
1433         hooks from context.
1434         (emit_diagnostic): Use permissive_error_option.
1435         (permerror): Likewise.
1436         * diagnostic.h: Don't include options.h.
1437         (struct diagnostic_context): Add n_opts, opt_permissive,
1438         inhibit_warnings, warn_system_headers, option_enabled and
1439         option_name fields.  Change classify_diagnostic to a pointer.
1440         * opts-diagnostic.h: New file.
1441         * opts.c: Include opts-diagnostic.h.
1442         (common_handle_option): Set global_dc fields for -Wfatal-errors,
1443         -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
1444         (option_name): New function.
1445         * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
1446         (c_common_handle_option): Set global_dc->permissive for
1447         -fpermissive.
1448         * c-common.c (c_cpp_error): Save and restore
1449         global_dc->warn_system_headers, not variable warn_system_headers.
1450         * toplev.c: Include opts-diagnostic.h.
1451         (general_init): Update call to diagnostic_initialize.  Set
1452         global_dc->show_column, global_dc->option_enabled and
1453         global_dc->option_name.
1454         (process_options): Don't set global_dc fields here.
1455         * Makefile.in (DIAGNOSTIC_H): Remove options.h.
1456         (diagnostic.o, opts.o, toplev.o): Update dependencies.
1457
1458 2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
1459
1460         * config/picochip/picochip.md (movsi): Split a movsi from a
1461         const after reload.
1462
1463 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1464
1465         * ggc-zone.c: Update copyright year.
1466         (poison_region): Mark memory for Valgrind as undefined before
1467         memset () call and inaccessible afterwards.
1468         (ggc_pch_total_size): Change type of i to int.
1469
1470 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1471
1472         * ggc-common.c (ggc_free_overhead): Allow empty slot.
1473
1474 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1475
1476         * ggc-common.c: Update copyright year.
1477         (ggc_rlimit_bound): Remove prototype.  Compile only if
1478         !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
1479         (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
1480         && !ENABLE_GC_ALWAYS_COLLECT.  Make static.
1481         (ggc_min_heapsize_heuristic): Likewise.
1482
1483 2010-05-26  Richard Guenther  <rguenther@suse.de>
1484
1485         PR rtl-optimization/44164
1486         * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
1487         no-common access-path disambiguation.
1488         (indirect_ref_may_alias_decl_p): Adjust.
1489         (indirect_refs_may_alias_p): Likewise.
1490         (refs_may_alias_p_1): Likewise.
1491
1492 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1493
1494         * c-typeck.c: Do not include expr.h.
1495
1496 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1497
1498         * rtl.h (decl_default_tls_model): Move prototype from here...
1499         * output.h: ...to here.
1500         * c-decl.c: Do not include rtl.h.
1501         * c-pragma.c: Likewise.
1502         * c-parser.c: Likewise.
1503         * c-gimplify.c: Likewise.  And also not hard-reg-set.
1504         * c-common.c: Do not include rtl.h.  Include tm_p.h and add a
1505         FIXME note for it.  Add a FIXME note for expr.h.
1506         * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
1507         ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
1508         defined.
1509
1510 2010-05-26  Jakub Jelinek  <jakub@redhat.com>
1511
1512         PR target/44199
1513         * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
1514         or total_size is larger than red zone size for non-V4 ABI, emit a
1515         stack_tie resp. frame_tie insn before stack pointer restore.
1516         * config/rs6000/rs6000.md (frame_tie): New insn.
1517
1518 2010-05-25  Eric Botcazou  <ebotcazou@adacore.com>
1519
1520         * function.h (struct function): Add can_throw_non_call_exceptions bit.
1521         * lto-streamer-in.c (input_function): Stream it in.
1522         * lto-streamer-out.c (output_function): Stream it out.
1523         * function.c (allocate_struct_function): Set it.
1524         (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
1525         for flag_non_call_exceptions.
1526         * cfgbuild.c (control_flow_insn_p): Likewise.
1527         (make_edges): Likewise.
1528         * cfgexpand.c (expand_stack_alignment): Likewise.
1529         * combine.c (distribute_notes): Likewise.
1530         * cse.c (cse_extended_basic_block): Likewise.
1531         * except.c (insn_could_throw_p): Likewise.
1532         * gcse.c (simple_mem): Likewise.
1533         * ipa-pure-const.c (check_call): Likewise.
1534         (check_stmt ): Likewise.
1535         * lower-subreg.c (lower-subreg.c): Likewise.
1536         * optabs.c (emit_libcall_block): Likewise.
1537         (prepare_cmp_insn): Likewise.
1538         * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
1539         * postreload.c (rest_of_handle_postreload): Likewise.
1540         * reload1.c (reload_as_needed): Likewise.
1541         (emit_input_reload_insns): Likewise.
1542         (emit_output_reload_insns): Likewise.
1543         (fixup_abnormal_edges): Likewise.
1544         * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
1545         * store-motion.c (find_moveable_store): Likewise.
1546         * tree-eh.c (stmt_could_throw_p): Likewise.
1547         (tree_could_throw_p): Likewise.
1548         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
1549         * config/arm/arm.c (arm_expand_prologue): Likewise.
1550         (thumb1_expand_prologue): Likewise.
1551         * config/rx/rx.md (cbranchsf4): Likewise.
1552         (cmpsf): Likewise.
1553         * config/s390/s390.c (s390_emit_prologue): Likewise.
1554         * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
1555         (inline_forbidden_into_p): New predicate.
1556         (expand_call_inline): Use it to forbid inlining.
1557         (tree_can_inline_p): Likewise.
1558
1559 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
1560
1561         * config/i386/i386-c.c: Do not include rtl.h.
1562         * config/i386/t-i386: Update dependencies.
1563
1564 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
1565
1566         * attribs.c: Do not include rtl.h.
1567         * Makefile.in: Update dependencies.
1568
1569 2010-05-25  Anatoly Sokolov  <aesok@post.ru>
1570
1571         * double-int.h (double_int_and): New.
1572         * combine.c (try_combine): Clean up, use double_int_* and
1573         immed_double_int_const functions.
1574
1575 2010-05-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1576
1577         * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
1578         stderr to /dev/null instead of grep -q.
1579         * configure: Regenerate.
1580
1581 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
1582
1583         * Makefile.in (EXCEPT_H): Fix typo.
1584
1585 2010-05-25  Vladimir Makarov <vmakarov@redhat.com>
1586
1587         * ira-build.c (update_conflict_hard_reg_costs): New.
1588         (ira_build): Call update_conflict_hard_reg_costs.
1589
1590 2010-05-25  Jakub Jelinek  <jakub@redhat.com>
1591
1592         PR debug/41371
1593         * var-tracking.c (find_loc_in_1pdv): Guard asserts with
1594         ENABLE_CHECKING.
1595         (intersect_loc_chains): Walk the s2var's loc_chain together
1596         with s1node chain as long as the locations are equal, don't
1597         call find_loc_in_1pdv in that case.
1598
1599         PR debug/42801
1600         * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
1601         (copy_bind_expr): ... instead of here.
1602         (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
1603         if the block hasn't been remapped.
1604         * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
1605         emitting concrete instance of abstract VLA, add DW_AT_type attribute.
1606
1607 2010-05-25  Richard Guenther  <rguenther@suse.de>
1608
1609         PR middle-end/44069
1610         * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
1611         out-of-bounds array accesses.
1612
1613 2010-05-25  Richard Guenther  <rguenther@suse.de>
1614
1615         * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
1616         (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
1617         (run_gcc): Re-organize to make cleanup easier.
1618
1619 2010-05-25  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1620
1621         * config/s390/s390.c (optimization_options): Fix and move the
1622         flag_prefetch_loop_arrays override ...
1623         (override_options): ... here.
1624
1625 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
1626
1627         * diagnostic.c: Don't include plugin.h.
1628         (diagnostic_report_diagnostic): Don't handle plugins specially
1629         here.  Pass context to internal_error callback.
1630         * diagnostic.h (struct diagnostic_context): Add context parameter
1631         to internal_error callback.
1632         * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
1633         * plugin.h (struct diagnostic_context): Declare.
1634         (warn_if_plugins, plugins_internal_error_function): Declare.
1635         * toplev.c (general_init): Set global_dc->internal_error.
1636         * Makefile.in (diagnostic.o): Update dependencies.
1637
1638 2010-05-25 Iain Sandoe  <iains@gcc.gnu.org>
1639
1640         * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
1641         * config/rs6000/t-darwin64: New.
1642         * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
1643         build crt2.
1644
1645 2010-05-25  Christian Borntraeger  <borntraeger@de.ibm.com>
1646
1647         PR 44203
1648         * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
1649         match the original (and intended) behaviour before r159557.  This
1650         changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
1651         in two ways.
1652
1653 2010-05-25  Richard Guenther  <rguenther@suse.de>
1654
1655         * doc/invoke.texi: Document -Ofast.
1656         * target.h (struct gcc_target): Add handle_ofast.
1657         * target-def.h (TARGET_HANDLE_OFAST): Add.
1658         (TARGET_INITIALIZER): Adjust.
1659         * opts.c (decode_options): Handle -Ofast.  Enable -ffast-math with it.
1660         * common.opt (Ofast): Add.
1661
1662 2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
1663
1664         * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
1665         * doc/md.texi (cstoreXX4): Update for cond-optab changes.
1666
1667 2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
1668
1669         PR target/43610
1670         * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
1671         even if !FLOAT_LIB_COMPARE_RETURNS_BOOL.  Always compute true_rtx and
1672         false_rtx.  Use false_rtx to compute the correct *ptest for reversed
1673         comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
1674
1675 2010-05-25  Jakub Jelinek  <jakub@redhat.com>
1676
1677         * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
1678         DW_OP_minus with negated offset instead of DW_OP_plus.
1679         (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
1680
1681 2010-05-25  Wei Guozhi  <carrot@google.com>
1682
1683         * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
1684         tst instruction and a new alternative.
1685         * config/arm/constraints.md (Pu): New constraint.
1686
1687 2010-05-24  Sebastian Pop  <sebastian.pop@amd.com>
1688
1689         * function.c (assign_stack_local_1): Initialize variable
1690         to avoid warning when bootstrapping at -O3.
1691
1692 2010-05-24  Steven Bosscher  <steven@gcc.gnu.org>
1693
1694         * configure.ac (all_lang_makefiles): Remove everything related to it.
1695         * configure: Regenerate.
1696         * Makefile.in: Fix reference to ada Make-lang.in.
1697         Remove support for LANG_MAKEFILES.
1698
1699 2010-05-24  Daniel Jacobowitz  <dan@codesourcery.com>
1700             Sandra Loosemore  <sandra@codesourcery.com>
1701
1702         * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
1703         * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
1704         description.  Add arm_neon_fp16_ok.
1705         (Add Options): Add arm_neon and arm_neon_fp16.
1706
1707 2010-05-24  Joseph Myers  <joseph@codesourcery.com>
1708
1709         * diagnostic.c: Don't include flags.h.
1710         (pedantic_warning_kind, permissive_error_kind): Take diagnostic
1711         context parameters.  Check flags in the context passed as a parameter.
1712         (diagnostic_build_prefix): Add context parameter.  Check
1713         show_column flag in context.
1714         (diagnostic_action_after_output): Check fatal_errors flag in context.
1715         (diagnostic_report_current_module): Check show_column flag in context.
1716         (default_diagnostic_starter): Update call to
1717         diagnostic_build_prefix.
1718         (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
1719         (emit_diagnostic): Pass context to permissive_error_kind.
1720         (permerror): Pass context to permissive_error_kind.
1721         * diagnostic.h (struct diagnostic_context): Add show_column,
1722         pedantic_errors, permissive and fatal_errors fields.
1723         (diagnostic_build_prefix): Update prototype.
1724         * langhooks.c
1725         * toplev.c (process_options): Set flags in global_dc from
1726         flag_show_column, flag_pedantic_errors, flag_permissive,
1727         flag_fatal_errors.
1728         * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
1729         to diagnostic_build_prefix.
1730         * Makefile.in (diagnostic.o): Update dependencies.
1731
1732 2010-05-24  H.J. Lu  <hongjiu.lu@intel.com>
1733
1734         * config/i386/ia32intrin.h (__crc32q): Define only if
1735         __SSE4_2__ is defined.
1736
1737 2010-05-24  Iain Sandoe  <iains@gcc.gnu.org>
1738
1739         PR target/44132
1740         PR middle-end/43602
1741         * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
1742         DECL_VISIBILITY_SPECIFIED.
1743         (emutls_decl): Set DECL_PRESERVE_P and copy
1744         DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
1745         (emutls_finalize_control_var): New callback.
1746         (emutls_finish): Finalize emutls control variables.
1747         * toplev.c (compile_file): Move the call to emutls_finish ()
1748         before varpool_assemble_pending_decls ().
1749
1750 2010-05-24  Daniel Gutson  <dgutson@codesourcery.com>
1751
1752         * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
1753         added to the preprocessor condition.
1754
1755 2010-05-24  Paul Brook  <paul@codesourcery.com>
1756
1757         * gengtype-lex.l: Add HARD_REG_SET.
1758         * expr.c (expand_expr_real_1): Record writes to hard registers.
1759         * function.c (rtl_data): Add asm_clobbers.
1760         * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
1761         (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
1762         Use crtl->asm_clobbers.
1763
1764 2010-05-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1765
1766         * doc/makefile.texi (Makefile): Mention stages 'profile'
1767         and 'feedback' for profiledbootstrap.
1768
1769 2010-05-23  H.J. Lu  <hongjiu.lu@intel.com>
1770
1771         PR target/44245
1772         * config/i386/i386.c (def_builtin): Properly check
1773         OPTION_MASK_ISA_64BIT.
1774
1775 2010-05-23  Joseph Myers  <joseph@codesourcery.com>
1776
1777         * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
1778         typedefs with different but compatible types.  Allow duplicate
1779         typedefs with the same type except for pedantic non-C1X, but give
1780         warning for variably modified types.
1781         * c-typeck.c (tagged_types_tu_compatible_p,
1782         function_types_compatible_p, type_lists_compatible_p,
1783         comptypes_internal): Add parameter different_types_p; set
1784         *different_types_p for different but compatible types.  All
1785         callers changed.
1786         (comptypes_check_different_types): New.
1787         * c-tree.h (comptypes_check_different_types): Declare.
1788
1789 2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
1790
1791         * regs.h: Do not include obstack.h, basic-block.h.  Include machmode.h.
1792         * jump.c: Include basic-block.h.
1793         * profile.c: Likewise.
1794         * tree-profile.c: Likewise.
1795         * coverage.c: Likewise.
1796         * basic-block.h (optimize_function_for_size_p): Move to function.h.
1797         (optimize_function_for_speed_p): Likewise.
1798         * function.h (optimize_function_for_size_p,
1799         optimize_function_for_speed_p): Moved here from basic-block.h.
1800         * Makefile.in: Update dependencies.
1801
1802 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1803
1804         * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
1805         before calling make; allow override through $MAKE.
1806         * doc/invoke.texi (Optimize Options): Document override.
1807
1808 2010-05-23  Anatoly Sokolov  <aesok@post.ru>
1809
1810         * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
1811         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1812         (rs6000_mode_dependent_address_ptr): Make static.
1813         * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1814         * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
1815         Remove.
1816
1817 2010-05-23  Maarten Lankhorst  <mlankhorst@codeweavers.com>
1818
1819         PR target/43869
1820         * config/i386/i386.c: Make sure that the correct regparm is passed.
1821
1822 2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
1823
1824         * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
1825         * sbitmap.c: ...to here to internalize sbitmap element access.
1826         Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
1827         Explain why basic-block.h is included.
1828         * function.h: Include tm.h for CUMULATIVE_ARGS.
1829         * Makefile.in: Update dependencies.
1830
1831 2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
1832
1833         * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
1834         New core types.
1835         * sbitmap.h (struct sbitmap_def): Do not typedef here.
1836         * sbitmap.c: Include sbitmap.h.
1837         * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
1838         hard-reg-set.h.  Split everything related to regsets out from here...
1839         * regset.h: ...to here.  New file.
1840         * df.h: Include regset.h and sbitmap.h.
1841         * tree-flow.h: Likewise.
1842         * cfgloop.h: Likewise.
1843         * except.h: Do not include sbitmap.h.  Include hashtab.h.
1844         * cgraph.h: Include vec.h and function.h.
1845         * reload.h (struct insn_chain): Change types of live_throughout
1846         and dead_or_set from regset_head to bitmap_head.
1847         (compute_use_by_pseudos): Be defined also if regset.h is not included.
1848         * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
1849         spilled_regs from regset_head to bitmap_head to avoid dependency
1850         in regset.h.
1851         * sel-sched-ir.h: Include regset.h.
1852         * reload.c: Include df.h before reload.h.
1853         * caller-save.c: Likewise.
1854         * reload1.c: Likewise.
1855         * ira.c: Likewise.
1856         (mark_elimination): Update type of r to bitmap, consistent with
1857         DF_LR_IN.
1858         * dominance.c: Include bitmap.h.
1859         * modulo-sched.c: Include df.h.
1860         * cfganal.c: Include bitmap.h and sbitmap.h.
1861         * cfgbuild.c: Include sbitmap.h.
1862         * lcm.c: Include sbitmap.h.
1863         * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
1864         * domwalk.c: Include sbitmap.h, exclude ggc.h.
1865         * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
1866         * cselib.c: Include bitmap.h.
1867         * tree-optimize.c: Include regset.h.
1868         * stmt.c: Include bitmap.h.
1869         * Makefile.in: Update dependencies.
1870
1871 2010-05-22  Jan Hubicka  <jh@suse.cz>
1872
1873         * cgraph.h (struct varpool_node): Add same_comdat_group.
1874         * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
1875         pointer.
1876         (output_varpool): Update call of lto_output_varpool_node.
1877         (input_varpool): Read same_comdat_group pointer.
1878         (input_varpool_1): Fixup same_comdat_group pointer.
1879         * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
1880         group is needed, all are.
1881         * varpool.c (varpool_remove_node): Remove node from same comdat group
1882         linklist too.
1883         (varpool_analyze_pending_decls): Walk same comdat groups.
1884
1885 2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
1886
1887         * rtl.h (union rtunion_def): Remove rt_bit member.
1888         (XBITMAP, X0BITMAP, XCBITMAP): Remove.
1889         * print-rtl (print_rtx): Do not print the member.
1890         * gengtype.c (adjust_field_rtx_def): Do not handle it.
1891         * gengenrtl.c (type_from_format): Likewise.
1892         (accessor_from_format): Likewise.
1893
1894 2010-05-22  Joseph Myers  <joseph@codesourcery.com>
1895
1896         * dbgcnt.c: Include toplev.h instead of errors.h.
1897         * ira-emit.c: Don't include errors.h.
1898         * ira.c: Include toplev.h instead of errors.h.
1899         * lto-compress.c: Include toplev.h instead of errors.h.
1900         * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
1901         ira.o, dbgcnt.o): Update dependencies.
1902
1903 2010-05-22  Richard Guenther  <rguenther@suse.de>
1904
1905         * gimple.c (gimple_types_compatible_p): Check type qualifications
1906         before merging pointer to complete and pointer to incomplete type.
1907         * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
1908         we use our own resolution algorithm.  The gold linker plugin
1909         doesn't do the job we want it to do here.
1910
1911 2010-05-22  Anatoly Sokolov  <aesok@post.ru>
1912
1913         * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1914         * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1915         (sparc_mode_dependent_address_p): New function.
1916
1917 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
1918
1919         * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
1920
1921         * timevar.c: Do not include any core headers.
1922         (timevar_print): De-i18n-ize.
1923         (print_time): Likewise.
1924         * timevar.h (timevar_push, timevar_pop): Make inline functions.
1925
1926 2010-05-21  Joseph Myers  <joseph@codesourcery.com>
1927
1928         * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
1929         langhooks-def.h.
1930         (diagnostic_initialize): Initialize x_data not last_function.
1931         (diagnostic_report_current_function): Move to tree-diagnostic.c.
1932         (default_diagnostic_starter): Call
1933         diagnostic_report_current_module not
1934         diagnostic_report_current_function.
1935         (diagnostic_report_diagnostic): Initialize x_data not
1936         abstract_origin.
1937         (verbatim): Likewise.
1938         * diagnostic.h (struct diagnostic_info): Change abstract_origin to
1939         x_data.
1940         (struct diagnostic_context): Change last_function to x_data.
1941         (diagnostic_auxiliary_data): Replace with
1942         diagnostic_context_auxiliary_data and
1943         diagnostic_info_auxiliary_data.
1944         (diagnostic_last_function_changed, diagnostic_set_last_function,
1945         diagnostic_report_current_function): Move to tree-diagnostic.h.
1946         (print_declaration, dump_generic_node, print_generic_stmt,
1947         print_generic_stmt_indented, print_generic_expr,
1948         print_generic_decl, debug_c_tree, dump_omp_clauses,
1949         print_call_name, debug_generic_expr, debug_generic_stmt,
1950         debug_tree_chain, default_tree_printer): Move to
1951         tree-pretty-print.h.
1952         (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
1953         print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
1954         gimple-pretty-print.h.
1955         * pretty-print.c: Don't include tree.h
1956         (pp_base_format): Don't handle %K here.
1957         (pp_base_tree_identifier): Move to tree-pretty-print.c.
1958         * pretty-print.h (text_info): Change abstract_origin to x_data.
1959         (pp_tree_identifier, pp_unsupported_tree,
1960         pp_base_tree_identifier): Move to tree-pretty-print.h.
1961         * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
1962         tree-pretty-print.h: New files.
1963         * tree-pretty-print.c: Include tree-pretty-print.h.
1964         (percent_K_format): New.  Moved from pretty-print.c.
1965         (pp_base_tree_identifier): Move from pretty-print.c.
1966         * c-objc-common.c: Include tree-pretty-print.h.
1967         (c_tree_printer): Handle %K here.
1968         * langhooks.c: Include tree-diagnostic.h.
1969         (lhd_print_error_function): Use diagnostic_abstract_origin macro.
1970         * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
1971         (default_tree_printer): Handle %K using percent_K_format.
1972         (general_init): Use default_tree_diagnostic_starter.
1973         * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
1974         (free_lang_data): Use default_tree_diagnostic_starter.
1975         * c-pretty-print.c: Include tree-pretty-print.h.
1976         * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1977         * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1978         * dwarf2out.c: Include tree-pretty-print.h.
1979         * except.c: Include tree-pretty-print.h.
1980         * gimple-pretty-print.c: Include tree-pretty-print.h and
1981         gimple-pretty-print.h.
1982         * gimplify.c: Include tree-pretty-print.h.
1983         * graphite-poly.c: Include tree-pretty-print.h and
1984         gimple-pretty-print.h.
1985         * ipa-cp.c: Include tree-pretty-print.h.
1986         * ipa-inline.c: Include gimple-pretty-print.h.
1987         * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1988         * ipa-pure-const.c: Include gimple-pretty-print.h.
1989         * ipa-struct-reorg.c: Include tree-pretty-print.h and
1990         gimple-pretty-print.h.
1991         * ipa-type-escape.c: Include tree-pretty-print.h.
1992         * print-rtl.c: Include tree-pretty-print.h.
1993         * print-tree.c: Include gimple-pretty-print.h.
1994         * sese.c: Include tree-pretty-print.h.
1995         * tree-affine.c: Include tree-pretty-print.h.
1996         * tree-browser.c: Include tree-pretty-print.h.
1997         * tree-call-cdce.c: Include gimple-pretty-print.h.
1998         * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1999         * tree-chrec.c: Include tree-pretty-print.h.
2000         * tree-data-ref.c: Include tree-pretty-print.h and
2001         gimple-pretty-print.h.
2002         * tree-dfa.c: Include tree-pretty-print.h.
2003         * tree-if-conv.c: Include tree-pretty-print.h and
2004         gimple-pretty-print.h.
2005         * tree-inline.c: Include tree-pretty-print.h.
2006         * tree-into-ssa.c: Include tree-pretty-print.h and
2007         gimple-pretty-print.h.
2008         * tree-nrv.c: Include tree-pretty-print.h.
2009         * tree-object-size.c: Include tree-pretty-print.h and
2010         gimple-pretty-print.h.
2011         * tree-outof-ssa.c: Include tree-pretty-print.h and
2012         gimple-pretty-print.h.
2013         * tree-parloops.c: Include tree-pretty-print.h and
2014         gimple-pretty-print.h.
2015         * tree-predcom.c: Include tree-pretty-print.h and
2016         gimple-pretty-print.h.
2017         * tree-scalar-evolution.c: Include tree-pretty-print.h and
2018         gimple-pretty-print.h.
2019         * tree-sra.c: Include tree-pretty-print.h.
2020         * tree-ssa-address.c: Include tree-pretty-print.h.
2021         * tree-ssa-alias.c: Include tree-pretty-print.h.
2022         * tree-ssa-ccp.c: Include tree-pretty-print.h and
2023         gimple-pretty-print.h.
2024         * tree-ssa-coalesce.c: Include tree-pretty-print.h.
2025         * tree-ssa-copy.c: Include tree-pretty-print.h and
2026         gimple-pretty-print.h.
2027         * tree-ssa-copyrename.c: Include tree-pretty-print.h.
2028         * tree-ssa-dce.c: Include tree-pretty-print.h and
2029         gimple-pretty-print.h.
2030         * tree-ssa-dom.c: Include tree-pretty-print.h and
2031         gimple-pretty-print.h.
2032         * tree-ssa-dse.c: Include gimple-pretty-print.h.
2033         * tree-ssa-forwprop.c: Include tree-pretty-print.h.
2034         * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
2035         * tree-ssa-live.c: Include tree-pretty-print.h and
2036         gimple-pretty-print.h.
2037         * tree-ssa-loop-im.c: Include tree-pretty-print.h and
2038         gimple-pretty-print.h.
2039         * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
2040         gimple-pretty-print.h.
2041         * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
2042         gimple-pretty-print.h.
2043         * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
2044         gimple-pretty-print.h.
2045         * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
2046         * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
2047         * tree-ssa-operands.c: Include tree-pretty-print.h and
2048         gimple-pretty-print.h.
2049         * tree-ssa-phiprop.c: Include tree-pretty-print.h and
2050         gimple-pretty-print.h.
2051         * tree-ssa-pre.c: Include tree-pretty-print.h and
2052         gimple-pretty-print.h.
2053         * tree-ssa-propagate.c: Include gimple-pretty-print.h.
2054         * tree-ssa-reassoc.c: Include tree-pretty-print.h and
2055         gimple-pretty-print.h.
2056         * tree-ssa-sccvn.c: Include tree-pretty-print.h and
2057         gimple-pretty-print.h.
2058         * tree-ssa-sink.c: Include gimple-pretty-print.h.
2059         * tree-ssa-ter.c: Include tree-pretty-print.h and
2060         gimple-pretty-print.h.
2061         * tree-ssa-uninit.c: Include gimple-pretty-print.h.
2062         * tree-ssa.c: Include tree-pretty-print.h and
2063         gimple-pretty-print.h.
2064         * tree-stdarg.c: Include gimple-pretty-print.h.
2065         * tree-switch-conversion.c: Include gimple-pretty-print.h.
2066         * tree-tailcall.c: Include tree-pretty-print.h and
2067         gimple-pretty-print.h.
2068         * tree-vect-data-refs.c: Include tree-pretty-print.h and
2069         gimple-pretty-print.h.
2070         * tree-vect-loop-manip.c: Include tree-pretty-print.h and
2071         gimple-pretty-print.h.
2072         * tree-vect-loop.c: Include tree-pretty-print.h and
2073         gimple-pretty-print.h.
2074         * tree-vect-patterns.c: Include gimple-pretty-print.h.
2075         * tree-vect-slp.c: Include tree-pretty-print.h and
2076         gimple-pretty-print.h.
2077         * tree-vect-stmts.c: Include tree-pretty-print.h and
2078         gimple-pretty-print.h.
2079         * tree-vectorizer.c: Include tree-pretty-print.h.
2080         * tree-vrp.c: Include tree-pretty-print.h and
2081         gimple-pretty-print.h.
2082         * value-prof.c: Include tree-pretty-print.h and
2083         gimple-pretty-print.h.
2084         * var-tracking.c: Include tree-pretty-print.h.
2085         * Makefile.in (OBJS-common): Add tree-diagnostic.o.
2086         (tree-diagnostic.o): New dependencies.
2087         (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
2088         tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
2089         tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
2090         tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
2091         tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
2092         tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
2093         tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
2094         tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
2095         tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
2096         tree-ssa-address.o, tree-ssa-loop-niter.o,
2097         tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
2098         tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
2099         tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
2100         gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
2101         tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
2102         tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
2103         tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
2104         tree-parloops.o, tree-stdarg.o, tree-object-size.o,
2105         gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
2106         toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
2107         ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
2108         ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
2109         tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
2110         tree-switch-conversion.o, var-tracking.o, value-prof.o,
2111         cfgexpand.o, pretty-print.o): Update dependencies.
2112
2113 2010-05-22  Andreas Tobler  <andreast@fgznet.ch>
2114
2115         * tree-ssa-structalias.c: Remove tm_p.h from include.
2116
2117 2010-05-21  Jeff Law  <law@redhat.com>
2118
2119         * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
2120
2121 2010-05-21  Jason Merrill  <jason@redhat.com>
2122
2123         * tree-eh.c (cleanup_is_dead_in): New.
2124         (lower_try_finally): Don't generate a dead cleanup region.
2125         (lower_cleanup): Likewise.
2126
2127 2010-05-21  Jakub Jelinek  <jakub@redhat.com>
2128
2129         PR debug/44223
2130         * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
2131         unchain each use from the cyclic next_regno_use chain first.
2132
2133 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
2134
2135         * real: Do not include gmp.h, mpfr.h, and mpc.h.
2136         (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
2137         (real_value_negate, real_value_abs): New prototypes.
2138         (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
2139         * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
2140         new include file for interface between MPFR and REAL_VALUE_TYPE.
2141         * real.c: Include realmpfr.h.
2142         (real_arithmetic2): Remove legacy function.
2143         (real_value_negate): New.
2144         (real_value_abs): New.
2145         (mfpr_from_real, real_from_mpfr): Move from here...
2146         * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
2147         * builtins.c: Include realmpfr.h.
2148         * fold-const.c: Include realmpfr.h.
2149         (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
2150         (fold_negate_const): Likewise.
2151         (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
2152         * toplev.c: Include realmpfr.h.
2153         * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
2154         and real_value_negate.
2155         * fixed-value.c (check_real_for_fixed_mode): Likewise.
2156         * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
2157         (vfp3_const_double_index): Likewise.
2158         (arm_print_operand): Likewise.
2159         * Makefile.in: Update dependencies.
2160
2161 2010-05-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2162
2163         * config/s390/s390.c (override_options): Increase the default
2164         of max-completely-peel-times.
2165
2166 2010-05-21  Julian Brown  <julian@codesourcery.com>
2167             Mark Mitchell  <mark@codesourcery.com>
2168
2169         * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
2170         sibling calls for Thumb-1.
2171         * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
2172         * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
2173         Thumb-2.
2174         (*call_insn, *call_value_insn): Don't use for Thumb-2.
2175         (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
2176         for Thumb-2.
2177         (return): New expander.
2178         (*arm_return): New name for ARM return insn.
2179         * config/arm/thumb2.md (*thumb2_return): New insn pattern.
2180
2181 2010-05-19  Joel Sherrill <joel.sherrill@oarcorp.com>
2182
2183         * config.gcc (sparc64-*-rtems*): New target.
2184
2185 2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
2186
2187         * tree.c (build_function_decl_skip_args): Fix grammar.
2188         (build_function_type_list_1): Fix typos, adjust formatting.
2189
2190 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
2191
2192         * tree.h: Include real.h and fixed-value.h as basic datatypes.
2193         * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
2194         tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
2195         tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
2196         tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
2197         genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
2198         tree-pretty-print.c, tree-loop-distribution.c,
2199         tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
2200         tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
2201         tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
2202         tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
2203         tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
2204         tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
2205         tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
2206         tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
2207         tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
2208         tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
2209         genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
2210         tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
2211         gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
2212         tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
2213         tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
2214         store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
2215         tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
2216         tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
2217         tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
2218         tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
2219         fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
2220         tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
2221         config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
2222         config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
2223         config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
2224         config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
2225         config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
2226         config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
2227         config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
2228         config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
2229         config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
2230         config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
2231         config/score/score7.c, config/score/score.c, config/arm/arm.c,
2232         config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
2233         config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
2234         config/bfin/bfin.c: Clean up redundant includes.
2235         * Makefile.in: Update accordingly.
2236
2237 2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
2238
2239         PR middle-end/44204
2240         * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
2241         statement has no arguments.
2242
2243 2010-05-21  Kai Tietz  <kai.tietz@onevision.com>
2244
2245         PR/44139
2246         * varasm.c (emutls_decl): Merge attributes to new decl.
2247
2248 2010-05-21  Eric Botcazou  <ebotcazou@adacore.com>
2249
2250         PR middle-end/44101
2251         * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
2252         around the uniquized constructor if its type requires a conversion.
2253
2254 2010-05-21  Jakub Jelinek  <jakub@redhat.com>
2255
2256         PR debug/44205
2257         * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
2258         at -O0 goto_locus of any of the incoming edges differs from
2259         goto_locus of outgoing edge, or gimple_location of any of the
2260         labels differs.
2261
2262 2009-09-14  Vladimir Makarov <vmakarov@redhat.com>
2263
2264         * ira.c (ira_non_ordered_class_hard_regs): Define.
2265         (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
2266         * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
2267         * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
2268         cost of unaligned hard regs when allocating multi-reg pseudos.
2269
2270 2010-05-20  Richard Sandiford  <rdsandiford@googlemail.com>
2271
2272         * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
2273         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
2274         for TARGET_NO_FLOAT.
2275         * config/mips/mips.c (mips_file_start): Expand conditional expression
2276         into "if" statements.  Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
2277         (mips_override_options): Move -mno-float override -msoft-float and
2278         -mhard-float.
2279         * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
2280         Condition(TARGET_SUPPORTS_NO_FLOAT).
2281         * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
2282         __mips_no_float here.
2283         (SUBTARGET_OVERRIDE_OPTIONS): Delete.
2284         (TARGET_SUPPORTS_NO_FLOAT): Define.
2285         * config/mips/sdemtk.opt: Delete.
2286
2287 2010-05-20  Segher Boessenkool  <segher@kernel.crashing.org>
2288
2289         * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
2290
2291 2010-05-20  Uros Bizjak  <ubizjak@gmail.com>
2292
2293         PR target/43733
2294         * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
2295         * configure: Regenerate.
2296         * config.in: Regenerate.
2297         * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
2298         instead of sahf only for 64bit targets.
2299
2300 2010-05-20  Jakub Jelinek  <jakub@redhat.com>
2301
2302         PR debug/44178
2303         * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
2304         setup_ref_regs for DEBUG_INSNs.
2305
2306 2010-05-20  Jan Hubicka  <jh@suse.cz>
2307
2308         PR middle-end/44197
2309         * varpool.c (varpool_remove_node): Handle in-varpool aliases.
2310
2311 2010-05-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
2312
2313         PR bootstrap/43870
2314         * df-scan.c (df_ref_compare): Stabilize sort.
2315
2316 2010-05-20  Jakub Jelinek  <jakub@redhat.com>
2317
2318         * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
2319         argument.  Don't use DW_OP_piece if offset is non-zero,
2320         put offset into second DW_OP_bit_piece argument.
2321         (dw_sra_loc_expr): Adjust callers.  For memory expressions
2322         compute offset.
2323
2324 2010-05-20  Hans-Peter Nilsson  <hp@axis.com>
2325
2326         PR target/44202
2327         * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
2328         settings for 16-bit-constant "addo" alternative.
2329
2330 2010-05-19  James E. Wilson  <wilson@codesourcery.com>
2331
2332         * config/mips/mips-dsp.md (add<DSPV:mode>3,
2333         mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
2334
2335         PR target/43764
2336         * mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
2337         (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
2338         Use it.
2339
2340 2010-05-19  Joseph Myers  <joseph@codesourcery.com>
2341
2342         * diagnostic.c (FLOAT, FFS): Don't undefine.
2343         * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
2344         * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
2345         include ordering.
2346
2347 2010-05-19  Richard Sandiford  <rdsandiford@googlemail.com>
2348
2349         * combine.c (propagate_for_debug): Call make_compound_operation
2350         on the source value.
2351         (try_combine): When implementing a split chosen by find_split_point,
2352         either copy i2src or set it to null.  Assert that i2src is not null
2353         before substituting into CALL_INSN_FUNCTION_USAGE.
2354
2355 2010-05-19  Anatoly Sokolov  <aesok@post.ru>
2356
2357         * double-int.h (double_int_ior): New function.
2358         * tree.h (build_int_cst_wide_type): Remove.
2359         * tree.c (build_int_cst_wide_type): Remove.
2360         * fold-const.c (native_interpret_int): Use double_int_to_tree instead
2361         of build_int_cst_wide_type.
2362         * stor-layout.c (set_sizetype): (Ditto.).
2363         * dojump.c (do_jump): Use build_int_cstu instead of
2364         build_int_cst_wide_type.
2365
2366 2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
2367
2368         * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
2369         * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
2370         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
2371         * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
2372         TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
2373         propagate the 'data' argument to copy_tree_r.
2374         (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
2375         Propagate 'data' argument to walk_tree.
2376         (copy_if_shared): New function.
2377         (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
2378         (unmark_visited): New function.
2379         (unshare_body): Call copy_if_shared instead of doing it manually.
2380         (unvisit_body): Call unmark_visited instead of doing it manually.
2381
2382 2010-05-19  Nathan Froyd  <froydnj@codesourcery.com>
2383
2384         * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
2385         (hook_tree_tree_int_treep_bool_null): ...this.  Update signature.
2386         * hooks.c: Likewise.
2387         * target-def.h (TARGET_FOLD_BUILTIN): Define to
2388         hook_tree_tree_int_treep_bool_null.
2389         * target.h (struct gcc_target): Update signature of fold_builtin
2390         field.
2391         * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
2392         * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
2393         instead of the call expression.
2394         (fold_builtin_call_array): Pass n and argarray directly.
2395         (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
2396         consing a list.
2397         * config/alpha/alpha.c (alpha_fold_builtin): Update signature.  Lift
2398         MAX_ARGS check out of the loop.  Delete declaration of `arity', declare
2399         `i' and use it in place of `arity'.
2400         * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
2401         Dereference `args' directly.
2402         * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
2403
2404 2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2405
2406         * doc/sourcebuild.texi (Effective-Target Keywords): Document
2407         3dnow, sse3, sse2.
2408         (Directives): Document optional dg-require-effective-target
2409         selector.
2410
2411 2010-05-19  Richard Guenther  <rguenther@suse.de>
2412
2413         PR lto/44196
2414         * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
2415
2416 2010-05-19  Richard Guenther  <rguenther@suse.de>
2417
2418         * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
2419         * common.opt (fwhopr=): New.
2420         * opts.c (common_handle_option): Handle OPT_fwhopr.
2421         * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
2422         * collect2.c (main): Match -fwhopr*.
2423         * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
2424         Execute ltrans stage in parallel when jobs is bigger than 1.
2425
2426 2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2427
2428         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
2429         pentiumpro on Solaris 8/x86 with Sun as.
2430         * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
2431         hidden alias bug.
2432         (gcc_cv_as_ix86_quad): Check for .quad directive.
2433         * configure: Regenerate.
2434         * config.in: Regenerate.
2435         * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
2436
2437 2010-05-19  Martin Jambor  <mjambor@suse.cz>
2438
2439         * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
2440         also for indirect edges.  Actual printing moved...
2441         (ipa_print_node_jump_functions_for_edge): ...here.
2442         (ipa_compute_jump_functions): Renamed to
2443         ipa_compute_jump_functions_for_edge and made static.
2444         (ipa_compute_jump_functions): New function.
2445         (make_edge_direct_to_target): Check if the number of arguments on
2446         the newly direct edge is the same as the number of parametrs of
2447         the callee.
2448         * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
2449         ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
2450         * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
2451         analysis functions unconditionally, call the new
2452         ipa_analyze_params_uses on the node instead of every edge.
2453
2454 2010-05-19  Christian Borntraeger  <borntraeger@de.ibm.com>
2455
2456         * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
2457         to tree.
2458         (dump_mem_ref): Adopt debug code to handle a tree as step.  This
2459         also checks for a constant int vs.  non-constant but
2460         loop-invariant steps.
2461         (find_or_create_group): Change the sort algorithm to only consider
2462         steps that are constant ints.
2463         (idx_analyze_ref): Adopt code to handle a tree instead of a
2464         HOST_WIDE_INT for step.
2465         (gather_memory_references_ref): Handle tree instead of int and be
2466         prepared to see a NULL_TREE.
2467         (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
2468         prefetches if the step cannot be calculated at compile time.
2469         (issue_prefetch_ref): Issue prefetches for non-constant but
2470         loop-invariant steps.
2471
2472 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
2473
2474         Revert:
2475         2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
2476
2477         * tree.h (build_call_list): Remove.
2478         * tree.c (build_call_list): Remove.
2479
2480 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
2481
2482         * tree.h (build_call_list): Remove.
2483         * tree.c (build_call_list): Remove.
2484
2485 2010-05-18  Jan Hubicka  <jh@suse.cz>
2486
2487         * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
2488
2489 2010-05-18  Vladimir Makarov  <vmakarov@redhat.com>
2490
2491         PR rtl-optimization/43332
2492         * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
2493
2494 2010-05-18  Anatoly Sokolov  <aesok@post.ru>
2495
2496         * tree.h (build_int_cstu): Implement as static inline.
2497         * tree.c (build_int_cstu): Remove function.
2498         (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
2499         sign extended.
2500
2501 2010-05-18  Richard Guenther  <rguenther@suse.de>
2502
2503         PR lto/44143
2504         * lto-wrapper.c (verbose): New variable.  Initialize from -v.
2505         (debug): Initialize from -save-temps.
2506         (collect_execute): Print command-line when verbose.
2507         (run_gcc): Always use COLLECT_GCC_OPTIONS.  Use fork_execute
2508         for ltrans invocation.  Produce -dumpbase flag again.
2509         (process_args): Remove.
2510         (main): Simplify.
2511         * collect2.c (maybe_run_lto_and_relink): Only pass object
2512         files to lto-wrapper.
2513         * gcc.c (LINK_COMMAND_SPEC): Likewise.
2514
2515 2010-05-18  Jan Hubicka  <jh@suse.cz>
2516
2517         * opts.c (decode_options): Do not disable whopr at ipa_cp.
2518         * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
2519
2520 2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
2521
2522         PR lto/44184
2523         * lto-streamer-out.c (output_gimple_stmt): Output number of labels
2524         in a GIMPLE_ASM.
2525         * lto-streamer-in.c (input_gimple_stmt): Read number of labels
2526         in a GIMPLE_ASM.
2527
2528 2010-05-18  Jakub Jelinek  <jakub@redhat.com>
2529
2530         PR debug/41371
2531         * var-tracking.c (find_loc_in_1pdv): Add a few checks from
2532         rtx_equal_p inline.
2533
2534 2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
2535
2536         * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
2537         lto-macho as lto_binary_reader.
2538
2539         * darwin.c (darwin_asm_named_section): Do not add assembler comment
2540         after .section directive; just print it before the directive instead.
2541
2542 2010-05-17  Jan Hubicka  <jh@suse.cz>
2543
2544         * cgraph.c (cgraph_create_virtual_clone): Only check
2545         versionable_function_p when not in wpa and checking is enabled.
2546         * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
2547         there are no more functions to materialize.
2548
2549 2010-05-17  Jan Hubicka  <jh@suse.cz>
2550
2551         * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
2552         * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
2553         New functions.
2554         (output_cgraph): Call output_cgraph_opt_summary.
2555         (input_cgrpah): Call input_cgraph_opt_summary.
2556         (output_cgraph_opt_summary_p, output_node_opt_summary,
2557         input_node_opt_summary, input_cgraph_opt_section): New functions.
2558         * lto-section-in.c (lto_section_name): Add cgraphopt.
2559         * tree-inline.c (tree_function_versioning): Handle parm_num.
2560         * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
2561         * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
2562
2563 2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>
2564
2565         * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
2566         * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
2567         the insn to prefetch ratio heuristic to loops with known trip count.
2568
2569 2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>
2570
2571         * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
2572         (schedule_prefetches): Do not generate a prefetch if the unroll factor
2573         is far from what is required by the prefetch.
2574
2575 2010-05-17  Jan Hubicka  <jh@suse.cz>
2576
2577         * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
2578         (ipcp_estimate_growth): Likewise.
2579         (ipcp_const_param_count): Likewise.
2580         (ipcp_insert_stage): Likewise.
2581         * ipa-prop.c (visit_load_for_mod_analysis): New function.
2582         (visit_store_addr_for_mod_analysis): Set used flag.
2583         (ipa_detect_param_modifications): Set used flag for SSE params;
2584         update use of walk_stmt_load_store_addr_ops.
2585         (ipa_print_node_params): Print used flag.
2586         (ipa_write_node_info): Stream used flag.
2587         (ipa_read_node_info): Likewise.
2588         * ipa-prop.h (struct ipa_param_descriptor): Add used field.
2589         (ipa_is_param_used): New function.
2590         (lto_ipa_fixup_call_notes): Remove unused declaration.
2591
2592 2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2593
2594         PR target/44074
2595         * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
2596         * configure: Regenerate.
2597         * config.in: Regenerate.
2598         * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
2599         !HAVE_AS_IX86_REP_LOCK_PREFIX.
2600         Don't emit whitespace.
2601         * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
2602         (*rep_movsi): Likewise.
2603         (*rep_movsi_rex64): Likewise.
2604         (*rep_movqi): Likewise.
2605         (*rep_movqi_rex64): Likewise.
2606         (*rep_stosdi_rex64): Likewise.
2607         (*rep_stossi): Likewise.
2608         (*rep_stossi_rex64): Likewise.
2609         (*rep_stosqi): Likewise.
2610         (*rep_stosqi_rex64): Likewise.
2611         (*cmpstrnqi_nz_1): Use {%;} after repz.
2612         (*cmpstrnqi_nz_rex_1): Likewise.
2613         (*cmpstrnqi_1): Likewise.
2614         (*cmpstrnqi_rex_1): Likewise.
2615         (*strlenqi_1): Use {%;} after repnz.
2616         (*strlenqi_rex_1): Likewise.
2617         * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
2618         (*sync_compare_and_swap<mode>): Likewise.
2619         (sync_double_compare_and_swap<mode>): Likewise.
2620         (*sync_double_compare_and_swapdi_pic): Likewise.
2621         (sync_old_add<mode>): Likewise.
2622         (sync_add<mode>): Likewise.
2623         (sync_sub<mode>): Likewise.
2624         (sync_<code><mode>): Likewise.
2625
2626 2010-05-17  Martin Jambor  <mjambor@suse.cz>
2627
2628         * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
2629         otr_token and polymorphic.
2630         * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
2631         (cgraph_clone_edge): Copy the above fields.
2632         * tree.c (get_binfo_at_offset): New function.
2633         * tree.h (get_binfo_at_offset): Declare.
2634         * ipa-prop.h (enum jump_func_type): Added known_type jump function
2635         type, reordered items, updated comments.
2636         (union jump_func_value): Added base_type field, reordered fields.
2637         (enum ipa_lattice_type): Moved down in the file.
2638         (struct ipa_param_descriptor): New field polymorphic.
2639         (ipa_is_param_polymorphic): New function.
2640         * ipa-prop.c: Include gimple.h and gimple-fold.h.
2641         (ipa_print_node_jump_functions): Print known type jump functions.
2642         (compute_complex_pass_through): Renamed to...
2643         (compute_complex_assign_jump_func): this.
2644         (compute_complex_ancestor_jump_func): New function.
2645         (compute_known_type_jump_func): Likewise.
2646         (compute_scalar_jump_functions): Create known type and complex ancestor
2647         jump functions.
2648         (ipa_note_param_call): New parameter polymorphic, set the corresponding
2649         flag in the call note accordingly.
2650         (ipa_analyze_call_uses): Renamed to...
2651         (ipa_analyze_indirect_call_uses): this.  New parameter target, define
2652         variable var only in the block where it is used.
2653         (ipa_analyze_virtual_call_uses): New function.
2654         (ipa_analyze_call_uses): Likewise.
2655         (combine_known_type_and_ancestor_jfs): Likewise.
2656         (update_jump_functions_after_inlining): Implemented handling of a
2657         number of new jump function types combination.
2658         (print_edge_addition_message): Removed.
2659         (make_edge_direct_to_target): New function.
2660         (try_make_edge_direct_simple_call): Likewise.
2661         (try_make_edge_direct_virtual_call): Likewise.
2662         (update_call_notes_after_inlining): Renamed to...
2663         (update_indirect_edges_after_inlining): this.  Moved edge creation for
2664         indirect calls to try_make_edge_direct_simple_call, also calls
2665         try_make_edge_direct_virtual_call for virtual calls.
2666         (ipa_print_node_params): Changed the header message.
2667         (ipa_write_jump_function): Stream also known type jump functions.
2668         (ipa_read_jump_function): Likewise.
2669         (ipa_write_indirect_edge_info): Stream new fields in
2670         cgraph_indirect_call_info.
2671         (ipa_read_indirect_edge_info): Likewise.
2672         * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
2673         GIMPLE_FOLD_H.
2674
2675 2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2676
2677         * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
2678
2679 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
2680
2681         * tree.h (CALL_EXPR_ARGS): Delete.
2682         (call_expr_arglist): Delete.
2683         * tree.c (call_expr_arglist): Delete.
2684         * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
2685         targetm.fold_builtin.
2686         * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
2687         Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
2688         * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
2689         arglist parameter.  Use CALL_EXPR_ARG.
2690         (picochip_expand_builtin_3op): Likewise.
2691         (picochip_expand_builtin_2opvoid): Likewise.
2692         (picochip_expand_array_get): Likewise.
2693         (picochip_expand_array_put): Likewise.
2694         (picochip_expand_array_testport): Likewise.
2695         (picochip_expand_builtin): Don't call CALL_EXPR_ARGS.  Pass exp
2696         rather than arglist.
2697         * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
2698         CALL_EXPR_ARGS.
2699         * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
2700         than TREE_VALUE and TREE_CHAIN.
2701         * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
2702         * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
2703         the arglist.
2704
2705 2010-05-17  Jakub Jelinek  <jakub@redhat.com>
2706
2707         PR bootstrap/42347
2708         * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
2709         to have no fallthru edge.
2710
2711         PR middle-end/44102
2712         * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
2713         bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
2714         mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
2715         add BARRIER after previous bb if needed.
2716
2717 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
2718
2719         * tree.c (build_function_type_list_1): Remove bogus assert condition.
2720
2721 2010-05-17  Alan Modra  <amodra@gmail.com>
2722
2723         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
2724         unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
2725         with copy_reg rtx param.
2726         (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
2727         Correct cases where code for ABI_V4 did not initialise the reg
2728         used to access frame.  Also leave frame_reg_rtx as sp for large
2729         frames that save no regs.
2730
2731 2010-05-17  Martin Jambor  <mjambor@suse.cz>
2732
2733         PR middle-end/44133
2734         * tree-sra.c (create_access_replacement): New parameter rename, mark
2735         the replaement for renaming only when it is true.
2736         (get_access_replacement): Pass true in the rename parameter of
2737         create_access_replacement.
2738         (get_unrenamed_access_replacement): New function.
2739         (replace_uses_with_default_def_ssa_name): New parameter racc, get the
2740         replacement declaration from it.
2741
2742 2010-05-17  Bernd Schmidt  <bernds@codesourcery.com>
2743
2744         * function.c (try_fit_stack_local, add_frame_space): New static
2745         functions.
2746         (assign_stack_local_1): Use them.  Look for opportunities to use
2747         space previously wasted on alignment.
2748         * function.h (struct frame_space): New.
2749         (struct rtl_data): Add FRAME_SPACE_LIST member.
2750         * reload1.c (something_was_spilled): New static variable.
2751         (alter_reg): Set it.
2752         (reload): Test it in addition to testing if the frame size changed.
2753
2754 2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>
2755
2756         * config/s390/s390.c: Define sane prefetch settings and activate
2757         flag_prefetch_loop_arrays on -O3.
2758         * config/s390/s390.h: Declare that read can use write prefetch.
2759
2760 2010-05-17  Jakub Jelinek  <jakub@redhat.com>
2761
2762         * lto-streamer-out.c (lto_output): Fix --enable-checking=release
2763         build.
2764
2765 2010-05-16  Jan Hubicka  <jh@suse.cz>
2766
2767         * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
2768         function body; do not check stdarg field of struct function.
2769
2770 2010-05-16  Jan Hubicka  <jh@suse.cz>
2771
2772         * cgraph.c (dump_cgraph_node): Dump versionable flag.
2773         * cgraph.h (cgraph_local_info): Add versionable flag.
2774         * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
2775         (ipcp_versionable_function_p): Use it.
2776         * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
2777         versionable flag.
2778
2779 2010-05-16  Jan Hubicka  <jh@suse.cz>
2780
2781         * cgraph.c (cgraph_clone_node): Take decl argument and insert
2782         clone into hash when it is different from orig.
2783         (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
2784         * cgraph.h (cgraph_clone_node): Update prototype.
2785         * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
2786         (lto_cgraph_encoder_delete): Delete body map.
2787         (lto_cgraph_encoder_size): Move to header.
2788         (lto_cgraph_encoder_encode_body_p,
2789         lto_set_cgraph_encoder_encode_body): New.
2790         (lto_output_node): Do not take written_decls argument; output clone_of
2791         pointer.
2792         (add_node_to): Add include_body_argument; call
2793         lto_set_cgraph_encoder_encode_body on master of the clone.
2794         (add_references): Update use of add_node_to.
2795         (compute_ltrans_boundary): Likewise.
2796         (output_cgraph): Do not create written_decls bitmap.
2797         (input_node): Take nodes argument; stream in clone_of correctly.
2798         (input_cgraph_1): Update use of input_node.
2799         * lto-streamer-out.c (lto_output): Use encoder info to decide
2800         what bodies to output.
2801         * ipa-inline.c (cgraph_clone_inlined_nodes,
2802         cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
2803         * lto-streamer.h (lto_cgraph_encoder_d): Add body.
2804         (lto_cgraph_encoder_size): Define here.
2805         (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
2806         Declare.
2807
2808 2010-05-16  Richard Guenther  <rguenther@suse.de>
2809
2810         * doc/invoke.texi (-fipa-struct-reorg): Do not mention
2811         -fipa-type-escape.
2812         * ipa-type-escape.c (gate_type_escape_vars): Run when
2813         -fipa-struct-reorg runs.
2814         * opts.c (decode_options): Do not unset flag_ipa_type_escape.
2815         * common.opt (fipa-type-escape): Remove.
2816
2817 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
2818
2819         * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
2820         (decode_options): Likewise.
2821         * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
2822
2823 2010-05-16  Jan Hubicka  <jh@suse.cz>
2824
2825         * ipa.c (function_and_variable_visibility): Also bring local all
2826         aliases.
2827
2828 2010-05-16  Richard Guenther  <rguenther@suse.de>
2829
2830         * alias.c (nonoverlapping_memrefs_p): Remove use of
2831         IPA type-escape information.
2832
2833 2010-05-16  Joseph Myers  <joseph@codesourcery.com>
2834
2835         * c-common.c (c_common_reswords): Add _Static_assert for C.
2836         * c-parser.c (c_token_starts_declaration,
2837         c_parser_next_token_starts_declaration,
2838         c_parser_static_assert_declaration_no_semi,
2839         c_parser_static_assert_declaration): New.
2840         (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
2841         Handle static assertions if static_assert_ok.
2842         (c_parser_external_declaration, c_parser_declaration_or_fndef,
2843         c_parser_compound_statement_nostart, c_parser_label,
2844         c_parser_for_statement, c_parser_objc_methodprotolist,
2845         c_parser_omp_for_loop): All callers of
2846         c_parser_declaration_or_fndef changed.
2847         (c_parser_struct_declaration): Handle static assertions.
2848         (c_parser_compound_statement_nostart): Use
2849         c_parser_next_token_starts_declaration and
2850         c_token_starts_declaration to detect start of declarations.
2851         (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
2852         Likewise.
2853
2854 2010-05-16  Anatoly Sokolov  <aesok@post.ru>
2855
2856         * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
2857         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
2858         * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2859         TARGET_FUNCTION_VALUE_REGNO_P): Define.
2860         (mmix_function_outgoing_value): Rename to...
2861         (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
2862         (mmix_function_value_regno_p): Make static.
2863         (mmix_libcall_value): New function.
2864         * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
2865         mmix_function_value_regno_p): Remove declaration.
2866
2867 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
2868
2869         * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
2870         BUILT_IN_ALLOCA if stack checking is enabled.
2871
2872 2010-05-16  Richard Guenther  <rguenther@suse.de>
2873
2874         * var-tracking.c (vars_copy_1): Inline ...
2875         (vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
2876         (variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
2877         (variable_merge_over_cur): Adjust.  Merge asserts.
2878         (variable_merge_over_src): Likewise.
2879         (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
2880         (variable_post_merge_new_vals): Merge asserts.
2881         (variable_post_merge_perm_vals): Likewise.
2882         (find_mem_expr_in_1pdv): Likewise.
2883         (dataflow_set_different_value): Remove.
2884         (onepart_variable_different_p): Merge asserts.
2885         (variable_different_p): Likewise.
2886         (dataflow_set_different_1): Inline ...
2887         (dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
2888         (emit_notes_for_differences_1): Merge asserts.
2889
2890 2010-05-16  Richard Guenther  <rguenther@suse.de>
2891
2892         * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
2893         * optabs.c (libfunc_decl_hash): Likewise.
2894         * varasm.c (emutls_decl): Likewise.
2895
2896 2010-05-16  Steven Bosscher  <steven@gcc.gnu.org>
2897
2898         * c-decl.c: Don't include gimple.h.
2899         (merge_decls): Do not copy gimple_body.
2900
2901 2010-05-15  Jason Merrill  <jason@redhat.com>
2902
2903         * c.opt: Add -fnothrow-opt.
2904
2905 2010-05-15  Jan Hubicka  <jh@suse.cz>
2906
2907         * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
2908         analyzed.
2909         * passes.c (ipa_write_summaries): Write all analyzed nodes.
2910
2911 2010-05-15  Steven Bosscher  <steven@gcc.gnu.org>
2912
2913         * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
2914         * Makefile.in: Add it.
2915         Fix all other Makefile dependencies for changes below.
2916         * tree.h: Include it instead of defining VEC primitives here.
2917         * gimple.h: Likewise.
2918         * rtl.h: Likewise.
2919         * tree-inline.h: Inlclude vecir.h instead of gimple.h.
2920         * except.h: Include vecir.h, break dependence on tree.h.
2921
2922         * gimplify.c (append_to_statement_list_1, append_to_statement_list):
2923         Move from here...
2924         * tree-iterator.c: ...to here.
2925         * tree-iterator.h: Fix file introduction comment.  Add extern markers.
2926
2927         * c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
2928         tm_p.h.
2929         * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
2930         * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
2931         integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
2932         tree-mudflap.h, and target.h.
2933         * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
2934         predict.h, tree-inline.h, gimple.h, and langhooks.h.
2935         * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
2936         Add FIXME for why gimple.h is still included (should be unnecessary
2937         since GCC 4.5 gimplification unit-at-a-time).
2938         * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
2939         * c-pragma.c: Add FIXME for why function.h needs to be included just
2940         for cfun, at front-end level.
2941         Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
2942         Do not include ggc.h, but include vecprim.h for VEC(char).
2943         * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
2944         Explain why target.h is included.
2945         * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
2946         Explain why gimple.h is included.
2947         * c-ppoutput.c: Do not include tm.h.
2948         * c-common.c: Do not include gimple.h.  Explain why expr.h is included.
2949         * c-parses.c: Explain why rtl.h is included, and that this (and only
2950         this) is also why tm.h must be included.
2951         Do not include except.h.
2952         * c-lang.c: Do not include ggc.h.
2953
2954 2010-05-15  Uros Bizjak  <ubizjak@gmail.com>
2955
2956         * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
2957
2958 2010-05-15  Joseph Myers  <joseph@codesourcery.com>
2959
2960         * c-decl.c (grokfield): Allow typedefs for anonymous structs and
2961         unions by default if those structs and unions have no tags.  Do
2962         not condition anonymous struct and unions handling on flag_iso.
2963         Allow anonymous structs and unions for C1X.
2964         (finish_struct): Do not diagnose lack of named fields when
2965         anonymous structs and unions present for C1X.  Accept flexible
2966         array members in structure with anonymous structs or unions but no
2967         directly named fields.
2968         * doc/extend.texi (Unnamed Fields): Update.
2969
2970 2010-05-15  Eric Botcazou  <ebotcazou@adacore.com>
2971
2972         * gimple.h (compare_field_offset): Rename into...
2973         (gimple_compare_field_offset): ...this.
2974         * gimple.c (compare_field_offset): Rename into...
2975         (gimple_compare_field_offset): ...this.  Compare the full access if
2976         the offset is self-referential.
2977         (gimple_types_compatible_p): Adjust for above renaming.
2978         * lto-streamer-in.c (input_gimple_stmt): Likewise.  Also compare the
2979         DECL_NONADDRESSABLE_P flag of fields before merging them.
2980
2981 2010-05-15  Nathan Froyd  <froydnj@codesourcery.com>
2982
2983         * tree.h (ctor_to_list): Delete.
2984         * tree.c (ctor_to_list): Delete.
2985
2986 2010-05-15  Jan Hubicka  <jh@suse.cz>
2987
2988         * ipa-reference.c: Include toplev.h
2989         (is_proper_for_analysis): Only add to all_module_statics
2990         if it is allocated.
2991         (write_node_summary_p, stream_out_bitmap,
2992         ipa_reference_write_optimization_summary,
2993         ipa_reference_read_optimization_summary): New.
2994         (struct ipa_opt_pass_d pass_ipa_reference): Add
2995         optimization summary streaming.
2996         * lto-cgraph.c (referenced_from_this_partition_p,
2997         reachable_from_this_partition_p): New functions.
2998         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
2999         call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
3000         * opts.c (decode_options): Enable ipa_reference.
3001         * Makefile.in (ipa-reference.o): Add toplev.h dependency.
3002         * lto-streamer.h (referenced_from_this_partition_p,
3003         reachable_from_this_partition_p): Declare.
3004
3005 2010-05-15  Richard Guenther  <rguenther@suse.de>
3006
3007         PR tree-optimization/44038
3008         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
3009         taking the address of a V_C_E of a constant.
3010
3011 2010-05-14  Jan Hubicka  <jh@suse.cz>
3012
3013         * tree.h (memory_identifier_string): Remove.
3014         * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
3015         (ipa_reference_global_vars_info_d): Remove statics_not_read and
3016         statics_not_written.
3017         (ipa_reference_optimization_summary_d): New structure.
3018         (ipa_reference_optimization_summary_t): New type and vector.
3019         (ipa_reference_vars_info_d): Embedd structures instead of using
3020         pointers.
3021         (reference_vars_to_consider): Remove out of GGC space.
3022         (module_statics_escape): Remove.
3023         (global_info_obstack): Rename to ...
3024         (optimization_summary_obstack): ... this one.
3025         (initialization_status_t): Remove.
3026         (memory_identifier_string): Remove.
3027         (get_reference_vars_info): Fix indenting.
3028         (set_reference_vars_info): Likewise.
3029         (get_reference_optimization_summary): New.
3030         (set_reference_optimization_summary): New.
3031         (get_global_reference_vars_info): Remove.
3032         (ipa_reference_get_read_global): Remove.
3033         (ipa_reference_get_written_global): Remove.
3034         (ipa_reference_get_not_read_global): Update.
3035         (ipa_reference_get_not_written_global): Update.
3036         (is_proper_for_analysis): Outlaw addressable.
3037         (propagate_bits): Update for new datastructures.
3038         (analyze_variable): Remove.
3039         (init_function_info): Update for new datastructures.
3040         (clean_function_local_data): Remove.
3041         (clean_function): Remove.
3042         (copy_global_bitmap): Use optimizations_summary_obstack.
3043         (duplicate_node_data): Duplicate optimization summary only.
3044         (remove_node_data): Remove optimization summary only.
3045         (generate_summary): Do not analyze variables; do not compute
3046         module_statics_escape; do not prune solutions by it.
3047         (read_write_all_from_decl): Fix typos in comments.
3048         (propagate): Doscover readonly and nonaddressable first;
3049         update for new datastructures; share global bitmaps.
3050         * ipa-reference.h (ipa_reference_get_read_global,
3051         ipa_reference_get_written_global): Remove.
3052         * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
3053         * Makefile.in: Remove ipa-refereference from GT files.
3054
3055 2010-05-14  Jakub Jelinek  <jakub@redhat.com>
3056
3057         PR debug/44112
3058         * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
3059         for all SYMBOL_REF_DECLs.
3060
3061 2010-05-14  Jan Hubicka  <jh@suse.cz>
3062
3063         * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
3064         (varpool_all_refs_explicit_p): New inline function.
3065         * ipa-reference.c: Update comment.
3066         (module_statics_written): Remove.
3067         (get_static_decl): Remove.
3068         (ipa_init): Do not initialize module_statics_written.
3069         (analyze_function): Likewise.
3070         (generate_summary): Likewise; do not compute module_statics_readonly
3071         and do not update variable flags.
3072         (propagate): Call ipa_discover_readonly_nonaddressable_vars.
3073         * ipa.c: Inlucde flags.h
3074         (cgraph_local_node_p): New.
3075         (cgraph_remove_unreachable_nodes): Return early when not optimizing;
3076         promote functions to local.
3077         (ipa_discover_readonly_nonaddressable_vars): New function.
3078         (function_and_variable_visibility): Use cgraph_local_node_p.
3079         * varpool.c (varpool_finalize_decl): Set force_output for
3080         DECL_PRESERVE_P vars.
3081
3082 2010-05-14  Jan Hubicka  <jh@suse.cz>
3083
3084         * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
3085
3086 2010-05-14  Richard Guenther  <rguenther@suse.de>
3087
3088         PR tree-optimization/44119
3089         * tree-ssa-pre.c (eliminate): Properly mark replacement of
3090         a PHI node necessary.
3091
3092 2010-05-14  Eric Botcazou  <ebotcazou@adacore.com>
3093
3094         * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
3095
3096 2010-05-14  Jason Merrill  <jason@redhat.com>
3097
3098         PR c++/44127
3099         * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
3100         (gimple_call_set_nothrow): New.
3101         * gimple.c (gimple_build_call_from_tree): Call it.
3102         (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
3103
3104         PR c++/44127
3105         * gimplify.c (gimplify_seq_add_stmt): No longer static.
3106         * gimple.h: Declare it.
3107         * gimple.c (gimple_build_eh_filter): No ops.
3108
3109 2010-05-14  Jan Hubicka  <jh@suse.cz>
3110
3111         * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
3112         nodes already in queue.
3113         (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
3114         re-enqueueing node.
3115
3116 2010-05-14  Jakub Jelinek  <jakub@redhat.com>
3117
3118         PR debug/44136
3119         * cfgexpand.c (expand_debug_expr): If non-memory op0
3120         has BLKmode, return NULL.
3121
3122 2010-05-14  Harsha Jagasia  <harsha.jagasia@amd.com>
3123
3124         * config.gcc: Add support for --with-cpu option for bdver1.
3125         * config/i386/i386.h (TARGET_BDVER1): New macro.
3126         (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
3127         to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
3128         (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
3129         to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
3130         Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
3131         (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
3132         (processor_type): Add PROCESSOR_BDVER1.
3133         * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
3134         processor_type in config/i386/i386.h.
3135         Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
3136         movaps <reg, reg> instead of movapd <reg, reg> when replacing
3137         movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
3138         Add check for  TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
3139         to emit packed xor instead of packed double/packed integer
3140         xor for SSE and AVX when moving a zero value.
3141         * config/i386/sse.md: Add check for
3142         TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
3143         movapd/movdqa for SSE and AVX.
3144         Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
3145         single logical operations i.e and, or and xor instead of packed double
3146         logical operations for SSE and AVX.
3147         * config/i386/i386-c.c (ix86_target_macros_internal):
3148         Add PROCESSOR_BDVER1.
3149         * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
3150         (has_fma4, has_xop): New.
3151         * config/i386/i386.c (bdver1_cost): New variable.
3152         (m_BDVER1): New macro.
3153         (m_AMD_MULTIPLE): Add m_BDVER1.
3154         (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
3155         x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
3156         x86_tune_use_simode_fiop, x86_tune_promote_qimode,
3157         x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
3158         x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
3159         x86_tune_sse_partial_reg_dependency,
3160         x86_tune_sse_unaligned_load_optimal,
3161         x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
3162         x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
3163         x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
3164         x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
3165         x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
3166         Enable/disable for bdver1.
3167         (processor_target_table): Add bdver1_cost.
3168         (cpu_names): Add bdver1.
3169         (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
3170          processor_alias_table.
3171         (ix86_expand_vector_move_misalign): Change.
3172         TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
3173         Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
3174         Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
3175         of movupd/movdqu for SSE and AVX.
3176         (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
3177         (ix86_tune_adjust_cost): Add code for bdver1.
3178         (standard_sse_constant_opcode): Add check for
3179         TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
3180         of packed double xor for SSE and AVX.
3181
3182 2010-05-14  Pat Haugen  <pthaugen@us.ibm.com>
3183
3184         * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
3185         result to unsigned.
3186
3187 2010-05-14  Tristan Gingold  <gingold@adacore.com>
3188
3189         * toplev.c (default_debug_hooks): Remove this variable.
3190         (process_options): Remove assignments to default_debug_hooks.
3191
3192 2010-05-14  Martin Jambor  <mjambor@suse.cz>
3193
3194         * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
3195         (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
3196         * langhooks.h (struct lang_hooks_for_decls): Removed field
3197         fold_obj_type_ref.
3198         * tree.c (free_lang_data): Remove assignment to
3199         lang_hooks.fold_obj_type_ref.
3200         * tree.def (OBJ_TYPE_REF): Update comment.
3201
3202 2010-05-14  Richard Guenther  <rguenther@suse.de>
3203
3204         PR tree-optimization/44124
3205         * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
3206
3207 2010-05-14  Alan Modra  <amodra@gmail.com>
3208
3209         PR target/44075
3210         * config/rs6000/rs6000.c (struct machine_function): Reorder
3211         fields for better packing.  Add lr_save_state.
3212         (rs6000_ra_ever_killed): Return lr_save_state if set.
3213         (rs6000_emit_eh_reg_restore): Set lr_save_state.
3214
3215 2010-05-13  Jan Hubicka  <jh@suse.cz>
3216
3217         * varpool.c (decide_is_variable_needed): Drop code checking
3218         TREE_SYMBOL_REFERENCED.
3219
3220 2010-05-13  Jan Hubicka  <jh@suse.cz>
3221
3222         * final.c (output_addr_const): Do not call mark_decl_referenced.
3223         * cgraphunit.c (process_function_and_variable_attributes): Use
3224         mark_needed_node dirrectly.
3225         (assemble_thunk): Do not call mark_decl_referenced.
3226
3227 2010-05-13  Anatoly Sokolov  <aesok@post.ru>
3228
3229         * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
3230
3231 2010-05-13  Jeff Law  <law@redhat.com>
3232
3233         * ira-conflicts.c (print_allocno_conflicts): New function broken out
3234         from...
3235         (print_conflicts): Call print_allocno_conflicts.
3236
3237 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
3238
3239         PR debug/44104
3240         * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
3241         if it is NULL.
3242
3243 2010-05-13  Kai Tietz  <kai.tietz@onevision.com>
3244
3245         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
3246         t-mingw-w64 or t-mingw-w32 for multilib configuration.
3247         * config/i386/t-mingw-w32: New.
3248         * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
3249
3250 2010-05-13  Martin Jambor  <mjambor@suse.cz>
3251
3252         * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
3253         gimple-fold.c).
3254         * gimple-fold.c (get_base_binfo_for_type): New function.
3255         (gimple_get_relevant_ref_binfo): Likewise.
3256         (gimple_fold_obj_type_ref_known_binfo): Likewise.
3257         (gimple_fold_obj_type_ref): Likewise.
3258         (fold_gimple_call): Simplify condition for folding virtual calls
3259         and call gimple_fold_obj_type_ref.
3260         * gimple.h (gimple_get_relevant_ref_binfo): Declare.
3261         (gimple_fold_obj_type_ref_known_binfo): Likewise.
3262
3263 2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
3264
3265         * config/rs6000/rs6000-protos.h
3266         (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
3267         * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
3268         (rs6000_debug_mode_dependent_address)
3269         (rs6000_mode_dependent_address_ptr): Likewise.
3270
3271 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
3272
3273         PR debug/43983
3274         * var-tracking.c (track_expr_p): Allow tracking of variables optimized
3275         by SRA.
3276         * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
3277         * tree-sra.c (create_access_replacement): Call unshare_expr before
3278         passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
3279         * dwarf2out.c: Include tree-flow.h.
3280         (struct var_loc_node): Rename var_loc_note field to loc, add comment.
3281         (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
3282         Handle DW_OP_bit_piece.
3283         (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
3284         construct_piece_list, adjust_piece_list): New functions.
3285         (add_var_loc_to_decl): Handle SRA optimized variables.
3286         Adjust for var_loc_note to loc field renaming.
3287         (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
3288         in VAR_LOCATION note.
3289         (new_loc_descr_op_bit_piece): New function.
3290         (dw_sra_loc_expr): New function.
3291         (dw_loc_list): Use it.  Don't handle the last range after the
3292         loop, handle it inside of the loop.  Adjust for var_loc_note
3293         to loc field renaming.
3294         (add_location_or_const_value_attribute): Only special case
3295         single entry loc lists if loc is NOTE_P.  Adjust for
3296         var_loc_note to loc field renaming.
3297         (dwarf2out_var_location): Don't set newloc->var_loc_note
3298         and newloc->next here.
3299
3300 2010-05-12  Jan Hubicka  <jh@suse.cz>
3301
3302         * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
3303         flag.
3304         * cgraph.h (cgraph_only_called_directly_p,
3305         cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
3306         (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
3307         * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
3308         (assemble
3309         * ipa.c (cgraph_remove_unreachable_nodes): Use
3310         cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
3311         flags.
3312         * tree-inline.c (copy_bb): Check address_taken flag.
3313         * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
3314         externally_visible flag.
3315
3316 2010-05-12  Jason Merrill  <jason@redhat.com>
3317
3318         PR bootstrap/44048
3319         PR target/44099
3320         * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
3321         * sdbout.c (plain_type_1): Likewise.
3322         * dwarf2out.c (is_base_type): Likewise.
3323         (gen_type_die_with_usage): Likewise.  Generate
3324         DW_TAG_unspecified_type for any LANG_TYPE.
3325
3326 2010-05-12  Jan Hubicka  <jh@suse.cz>
3327
3328         * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
3329         indrect edges too.
3330         * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
3331         (cgraph_clone_edge): Update.
3332         (cgraph_node_remove_callees): Remove indirect calls too.
3333         * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
3334         (cgraph_create_indirect_edge): Update prototype.
3335         * ipa-reference.c (has_proper_scope_for_analysis): Rename to
3336         is_proper_for_analysis.
3337         (add_new_function, visited_nodes, function_insertion_hook_holder,
3338         get_local_reference_vars_info, mark_address_taken, mark_address,
3339         mark_load, mark_store, check_asm_memory_clobber, check_call,
3340         scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
3341         (ipa_init): Do not initialize visited_nodes;
3342         function_insertion_hook_holder.
3343         (analyze_variable): Rewrite.
3344         (analyze_function): Rewrite.
3345         (copy_local_bitmap): Remove.
3346         (duplicate_node_dat): Do not duplicate local info.
3347         (generate_summary): Simplify to only walk cgraph.
3348         (write_node_summary_p, ipa_reference_write_summary,
3349         ipa_reference_read_summary): Remove.
3350         (propagate): Do not remove function insertion;
3351         generate summary.
3352         (pass_ipa_reference): NULLify summary handling fields.
3353         * lto-cgraph.c (lto_output_edge): Output ecf_flags.
3354         (input_edge): Input ecf_flags.
3355         * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
3356         (update_indirect_edges_after_inlining): Ignore edges with unknown
3357         param.
3358
3359 2010-05-12  Sriraman Tallam  <tmsriram@google.com>
3360
3361         * implicit-zee.c: New file.
3362         * tree-pass.h (pass_implicit_zee): Declare.
3363         * passes.c (init_optimization_passes): Add zee pass.
3364         * common.opt (fzee): New flag.
3365         * timevar.def (TV_ZEE): Define.
3366         * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
3367         and beyond.
3368         * Makefile.in (implicit-zee.o): Add new build file.
3369
3370 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
3371             Nathan Froyd  <froydnj@codesourcery.com>
3372
3373         * c-common.c (sync_resolve_params): Remove write-only variable.
3374
3375 2010-05-12  Anatoly Sokolov  <aesok@post.ru>
3376
3377         * target.h (struct gcc_target): Add mode_dependent_address_p field.
3378         * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
3379         (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
3380         * targhooks.c (default_mode_dependent_address_p): New function.
3381         * targhooks.h (default_mode_dependent_address_p): Declare function.
3382         * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
3383         (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
3384         * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
3385         target hook. Change return type to bool.
3386         * recog.h (mode_dependent_address_p): Change return type to bool.
3387
3388 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
3389             Nathan Froyd  <froydnj@codesourcery.com>
3390
3391         * tree-mudflap.c (build_function_type_0, build_function_type_1,
3392         build_function_type_2, build_function_type_3): Remove.
3393         (mudflap_init): Use build_function_type_list.
3394
3395 2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
3396             Nathan Froyd  <froydnj@codesourcery.com>
3397
3398         * coverage.c (build_fn_info_value): Call build_constructor instead of
3399         build_constructor_from_list.
3400         (build_ctr_info_value): Likewise.
3401         (build_gcov_info): Likewise.
3402
3403 2010-05-12  Nathan Froyd  <froydnj@codesourcery.com>
3404
3405         * tree.c (build_constructor): Compute TREE_CONSTANT for the
3406         resultant&nbs