1 2010-06-02 Kai Tietz <kai.tietz@onevision.com>
3 * c-common.c: Remove header include of tm_p.h.
4 * Makefile.in (c-common.o): Remove TM_P_H dependency.
6 2010-06-02 Jakub Jelinek <jakub@redhat.com>
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.
18 2010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
22 * configure: Regenerate.
23 * config.in: Regenerate.
25 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
26 (X86_64_EMULATION): Define.
27 (TARGET_LD_EMULATION): Use them.
29 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
30 (SPARC64_EMULATION): Define.
31 (LINK_ARCH_SPEC): Use them.
33 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
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.
39 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
41 * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
43 (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
45 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
48 * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
51 2010-06-02 Jan Hubicka <jh@suse.cz>
54 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
55 create new cgraph node to check callee.
57 2010-06-02 Richard Guenther <rguenther@suse.de>
59 * lto-streamer-in.c (input_gimple_stmt): Fix typo.
61 2010-06-02 Richard Guenther <rguenther@suse.de>
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.
71 2010-06-02 Richard Guenther <rguenther@suse.de>
73 PR tree-optimization/44377
74 * tree-ssa-structalias.c (find_func_aliases): Fix typo.
76 2010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
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
83 * config/s390/s390.c: Don't accept fp zeros as valid constants
86 2010-06-02 Jan Hubicka <jh@suse.cz>
88 * bitmap.c (bitmap_descriptor): Add search_iter.
89 (bitmap_find_bit): Increment it.
90 (print_statistics): Print it.
92 2010-06-02 Nathan Froyd <froydnj@codesourcery.com>
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.
97 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
99 * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
100 change from yesterday.
102 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
104 * c-ada-spec.c: Clean up redundant includes.
106 2010-06-01 Steven Bosscher <steven@gcc.gnu.org>
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
116 * tree-pretty-print.h: Include pretty-print.h.
117 * gimple-pretty-print.h: Include pretty-print.h.
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
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
193 * tree-inline.c: Do not include diagnostic.h and expr.h.
195 (copy_decl_for_dup_finish): Do not use NULL_RTX.
197 * tree-loop-linear.c: Do not include diagnostic.h, expr.h,
199 * tree-loop-distribution.c: Likewise.
201 2010-06-01 Jan Hubicka <jh@suse.cz>
203 * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
205 2010-06-01 Jan Hubicka <jh@suse.cz>
207 * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
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.
213 2010-06-01 Jan Hubicka <jh@suse.cz>
215 * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
217 2010-06-01 Nathan Froyd <froydnj@codesourcery.com>
219 * tree.h (build_nt_call_list): Delete.
220 * tree.c (build_nt_call_list): Delete.
222 2010-06-01 Jan Hubicka <jh@suse.cz>
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):
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
258 2010-06-01 Jan Hubicka <jh@suse.cz>
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
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;
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.
275 2010-06-01 Jan Hubicka <jh@suse.cz>
277 * gegenrtl.c: Remove unnecesary prototypes.
279 (gendef): Produce static inline.
281 (main): Do not decode parameters; generate header only.
282 * Makefile.in (genrtl.c): Remove.
284 2010-06-01 Jan Hubicka <jh@suse.cz>
286 * tree-switch-conversion.c (build_one_array): Make it readonly.
288 2010-06-01 Richard Guenther <rguenther@suse.de>
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.
295 2010-06-01 Arnaud Charlet <charlet@adacore.com>
296 Matthew Gingell <gingell@adacore.com>
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
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.
313 2010-06-01 Richard Guenther <rguenther@suse.de>
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.
324 2010-06-01 Jan Hubicka <jh@suse.cz>
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.
330 2010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
332 * config/arm/t-linux-androideabi: New.
333 * config.gcc (arm*-*-linux-androideabi): Include multilib configuration.
335 2010-06-01 Jan Hubicka <jh@suse.cz>
337 * tree-inline.c (estimate_num_insns): For stdarg functions look
338 into call statement to count cost of argument passing.
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.
349 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
351 2010-05-31 Jakub Jelinek <jakub@redhat.com>
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 &&
364 2010-05-31 Jan Hubicka <jh@suse.cz>
366 * tree.h (tree_range_check_failed): Declare noreturn.
368 2010-05-31 Jan Hubicka <jh@suse.cz>
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
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.
381 2010-05-31 Jakub Jelinek <jakub@redhat.com>
384 * expr.c (expand_assignment): Don't store anything for out-of-bounds
385 array accesses with non-MEM.
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.
394 2010-05-31 Kai Tietz <kai.tietz@onevision.com>
397 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
400 2010-05-31 Eric Botcazou <ebotcazou@adacore.com>
402 * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
403 for nested functions in non-optimized compilation.
405 2010-05-31 Richard Guenther <rguenther@suse.de>
407 * tree-ssa-structalias.c (find_func_aliases): Handle
410 2010-05-30 Jan Hubicka <jh@suse.cz>
412 * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
414 2010-05-30 Richard Guenther <rguenther@suse.de>
417 * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
418 (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
421 2010-05-30 Iain Sandoe <iains@gcc.gnu.org>
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.
433 2010-05-30 Eric Botcazou <ebotcazou@adacore.com>
435 * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
436 RS6000_OUTPUT_BASENAME unconditionally.
437 (rs6000_output_function_epilogue): Likewise.
439 2010-05-30 Jan Hubicka <jh@suse.cz>
441 * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
444 2010-05-30 Richard Guenther <rguenther@suse.de>
446 * tree-cfg.c (verify_gimple_assign_single): Implement
447 verification for COND_EXPR rhs.
449 2010-05-30 Jan Hubicka <jh@suse.cz>
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
456 2010-05-30 Jan Hubicka <jh@suse.cz>
458 * dwarf2out.c (reference_to_unused,
459 premark_types_used_by_global_vars_helper): Avoid creation of new
462 2010-05-30 Jan Hubicka <jh@suse.cz>
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
475 2010-05-30 Jan Hubicka <jh@suse.cz>
477 * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
478 for tail call epilogues.
480 2010-05-30 Jan Hubicka <jh@suse.cz>
482 * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
483 ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
486 2010-05-29 Jan Hubicka <jh@suse.cz>
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
492 2010-05-29 Jan Hubicka <jh@suse.cz>
494 * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
496 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
499 * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
501 2010-05-29 Jan Hubicka <jh@suse.cz>
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):
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):
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):
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):
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):
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.
605 2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
608 * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
609 Filter out insn-flags.h.
611 2010-05-29 Jan Hubicka <jh@suse.cz>
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
618 2010-05-29 Jan Hubicka <jh@suse.cz>
621 * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
623 2010-05-29 Richard Guenther <rguenther@suse.de>
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.
630 2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
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.
638 2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
640 * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
642 (predicate_bbs): Same.
643 (clean_predicate_lists): Same.
644 (find_phi_replacement_condition): Do not AND the predicate from
647 2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
650 * Makefile.in (build/gencondmd.o): Add a missing `\'.
652 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
655 config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
656 (negdf2): Adjust expander pattern and use negdf2_slow.
659 2010-05-29 Nathan Froyd <froydnj@codesourcery.com>
661 * basic-block.h (struct control_flow_graph): Move last_label_uid field
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.
671 2010-05-29 Jan Hubicka <jh@suse.cz>
673 * varpool.c (varpool_get_node): Fix lookup.
675 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
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.
682 * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
684 2010-05-29 Mike Stump <mikestump@comcast.net>
687 * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
688 TM_H when building to avoid dependency loops.
690 2010-05-29 Jan Hubicka <jh@suse.cz>
692 * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
693 refs and body; not the whole node for masters of materialized
696 2010-05-29 Mike Stump <mikestump@comcast.net>
698 * config/rs6000/rs6000-c.c: Remove c-tree.h include.
700 2010-05-29 Jan Hubicka <jh@suse.cz>
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
716 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
718 * vec.h: Include statistics.h
719 * Makefile.in: Introduce VEC_H. Replace all vec.h dependencies
722 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
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.
731 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
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.
742 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
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.
748 2010-05-28 Mike Stump <mikestump@comcast.net>
750 * config/darwin-c.c: Remove c-tree.h include.
752 2010-05-28 Joseph Myers <joseph@codesourcery.com>
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,
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
763 (input_filename): Rename to gcc_input_filename. All users
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.
773 2010-05-28 Jeff Law <law@redhat.com>
775 * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
777 * ira.h (ira_bad_reload_regno): Declare
778 * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
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.
784 2010-05-28 Nathan Froyd <froydnj@codesourcery.com>
786 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
789 2010-05-28 Richard Guenther <rguenther@suse.de>
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
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
801 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
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
810 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
813 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
815 * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
816 generate COND_EXPRs for degenerate_phi_result.
818 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
821 * tree-if-conv.c (if_convertible_loop_p): Check the
822 if-convertibility of phi nodes in non predicated BBs.
824 2010-05-28 Joseph Myers <joseph@codesourcery.com>
826 * gcc.c (error, warning, inform): Remove duplicate ": " in output.
828 2010-05-28 Joseph Myers <joseph@codesourcery.com>
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
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.
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
853 2010-05-28 Julian Brown <julian@codesourcery.com>
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
860 (*addsi3_compare0_scratch): Likewise.
862 2010-05-28 Jan Hubicka <jh@suse.cz>
864 * ipa-reference.c (add_static_var): Remove redundant all_module_statics
866 (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
867 only on local statics.
869 2010-05-28 Iain Sandoe <iains@gcc.gnu.org>
871 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
873 2010-05-28 Maxim Kuvyrkov <maxim@codesourcery.com>
876 * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
877 (OPTION_GLIBC): Define.
879 2010-05-28 Jakub Jelinek <jakub@redhat.com>
882 * dwarf2out.c (double_int_type_size_in_bits): New function.
883 (round_up_to_align): Change first argument and return value to
885 (field_byte_offset): Work internally on double_ints.
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.
893 2010-05-28 Joseph Myers <joseph@codesourcery.com>
895 * final.c (rest_of_clean_state): Use %m in errors instead of
897 * gengtype.c (read_input_list, close_output_files): Use xstrerror
899 * toplev.c (process_options): Use %m in errors instead of strerror
901 * tree-dump.c (dump_begin): Use %m in errors instead of strerror
904 2010-05-28 Uros Bizjak <ubizjak@gmail.com>
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.
913 2010-05-28 Richard Guenther <rguenther@suse.de>
915 * lto-wrapper.c (run_gcc): With -save-temps generate a
916 user-visible ltrans filename. Fixup ltrans unit numbering.
918 2010-05-28 Kai Tietz <kai.tietz@onevision.com>
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.
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.
935 2010-05-28 Alan Modra <amodra@gmail.com>
938 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
939 emit_library_call machinery to set up __tls_get_addr calls.
941 2010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
943 * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
945 2010-05-28 Dodji Seketeli <dodji@redhat.com>
947 Revert fix for PR c++/44188
948 * c-common.c (is_typedef_decl): Revert the moving of this
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
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.
965 2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
967 * config/rs6000/rs6000-modes.def (PSImode): Delete.
969 2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
971 * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
972 * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
974 * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
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.
984 2010-05-28 Jakub Jelinek <jakub@redhat.com>
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.
994 2010-05-27 Sterling Augustine <sterling@tensilica.com>
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
1001 2010-05-27 Kai Tietz <kai.tietz@onevision.com>
1004 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
1005 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
1007 2010-05-27 Joseph Myers <joseph@codesourcery.com>
1009 * diagnostic-core.h: New. Contents moved from diagnostic.h and
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
1048 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
1049 * lto-compress.c: Include diagnostic-core.h instead of
1051 * lto-section-in.c: Include diagnostic-core.h instead of
1053 * lto-streamer-out.c: Include diagnostic-core.h instead of
1055 * lto-streamer.c: Include diagnostic-core.h instead of
1057 (gate_lto_out): Use seen_error.
1058 * matrix-reorg.c: Include diagnostic-core.h instead of
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
1070 * tree-optimize.c (gate_all_optimizations,
1071 gate_all_early_local_passes, gate_all_early_optimizations): Use
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.
1085 2010-05-25 Dodji Seketeli <dodji@redhat.com>
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.
1102 2010-05-27 Jason Merrill <jason@redhat.com>
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.
1109 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
1111 * gdbinit.in (pdd): New command.
1113 2010-05-27 Jan Hubicka <jh@suse.cz>
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.
1122 2010-05-27 Steven Bosscher <steven@gcc.gnu.org>
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.
1132 * c-common.c: Pretend to be a backend file by undefining
1133 IN_GCC_FRONTEND (still need rtl.h here).
1135 2010-05-27 Jan Hubicka <jh@suse.cz>
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.
1140 2010-05-27 Jan Hubicka <jh@suse.cz>
1142 * sched-ebb.c: Rename struct deps to struct deps_desc.
1144 * sel-sched-ir.c: Likewise.
1145 * sched-deps.c: Likewise.
1146 * sched-int.h: Likewise.
1147 * sched-rgn.c: Likewise.
1149 2010-05-27 Jon Beniston <jon@beniston.com>
1152 * config/lm32/lm32.h: Remove definition of
1153 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
1155 2010-05-27 Eric Botcazou <ebotcazou@adacore.com>
1158 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
1160 2010-05-27 Richard Guenther <rguenther@suse.de>
1162 PR tree-optimization/44284
1163 * tree-vect-stmts.c (vectorizable_assignment): Handle
1164 sign-changing conversions as simple copy.
1166 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
1168 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
1170 (__gthread_active_p): Check for pthread_create if compiling against
1173 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
1175 Support compilation for Android platform. Reimplement -mandroid.
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
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):
1197 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
1199 Add support for Bionic C library
1201 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
1203 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
1204 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
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):
1214 (TARGET_HAS_SINCOS): Enable for Bionic.
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.
1220 (mglibc, muclibc): Update.
1222 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
1223 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
1226 * doc/invoke.texi (-mglibc, -muclibc): Update.
1227 (-mbionic): Document.
1229 2010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
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.
1237 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
1238 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
1240 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
1241 Remove TARGET_ADDR_SPACE_KEYWORDS.
1243 2010-05-27 Joseph Myers <joseph@codesourcery.com>
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.
1253 2010-05-27 Richard Guenther <rguenther@suse.de>
1255 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
1256 for non-existant files.
1257 (fork_execute): Mark args_name file as deleted.
1259 2010-05-27 Kai Tietz <kai.tietz@onevision.com>
1262 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
1263 (narrow_signed_type): Likewise.
1265 2010-05-26 Jan Hubicka <jh@suse.cz>
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
1278 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
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.
1285 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
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.
1292 2010-05-26 Joseph Myers <joseph@codesourcery.com>
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.
1304 2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
1306 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
1307 pointer types if they have different alignment or mode.
1309 2010-05-26 Anatoly Sokolov <aesok@post.ru>
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.
1324 2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
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.
1332 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
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.
1339 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
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.
1350 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
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.
1359 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1361 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
1362 than 2 predecessors or more than 2 successors.
1364 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1366 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
1367 of loops in which the data dependence analysis fails.
1369 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1371 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
1372 CDI_POST_DOMINATORS.
1373 (tree_if_conversion): Same.
1375 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1377 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
1379 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1381 * tree-if-conv.c: Update copyright years. Fix comments.
1384 2010-05-26 Kai Tietz <kai.tietz@onevision.com>
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.
1416 2010-05-26 Richard Guenther <rguenther@suse.de>
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.
1426 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
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.
1431 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1433 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
1435 2010-05-26 Richard Guenther <rguenther@suse.de>
1437 * opts.c (common_handle_option): Handle OPT_Ofast.
1439 2010-05-26 Joseph Myers <joseph@codesourcery.com>
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
1448 (diagnostic_report_diagnostic): Pass context parameter to
1449 diagnostic_report_warnings_p. Use option_enabled and option_name
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
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.
1475 2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
1477 * config/picochip/picochip.md (movsi): Split a movsi from a
1480 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
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.
1487 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1489 * ggc-common.c (ggc_free_overhead): Allow empty slot.
1491 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
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.
1500 2010-05-26 Richard Guenther <rguenther@suse.de>
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.
1509 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1511 * c-typeck.c: Do not include expr.h.
1513 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
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
1527 2010-05-26 Jakub Jelinek <jakub@redhat.com>
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.
1535 2010-05-25 Eric Botcazou <ebotcazou@adacore.com>
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.
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.
1576 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
1578 * config/i386/i386-c.c: Do not include rtl.h.
1579 * config/i386/t-i386: Update dependencies.
1581 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
1583 * attribs.c: Do not include rtl.h.
1584 * Makefile.in: Update dependencies.
1586 2010-05-25 Anatoly Sokolov <aesok@post.ru>
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.
1592 2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1594 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
1595 stderr to /dev/null instead of grep -q.
1596 * configure: Regenerate.
1598 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
1600 * Makefile.in (EXCEPT_H): Fix typo.
1602 2010-05-25 Vladimir Makarov <vmakarov@redhat.com>
1604 * ira-build.c (update_conflict_hard_reg_costs): New.
1605 (ira_build): Call update_conflict_hard_reg_costs.
1607 2010-05-25 Jakub Jelinek <jakub@redhat.com>
1610 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
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.
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.
1624 2010-05-25 Richard Guenther <rguenther@suse.de>
1627 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
1628 out-of-bounds array accesses.
1630 2010-05-25 Richard Guenther <rguenther@suse.de>
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.
1636 2010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1638 * config/s390/s390.c (optimization_options): Fix and move the
1639 flag_prefetch_loop_arrays override ...
1640 (override_options): ... here.
1642 2010-05-25 Joseph Myers <joseph@codesourcery.com>
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.
1655 2010-05-25 Iain Sandoe <iains@gcc.gnu.org>
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,
1662 2010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
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
1670 2010-05-25 Richard Guenther <rguenther@suse.de>
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.
1679 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
1681 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
1682 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
1684 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
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.
1692 2010-05-25 Jakub Jelinek <jakub@redhat.com>
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.
1698 2010-05-25 Wei Guozhi <carrot@google.com>
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.
1704 2010-05-24 Sebastian Pop <sebastian.pop@amd.com>
1706 * function.c (assign_stack_local_1): Initialize variable
1707 to avoid warning when bootstrapping at -O3.
1709 2010-05-24 Steven Bosscher <steven@gcc.gnu.org>
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.
1716 2010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
1717 Sandra Loosemore <sandra@codesourcery.com>
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.
1724 2010-05-24 Joseph Myers <joseph@codesourcery.com>
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.
1742 * toplev.c (process_options): Set flags in global_dc from
1743 flag_show_column, flag_pedantic_errors, flag_permissive,
1745 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
1746 to diagnostic_build_prefix.
1747 * Makefile.in (diagnostic.o): Update dependencies.
1749 2010-05-24 H.J. Lu <hongjiu.lu@intel.com>
1751 * config/i386/ia32intrin.h (__crc32q): Define only if
1752 __SSE4_2__ is defined.
1754 2010-05-24 Iain Sandoe <iains@gcc.gnu.org>
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 ().
1767 2010-05-24 Daniel Gutson <dgutson@codesourcery.com>
1769 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
1770 added to the preprocessor condition.
1772 2010-05-24 Paul Brook <paul@codesourcery.com>
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.
1781 2010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1783 * doc/makefile.texi (Makefile): Mention stages 'profile'
1784 and 'feedback' for profiledbootstrap.
1786 2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
1789 * config/i386/i386.c (def_builtin): Properly check
1790 OPTION_MASK_ISA_64BIT.
1792 2010-05-23 Joseph Myers <joseph@codesourcery.com>
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
1803 (comptypes_check_different_types): New.
1804 * c-tree.h (comptypes_check_different_types): Declare.
1806 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
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.
1819 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
1825 2010-05-23 Anatoly Sokolov <aesok@post.ru>
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):
1834 2010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
1837 * config/i386/i386.c: Make sure that the correct regparm is passed.
1839 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
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.
1848 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
1850 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
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
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.
1873 (mark_elimination): Update type of r to bitmap, consistent with
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.
1888 2010-05-22 Jan Hubicka <jh@suse.cz>
1890 * cgraph.h (struct varpool_node): Add same_comdat_group.
1891 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
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
1900 (varpool_analyze_pending_decls): Walk same comdat groups.
1902 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
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.
1911 2010-05-22 Joseph Myers <joseph@codesourcery.com>
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.
1920 2010-05-22 Richard Guenther <rguenther@suse.de>
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.
1928 2010-05-22 Anatoly Sokolov <aesok@post.ru>
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.
1934 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1936 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
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.
1943 2010-05-21 Joseph Myers <joseph@codesourcery.com>
1945 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
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
1954 (verbatim): Likewise.
1955 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
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.
2130 2010-05-22 Andreas Tobler <andreast@fgznet.ch>
2132 * tree-ssa-structalias.c: Remove tm_p.h from include.
2134 2010-05-21 Jeff Law <law@redhat.com>
2136 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
2138 2010-05-21 Jason Merrill <jason@redhat.com>
2140 * tree-eh.c (cleanup_is_dead_in): New.
2141 (lower_try_finally): Don't generate a dead cleanup region.
2142 (lower_cleanup): Likewise.
2144 2010-05-21 Jakub Jelinek <jakub@redhat.com>
2147 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
2148 unchain each use from the cyclic next_regno_use chain first.
2150 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
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.
2178 2010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2180 * config/s390/s390.c (override_options): Increase the default
2181 of max-completely-peel-times.
2183 2010-05-21 Julian Brown <julian@codesourcery.com>
2184 Mark Mitchell <mark@codesourcery.com>
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
2191 (*call_insn, *call_value_insn): Don't use for Thumb-2.
2192 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
2194 (return): New expander.
2195 (*arm_return): New name for ARM return insn.
2196 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
2198 2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
2200 * config.gcc (sparc64-*-rtems*): New target.
2202 2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
2204 * tree.c (build_function_decl_skip_args): Fix grammar.
2205 (build_function_type_list_1): Fix typos, adjust formatting.
2207 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
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.
2254 2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
2257 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
2258 statement has no arguments.
2260 2010-05-21 Kai Tietz <kai.tietz@onevision.com>
2263 * varasm.c (emutls_decl): Merge attributes to new decl.
2265 2010-05-21 Eric Botcazou <ebotcazou@adacore.com>
2268 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
2269 around the uniquized constructor if its type requires a conversion.
2271 2010-05-21 Jakub Jelinek <jakub@redhat.com>
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
2279 2009-09-14 Vladimir Makarov <vmakarov@redhat.com>
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.
2287 2010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
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
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.
2304 2010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
2306 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
2308 2010-05-20 Uros Bizjak <ubizjak@gmail.com>
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.
2317 2010-05-20 Jakub Jelinek <jakub@redhat.com>
2320 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
2321 setup_ref_regs for DEBUG_INSNs.
2323 2010-05-20 Jan Hubicka <jh@suse.cz>
2326 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
2328 2010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2331 * df-scan.c (df_ref_compare): Stabilize sort.
2333 2010-05-20 Jakub Jelinek <jakub@redhat.com>
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
2341 2010-05-20 Hans-Peter Nilsson <hp@axis.com>
2344 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
2345 settings for 16-bit-constant "addo" alternative.
2347 2010-05-19 James E. Wilson <wilson@codesourcery.com>
2349 * config/mips/mips-dsp.md (add<DSPV:mode>3,
2350 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
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.
2357 2010-05-19 Joseph Myers <joseph@codesourcery.com>
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
2364 2010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
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.
2372 2010-05-19 Anatoly Sokolov <aesok@post.ru>
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.
2383 2010-05-19 Eric Botcazou <ebotcazou@adacore.com>
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.
2399 2010-05-19 Nathan Froyd <froydnj@codesourcery.com>
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
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
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.
2421 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2423 * doc/sourcebuild.texi (Effective-Target Keywords): Document
2425 (Directives): Document optional dg-require-effective-target
2428 2010-05-19 Richard Guenther <rguenther@suse.de>
2431 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
2433 2010-05-19 Richard Guenther <rguenther@suse.de>
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.
2443 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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
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.
2454 2010-05-19 Martin Jambor <mjambor@suse.cz>
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
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.
2471 2010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
2473 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
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.
2489 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
2492 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
2494 * tree.h (build_call_list): Remove.
2495 * tree.c (build_call_list): Remove.
2497 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
2499 * tree.h (build_call_list): Remove.
2500 * tree.c (build_call_list): Remove.
2502 2010-05-18 Jan Hubicka <jh@suse.cz>
2504 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
2506 2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
2508 PR rtl-optimization/43332
2509 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
2511 2010-05-18 Anatoly Sokolov <aesok@post.ru>
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
2518 2010-05-18 Richard Guenther <rguenther@suse.de>
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.
2528 * collect2.c (maybe_run_lto_and_relink): Only pass object
2529 files to lto-wrapper.
2530 * gcc.c (LINK_COMMAND_SPEC): Likewise.
2532 2010-05-18 Jan Hubicka <jh@suse.cz>
2534 * opts.c (decode_options): Do not disable whopr at ipa_cp.
2535 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
2537 2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
2540 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
2542 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
2545 2010-05-18 Jakub Jelinek <jakub@redhat.com>
2548 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
2551 2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
2553 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
2554 lto-macho as lto_binary_reader.
2556 * darwin.c (darwin_asm_named_section): Do not add assembler comment
2557 after .section directive; just print it before the directive instead.
2559 2010-05-17 Jan Hubicka <jh@suse.cz>
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.
2566 2010-05-17 Jan Hubicka <jh@suse.cz>
2568 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
2569 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
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.
2580 2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
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.
2586 2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
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.
2592 2010-05-17 Jan Hubicka <jh@suse.cz>
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.
2609 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
2643 2010-05-17 Martin Jambor <mjambor@suse.cz>
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
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
2692 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2694 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
2696 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
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
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
2722 2010-05-17 Jakub Jelinek <jakub@redhat.com>
2725 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
2726 to have no fallthru edge.
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.
2734 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
2736 * tree.c (build_function_type_list_1): Remove bogus assert condition.
2738 2010-05-17 Alan Modra <amodra@gmail.com>
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.
2748 2010-05-17 Martin Jambor <mjambor@suse.cz>
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.
2759 2010-05-17 Bernd Schmidt <bernds@codesourcery.com>
2761 * function.c (try_fit_stack_local, add_frame_space): New static
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.
2771 2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
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.
2777 2010-05-17 Jakub Jelinek <jakub@redhat.com>
2779 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
2782 2010-05-16 Jan Hubicka <jh@suse.cz>
2784 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
2785 function body; do not check stdarg field of struct function.
2787 2010-05-16 Jan Hubicka <jh@suse.cz>
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
2796 2010-05-16 Jan Hubicka <jh@suse.cz>
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
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):
2825 2010-05-16 Richard Guenther <rguenther@suse.de>
2827 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
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.
2834 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
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.
2840 2010-05-16 Jan Hubicka <jh@suse.cz>
2842 * ipa.c (function_and_variable_visibility): Also bring local all
2845 2010-05-16 Richard Guenther <rguenther@suse.de>
2847 * alias.c (nonoverlapping_memrefs_p): Remove use of
2848 IPA type-escape information.
2850 2010-05-16 Joseph Myers <joseph@codesourcery.com>
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):
2871 2010-05-16 Anatoly Sokolov <aesok@post.ru>
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.
2884 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
2886 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
2887 BUILT_IN_ALLOCA if stack checking is enabled.
2889 2010-05-16 Richard Guenther <rguenther@suse.de>
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.
2907 2010-05-16 Richard Guenther <rguenther@suse.de>
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.
2913 2010-05-16 Steven Bosscher <steven@gcc.gnu.org>
2915 * c-decl.c: Don't include gimple.h.
2916 (merge_decls): Do not copy gimple_body.
2918 2010-05-15 Jason Merrill <jason@redhat.com>
2920 * c.opt: Add -fnothrow-opt.
2922 2010-05-15 Jan Hubicka <jh@suse.cz>
2924 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
2926 * passes.c (ipa_write_summaries): Write all analyzed nodes.
2928 2010-05-15 Steven Bosscher <steven@gcc.gnu.org>
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.
2936 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
2937 * except.h: Include vecir.h, break dependence on tree.h.
2939 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
2941 * tree-iterator.c: ...to here.
2942 * tree-iterator.h: Fix file introduction comment. Add extern markers.
2944 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
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.
2971 2010-05-15 Uros Bizjak <ubizjak@gmail.com>
2973 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
2975 2010-05-15 Joseph Myers <joseph@codesourcery.com>
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.
2987 2010-05-15 Eric Botcazou <ebotcazou@adacore.com>
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.
2998 2010-05-15 Nathan Froyd <froydnj@codesourcery.com>
3000 * tree.h (ctor_to_list): Delete.
3001 * tree.c (ctor_to_list): Delete.
3003 2010-05-15 Jan Hubicka <jh@suse.cz>
3005 * ipa-reference.c: Include toplev.h
3006 (is_proper_for_analysis): Only add to all_module_statics
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.
3022 2010-05-15 Richard Guenther <rguenther@suse.de>
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.
3028 2010-05-14 Jan Hubicka <jh@suse.cz>
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
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.
3072 2010-05-14 Jakub Jelinek <jakub@redhat.com>
3075 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
3076 for all SYMBOL_REF_DECLs.
3078 2010-05-14 Jan Hubicka <jh@suse.cz>
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.
3099 2010-05-14 Jan Hubicka <jh@suse.cz>
3101 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
3103 2010-05-14 Richard Guenther <rguenther@suse.de>
3105 PR tree-optimization/44119
3106 * tree-ssa-pre.c (eliminate): Properly mark replacement of
3107 a PHI node necessary.
3109 2010-05-14 Eric Botcazou <ebotcazou@adacore.com>
3111 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
3113 2010-05-14 Jason Merrill <jason@redhat.com>
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.
3122 * gimplify.c (gimplify_seq_add_stmt): No longer static.
3123 * gimple.h: Declare it.
3124 * gimple.c (gimple_build_eh_filter): No ops.
3126 2010-05-14 Jan Hubicka <jh@suse.cz>
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
3133 2010-05-14 Jakub Jelinek <jakub@redhat.com>
3136 * cfgexpand.c (expand_debug_expr): If non-memory op0
3137 has BLKmode, return NULL.
3139 2010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
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.
3199 2010-05-14 Pat Haugen <pthaugen@us.ibm.com>
3201 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
3204 2010-05-14 Tristan Gingold <gingold@adacore.com>
3206 * toplev.c (default_debug_hooks): Remove this variable.
3207 (process_options): Remove assignments to default_debug_hooks.
3209 2010-05-14 Martin Jambor <mjambor@suse.cz>
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
3215 * tree.c (free_lang_data): Remove assignment to
3216 lang_hooks.fold_obj_type_ref.
3217 * tree.def (OBJ_TYPE_REF): Update comment.
3219 2010-05-14 Richard Guenther <rguenther@suse.de>
3221 PR tree-optimization/44124
3222 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
3224 2010-05-14 Alan Modra <amodra@gmail.com>
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.
3232 2010-05-13 Jan Hubicka <jh@suse.cz>
3234 * varpool.c (decide_is_variable_needed): Drop code checking
3235 TREE_SYMBOL_REFERENCED.
3237 2010-05-13 Jan Hubicka <jh@suse.cz>
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.
3244 2010-05-13 Anatoly Sokolov <aesok@post.ru>
3246 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
3248 2010-05-13 Jeff Law <law@redhat.com>
3250 * ira-conflicts.c (print_allocno_conflicts): New function broken out
3252 (print_conflicts): Call print_allocno_conflicts.
3254 2010-05-13 Jakub Jelinek <jakub@redhat.com>
3257 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
3260 2010-05-13 Kai Tietz <kai.tietz@onevision.com>
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.
3267 2010-05-13 Martin Jambor <mjambor@suse.cz>
3269 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
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.
3280 2010-05-13 Andreas Schwab <schwab@linux-m68k.org>
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.
3288 2010-05-13 Jakub Jelinek <jakub@redhat.com>
3291 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
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.
3317 2010-05-12 Jan Hubicka <jh@suse.cz>
3319 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
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.
3326 * ipa.c (cgraph_remove_unreachable_nodes): Use
3327 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
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.
3333 2010-05-12 Jason Merrill <jason@redhat.com>
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.
3343 2010-05-12 Jan Hubicka <jh@suse.cz>
3345 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
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;
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
3376 2010-05-12 Sriraman Tallam <tmsriram@google.com>
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
3385 * Makefile.in (implicit-zee.o): Add new build file.
3387 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
3388 Nathan Froyd <froydnj@codesourcery.com>
3390 * c-common.c (sync_resolve_params): Remove write-only variable.
3392 2010-05-12 Anatoly Sokolov <aesok@post.ru>
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.
3405 2010-05-12 Kazu Hirata <kazu@codesourcery.com>