OSDN Git Service

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