OSDN Git Service

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