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