OSDN Git Service

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