1 2009-04-28 Joseph Myers <joseph@codesourcery.com>
3 * config.gcc (powerpc*-*-* | rs6000-*-*): Add
4 rs6000/option-defaults.h to tm_file. Support cpu_32, cpu_64,
6 * doc/install.texi (--with-cpu-32, --with-cpu-64): Document
8 * config/rs6000/rs6000.h (OPTION_DEFAULT_SPECS): Move to ...
9 * config/rs6000/option-defaults.h: ... here. New file.
10 (OPT_64, OPT_32): Define.
11 (MASK_64BIT): Define to 0 if not already defined.
12 (OPT_ARCH64, OPT_ARCH32): Define.
13 (OPTION_DEFAULT_SPECS): Add entries for cpu_32, cpu_64, tune_32
16 2009-04-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
18 * config/arm/arm.c (arm_override_options): Emit error on using
21 2009-04-28 Uros Bizjak <ubizjak@gmail.com>
23 PR rtl-optimization/39914
24 * ira-conflicts.c (ira_build_conflicts): Prohibit call used
25 registers for allocnos created from user-defined variables only
28 2009-04-28 Richard Guenther <rguenther@suse.de>
31 * fold-const.c (fold_binary): Use distribute_real_division only
34 2009-04-28 Steve Ellcey <sje@cup.hp.com>
36 * config.gcc (hppa*64*-*-hpux11*): Set use_gcc_stdint and
37 add hpux-stdint.h to tm_file.
38 (hppa[12]*-*-hpux11*): Ditto.
39 (ia64*-*-hpux*): Ditto.
40 * config/hpux-stdint.h: New.
41 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Set
42 __STDC_EXT__ for all compiles.
43 * config/pa/pa-hpux.h: Ditto.
44 * config/pa/pa-hpux10.h: Ditto.
45 * config/pa/pa-hpux11.h: Ditto.
47 2009-04-28 Catherine Moore <clm@codesourcery.com>
49 * debug.h (set_name): Add comment.
51 2009-04-28 Andrew Pinski <pinskia@gmail.com>
54 * config/darwin.c (machopic_gen_offset): Check
55 currently_expanding_to_rtl if current_ir_type returns IR_GIMPLE.
56 * config/arm/arm.c (require_pic_register): Likewise.
58 2009-04-28 Paolo Bonzini <bonzini@gnu.org>
60 * config/m32c/m32c.c (TARGET_PROMOTE_FUNCTION_RETURN,
61 m32c_promote_function_return, TARGET_PROMOTE_PROTOTYPES,
62 m32c_promote_prototypes): Delete.
64 2009-04-28 Michael Matz <matz@suse.de>
67 * tree-outof-ssa.c (insert_value_copy_on_edge): Don't convert
70 2009-04-28 Richard Guenther <rguenther@suse.de>
72 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix type error.
74 2009-04-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
76 * config/arm/arm-cores.def: Add support for arm1156t2f-s.
77 * doc/invoke.texi (ARM Options): Document support for arm1156t2f-s.
78 * config/arm/arm-tune.md: Regenerate.
80 2009-04-28 Alexander Monakov <amonakov@ispras.ru>
82 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not attempt to delete a
83 block if there are complex incoming edges.
84 (sel_merge_blocks): Remove useless assert.
85 (sel_redirect_edge_and_branch): Check that edge was redirected.
86 * sel-sched-ir.h (_eligible_successor_edge_p): Remove assert.
87 (sel_find_rgns): Delete declaration.
88 * sel-sched.c (purge_empty_blocks): Attempt to remove first block of
89 the region when it is not a preheader.
91 2009-04-28 Uros Bizjak <ubizjak@gmail.com>
94 * config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Sync with elfos.h
96 2009-04-28 Richard Guenther <rguenther@suse.de>
98 * tree.h (SSA_NAME_VALUE): Remove.
99 (struct tree_ssa_name): Remove value_handle member.
100 * tree-vrp.c (execute_vrp): Initialize/free the value-handle
101 array for jump threading.
102 * tree-ssa-propagate.c (ssa_prop_init): Do not initialize
104 * print-tree.c (print_node): Do not dump SSA_NAME_VALUEs.
105 * tree-flow.h (threadedge_initialize_values): Declare.
106 (threadedge_finalize_values): Likewise.
107 * tree-ssa-threadedge.c (ssa_name_values): New global variable.
108 (SSA_NAME_VALUE): Define.
109 (threadedge_initialize_values): New function.
110 (threadedge_finalize_values): Likewise.
111 * tree-ssa-dom.c (ssa_name_values): New global variable.
112 (SSA_NAME_VALUE): Define.
113 (tree_ssa_dominator_optimize): Initialize/free the value-handle array.
115 2009-04-28 Ira Rosen <irar@il.ibm.com>
117 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
118 Use REPORT_VECTORIZED_LOCATIONS instead
119 REPORT_VECTORIZED_LOOPS.
120 * tree-vectorizer.c (vect_verbosity_level): Make static.
121 (vect_loop_location): Rename to vect_location.
122 (vect_set_verbosity_level): Update comment.
123 (vect_set_dump_settings): Use REPORT_VECTORIZED_LOCATIONS
125 (vectorize_loops): Fix comment. Use REPORT_VECTORIZED_LOCATIONS
126 and vect_location. Use REPORT_UNVECTORIZED_LOCATIONS
127 instead REPORT_UNVECTORIZED_LOOPS.
128 * tree-vectorizer.h (enum vect_def_type): Rename vect_invariant_def and
129 vect_loop_def to vect_external_def and vect_internal_def.
130 (enum verbosity_levels): Rename REPORT_VECTORIZED_LOOPS
131 and REPORT_UNVECTORIZED_LOOPS to REPORT_VECTORIZED_LOCATIONS and
132 REPORT_UNVECTORIZED_LOCATIONS.
133 (enum vect_relevant): Update comment. Rename vect_unused_in_loop
134 and vect_used_in_loop and to vect_unused_in_scope and
136 (STMT_VINFO_RELEVANT_P): Use vect_unused_in_scope.
137 (vect_verbosity_level): Remove declaration.
138 (vect_analyze_operations): Likewise.
139 (vect_analyze_stmt): Declare.
140 * tree-vect-loop.c (vect_determine_vectorization_factor): Use
141 REPORT_UNVECTORIZED_LOCATIONS.
142 (vect_get_loop_niters): Fix indentation.
143 (vect_analyze_loop_form): Use REPORT_UNVECTORIZED_LOCATIONS.
144 (vect_analyze_loop_operations): New function.
145 (vect_analyze_loop): Call vect_analyze_loop_operations instead of
146 vect_analyze_operations.
147 (vect_is_simple_reduction): Use new names.
148 (vectorizable_live_operation, vect_transform_loop): Likewise.
149 * tree-vect-data-refs.c (vect_check_interleaving): Add a return value to
150 specify whether the data references can be a part of interleaving chain.
151 (vect_analyze_data_ref_dependence): Use new names.
152 (vect_analyze_data_refs_alignment, vect_analyze_data_refs): Likewise.
153 (vect_create_addr_base_for_vector_ref): Remove redundant code.
154 * tree-vect-patterns.c (widened_name_p): Use new names.
155 (vect_recog_dot_prod_pattern): Likewise.
156 * tree-vect-stmts.c (vect_stmt_relevant_p): Use new names.
157 (process_use, vect_mark_stmts_to_be_vectorized,
158 vect_model_simple_cost, vect_model_store_cost,
159 vect_get_vec_def_for_operand, vect_get_vec_def_for_stmt_copy,
160 vectorizable_call, vectorizable_conversion, vectorizable_assignment,
161 vectorizable_operation, vectorizable_type_demotion,
162 vectorizable_type_promotion, vectorizable_store, vectorizable_load,
163 vectorizable_condition): Likewise.
164 (vect_analyze_operations): Split into vect_analyze_loop_operations
166 (vect_analyze_stmt): ... new function.
167 (new_stmt_vec_info): Use new names.
168 (vect_is_simple_use): Use new names and fix comment.
169 * tree-vect-slp.c (vect_get_and_check_slp_defs): Use new names.
170 (vect_build_slp_tree, vect_analyze_slp, vect_schedule_slp): Likewise.
172 2009-04-28 Uros Bizjak <ubizjak@gmail.com>
175 * config/i386/i386.c (print_operand) ['Z']: Handle floating point
176 and integer modes for x87 operands. Do not ICE for unsupported size,
177 generate error instead. Generate error for unsupported operand types.
178 ['z']: Do not handle HImode memory operands specially. Warning
179 for floating-point operands. Fallthru to 'Z' for unsupported operand
180 types. Do not ICE for unsupported size, generate error instead.
181 (output_387_binary_op): Use %Z to output operands.
182 (output_fp_compare): Ditto.
183 (output_387_reg_move): Ditto.
185 2009-04-28 Ben Elliston <bje@au.ibm.com>
190 2009-03-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
192 * builtins.c (c_strlen): Do not warn here.
193 * c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
194 * c-common.c (pointer_int_sum): Take an explicit location.
195 Warn about offsets out of bounds.
196 * c-common.h (pointer_int_sum): Adjust declaration.
198 2009-04-27 Ian Lance Taylor <iant@google.com>
200 * collect2.c (is_ctor_dtor): Change type of ret field in struct
202 * dce.c (run_fast_df_dce): Change type of old_flags to int.
203 * df-core.c (df_set_flags): Change return type to int. Change
204 type of old_flags to int.
205 (df_clear_flags): Likewise.
206 * df-scan.c (df_def_record_1): Change 0 to VOIDmode.
207 (df_get_conditional_uses): Likewise.
208 * df.h (df_set_flags, df_clear_flags): Update declarations.
209 * dwarf2out.c (struct indirect_string_node): Change type of form
210 field to enum dwarf_form.
211 (AT_string_form): Change return type to enum dwarf_form.
212 * fixed-value.c (fixed_compare): Add cast to enum type.
213 * fwprop.c (update_df): Change 0 to VOIDmode.
214 * gensupport.c: Change 0 to UNKNOWN.
215 * gimple.h (gimple_cond_code): Add cast to enum type.
216 * haifa-sched.c (reemit_notes): Add cast to enum type.
217 * hooks.c (hook_int_void_no_regs): Remove function.
218 * hooks.h (hook_int_void_no_regs): Remove declaration.
219 * optabs.c (expand_widen_pattern_expr): Change 0 to VOIDmode.
220 * predict.c (combine_predictions_for_insn): Add casts to enum type.
221 * real.c (real_arithmetic): Add cast to enum type.
222 (real_compare): Likewise.
223 * target.h (struct gcc_target): Change return type of
224 branch_target_register_class to enum reg_class.
225 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define as
226 default_branch_target_register_class.
227 * targhooks.c (default_branch_target_register_class): New function.
228 * targhooks.h (default_branch_target_register_class): Declare.
229 * tree-data-ref.c (print_direction_vector): Add cast to enum type.
230 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Remove
232 * tree-vect-loop.c (vect_create_epilog_for_reduction): Change 0 to
234 * tree-vect-slp.c (vect_build_slp_tree): Change 0 to
235 vect_uninitialized_def. Change 0 to ERROR_MARK.
236 * tree-vect-stmts.c (supportable_widening_operation): Don't
237 initialize icode1 and icode2.
238 * tree-vectorizer.h (enum vect_def_type): Add vect_uninitialized_def.
239 * config/sol2-c.c (cmn_err_length_specs): Change 0 to FMT_LEN_none
241 (cmn_err_flag_specs): Change 0 to STD_C89.
242 (cmn_err_char_table): Likewise.
243 * config/arm/arm.c (get_arm_condition_code): Change type of code
244 to enum arm_cond_code.
245 (IWMMXT_BUILTIN): Change 0 to UNKNOWN.
246 (IWMMXT_BUILTIN2): Likewise.
247 (neon_builtin_type_bits): Don't define typedef.
248 (neon_builtin_datum): Change type of bits field to int.
249 (arm_expand_neon_args): Add cast to enum type.
250 * config/ia64/ia64.c (tls_symbolic_operand_type): Change 0 to
252 * config/i386/i386.c (bdesc_multi_arg): Change 0 to UNKNOWN. Add
254 * config/mips/mips.c (LOONGSON_BUILTIN_ALIAS): Change 0 to
256 * config/mips/mips.md (jal_macro): Return enum constant.
257 (single_insn): Likewise.
258 * config/rs6000/rs6000.c (bdesc_altivec_preds): Change 0 to
260 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
262 * config/s390/s390.c (s390_tune_flags): Change type to int.
263 (s390_arch_flags): Likewise.
264 (s390_handle_arch_option): Change flags field of struct pta to int.
265 * config/s390/s390.h (s390_tune_flags): Update declaration.
266 (s390_arch_flags): Likewise.
267 * config/sh/sh.c (prepare_move_operands): Compare
268 tls_symbolic_operand result with enum constant.
269 (sh_reorg): Change PUT_MODE to PUT_REG_NOTE_KIND.
270 (sh_expand_prologue): Add cast to enum type.
271 (sh_expand_epilogue): Likewise.
272 (tls_symbolic_operand): Change return type to enum tls_model.
273 (fpscr_set_from_mem): Add cast to enum type.
274 (legitimize_pic_address): Compare tls_symbolic_operand result with
276 (sh_target_reg_class): Change return type to enum reg_class.
277 * config/sh/sh.h (OVERRIDE_OPTIONS): Change CPU_xxx to
279 * config/sh/sh-protos.h (tls_symbolic_operand): Update declaration.
280 * config/sparc/sparc.c (sparc_override_options): Add cast to enum type.
281 * config/sparc/sparc.md (empty_delay_slot): Return enum constant.
282 (pic, calls_alloca, calls_eh_return, leaf_function): Likewise.
283 (delayed_branch, tls_call_delay): Likewise.
284 (eligible_for_sibcall_delay): Likewise.
285 (eligible_for_return_delay): Likewise.
286 * config/spu/spu.c (expand_builtin_args): Add cast to enum type.
287 (spu_expand_builtin_1): Likewise.
289 * c-typeck.c (convert_for_assignment): Issue -Wc++-compat warnings
290 for all types of conversions.
291 (output_init_element): Issue -Wc++-compat warning if needed when
292 initializing a bitfield with enum type.
293 * c-parser.c (c_parser_expression): Set original_type to
294 original_type of right hand operand of comman operator.
296 2009-04-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
298 * doc/c-tree.texi (Types, Functions, Expression trees): Fix
300 * doc/cfg.texi (Maintaining the CFG, Liveness information): Likewise.
301 * doc/cpp.texi (Standard Predefined Macros)
302 (Implementation-defined behavior): Likewise.
303 * doc/extend.texi (Function Attributes, Type Attributes): Likewise.
304 * doc/gimple.texi (GIMPLE Exception Handling)
305 (@code{GIMPLE_ASSIGN}): Likewise.
306 * doc/install.texi (Prerequisites, Configuration, Specific): Likewise.
307 * doc/invoke.texi (Warning Options, Optimize Options)
308 (AVR Options, Darwin Options): Likewise.
309 (Optimize Options): Reformulate -fwhole-program description.
310 * doc/loop.texi (Lambda): Likewise.
311 * doc/md.texi (Output Template, Define Constraints)
312 (Standard Names, Insn Splitting): Likewise.
313 * doc/options.texi (Option properties): Likewise.
314 * doc/passes.texi (Tree-SSA passes): Likewise.
315 * doc/rtl.texi (Side Effects, Assembler, Insns): Likewise.
316 * doc/tm.texi (Register Classes, Old Constraints, Scalar Return)
317 (File Names and DBX): Likewise.
318 * doc/trouble.texi (Incompatibilities): Likewise.
320 2009-04-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
322 * spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
323 instruction is correct.
325 2009-04-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
327 Allow non-constant arguments to conversion intrinsics.
328 * spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare.
329 * predicates.md (spu_inv_exp2_operand, spu_exp2_operand): New.
330 * spu.c (print_operand): Handle 'v' and 'w'.
331 (exp2_immediate_p, spu_gen_exp2): Define.
332 * spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0,
333 spu_convtf_1): Update parameter descriptions.
334 * spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu): Update.
335 * constraints.md ('v', 'w'): New.
336 * spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU):
338 (i2f, I2F): New define_mode_attr.
339 (floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2,
340 floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2,
341 fixuns_truncv4sfv4si2): Update to use mode attribute.
342 (float<mode><i2f>2_mul, float<mode><i2f>2_div,
343 fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul,
344 floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New
345 patterns for combine.
347 2009-04-27 Steven Bosscher <steven@gcc.gnu.org>
349 * dbgcnt.def (cprop1, cprop2, gcse, jump_bypass): Remove
350 (cprop, hoist, pre, store_motion): New debug counters.
351 * tree-pass.h (pass_tracer): Move to list of gimple passes, it
352 is not an RTL pass anymore.
353 (pass_profiling): Remove extern decl for pass removed in 2005.
354 (pass_gcse, pass_jump_bypass): Remove.
355 * final.c (rest_of_clean_state): Set flag_rerun_cse_after_global_opts
356 to 0 for clean state.
357 * toplev.h (flag_rerun_cse_after_global_opts): Add extern declaration.
358 * cse.c (gate_handle_cse_after_global_opts,
359 rest_of_handle_cse_after_global_opts): New functions.
360 (pass_cse_after_global_opts): New pass, does local CSE.
361 * timevar.def (TV_GCSE, TV_CPROP1, TV_CPROP2, TV_BYPASS): Remove.
362 (TV_CPROP): New timevar.
363 * gcse.c (flag_rerun_cse_after_global_opts): New global variable.
364 (run_jump_opt_after_gcse, max_gcse_regno): Remove global vars.
365 (gcse_main, recompute_all_luids): Remove.
366 (compute_hash_table_work): Call max_reg_num instead of reading
368 (cprop_jump): Don't set run_jump_opt_after_gcse.
369 (constprop_register): Always allow to alter jumps.
370 (cprop_insn): Likewise.
371 (do_local_cprop): Likewise.
372 (local_cprop_pass): Likewise. Return non-zero if something changed.
373 (cprop): Remove function, fold interesting bits into one_cprop_pass.
374 (find_implicit_sets): Add note about missed optimization opportunity.
375 (one_cprop_pass): Rewrite to be "the" CPROP pass, called from the
376 pass_rtl_cprop execute function.
377 Don't bother tracking the pass number, each pass gets its own dumpfile
379 Always allow to alter jumpsand bypass jumps.
380 (bypass_block): Don't ignore regno >= max_gcse_regno, find_bypass_set
381 will just find no suitable set.
382 (pre_edge_insert): Fix dumping, this function is for PRE only.
383 (one_pre_gcse_pass): Rewrite to be "the" PRE pass, called from the
384 pass_rtl_pre execute function.
385 (hoist_code): Return non-zero if something changed. Keep track of
386 substitutions and insertions for statistics gathering similar to PRE.
387 (one_code_hoisting_pass): Rewrite to be "the" code hoisting pass,
388 called from the pass_rtl_hoist execute function. Show pass statistics.
389 (compute_store_table): Use max_reg_num directly instead of using the
390 formerly global max_gcse_regno.
391 (build_store_vectors): Likewise.
392 (replace_store_insn): Fix dumping.
393 (store_motion): Rename to ...
394 (one_store_motion_pass): ... this. Rewrite to be "the" STORE_MOTION
395 pass, called from the pass_rtl_store_motion execute function. Keep
396 track of substitutions and insertions for statistics gathering similar
398 (bypass_jumps): Remove, fold interesting bits into ...
399 (one_cprop_pass): ... this. Rewrite to be "the" CPROP pass, called
400 from the pass_rtl_cprop execute function.
401 (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
402 pass_jump_bypass): Remove.
403 (gate_handle_gcse, rest_of_handle_gcse): Remove.
404 (gate_rtl_cprop, execute_rtl_cprop, pass_rtl_cprop): New.
405 (gate_rtl_pre, execute_rtl_pre, pass_rtl_pre): New.
406 (gate_rtl_hoist, execute_rtl_hoist, pass_rtl_hoist): New.
407 (gate_rtl_store_motion, execute_rtl_store_motion,
408 pass_rtl_store_motion): New.
409 * common.opt: Remove flag_cse_skip_blocks, adjust documentation to
410 make it clear that -fcse-skip-blocks is a no-op for backward compat.
411 * passes.c (init_optimization_passes): Remove pass_gcse and
412 pass_jump_bypass. Schedule cprop, pre, hoist, cprop, store_motion,
413 and cse_after_global_opts in place of pass_gcse. Schedule cprop
414 instead of pass_jump_bypass.
416 2009-04-27 Richard Guenther <rguenther@suse.de>
419 * gimplify.c (gimplify_expr): If we are required to create
420 a temporary make sure it ends up as register.
422 2009-04-27 H.J. Lu <hongjiu.lu@intel.com>
425 * config/i386/i386.c (construct_container): Don't call
426 gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS,
427 X86_64_SSESF_CLASS and X86_64_SSEDF_CLASS.
429 2009-04-27 Michael Matz <matz@suse.de>
431 * ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap.
432 (get_gimple_for_ssa_name): Adjust, lookup using SSA_NAME_DEF_STMT.
433 * tree-ssa-live.h: (find_replaceable_exprs): Return a bitmap.
434 (dump_replaceable_exprs): Take a bitmap.
435 * cfgexpand.c (gimple_cond_pred_to_tree): Handle bitmap instead of
437 (expand_gimple_basic_block): Likewise.
438 * tree-ssa-ter.c (struct temp_expr_table_d): Make
439 replaceable_expressions member a bitmap.
440 (free_temp_expr_table): Pass back and deal with bitmap, not gimple*.
441 (mark_replaceable): Likewise.
442 (find_replaceable_in_bb, dump_replaceable_exprs): Likewise.
443 * tree-outof-ssa.c (remove_ssa_form): 'values' is a bitmap.
445 2009-04-27 Richard Guenther <rguenther@suse.de>
447 * tree-cfg.c (remove_useless_stmts): Verify stmts afterwards.
448 (verify_stmts): Dispatch to gimple/type verification code.
449 * tree-inline.c (remap_gimple_op_r): Work around C++ FE
450 issue with call argument types.
452 2009-04-27 Michael Matz <matz@suse.de>
454 * tree-into-ssa.c (regs_to_rename, mem_syms_to_rename): Remove.
455 (init_update_ssa, delete_update_ssa, update_ssa): Remove references
458 2009-04-27 Richard Sandiford <rdsandiford@googlemail.com>
459 Eric Botcazou <ebotcazou@adacore.com>
461 * resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
462 a label's basic block.
463 (mark_target_live_regs): Tidy and rework obsolete comments.
464 Change back DF problem to LIVE. If a label starts a basic block,
465 assume that all registers that used to be live then still are.
466 (init_resource_info): If a label starts a basic block, set its
467 BLOCK_FOR_INSN accordingly.
468 (fini_resource_info): Undo the setting of BLOCK_FOR_INSN.
470 2009-04-27 Richard Guenther <rguenther@suse.de>
472 * tree-flow-inline.h (function_ann): Remove.
473 (get_function_ann): Likewise.
474 * tree-dfa.c (create_function_ann): Remove.
475 * tree-flow.h (struct static_var_ann_d): Remove.
476 (struct function_ann_d): Likewise.
477 (union tree_ann_d): Remove fdecl member.
478 (function_ann_t): Remove.
479 (function_ann, get_function_ann, create_function_ann): Remove
482 2009-04-27 Uros Bizjak <ubizjak@gmail.com>
484 * config/alpha/alpha.c (code_for_builtin): Declare as enum insn_code.
486 2009-04-27 Jan Hubicka <jh@suse.cz>
488 * ipa-pure-const.c (struct funct_state_d): New fields
489 state_previously_known, looping_previously_known; remove
491 (analyze_function): Use new fields.
492 (propagate): Avoid assumption that state_set_in_source imply
495 * tree-ssa-loop-niter.c (finite_loop_p): New function.
496 * tree-ssa-loop-ivcanon.c (empty_loop_p): Use it.
497 * cfgloop.h (finite_loop_p): Declare.
499 2009-04-26 Michael Matz <matz@suse.de>
501 * tree-flow.h (tree_ann_common_d): Remove aux and value_handle members.
503 2009-04-26 Michael Matz <matz@suse.de>
505 * tree-pass.h (pass_del_ssa, pass_mark_used_blocks,
506 pass_free_cfg_annotations, pass_free_datastructures): Remove decls.
507 * gimple-low.c (mark_blocks_with_used_vars, mark_used_blocks,
508 pass_mark_used_blocks): Remove.
509 * tree-optimize.c (pass_free_datastructures,
510 execute_free_cfg_annotations, pass_free_cfg_annotations): Remove.
511 * passes.c (init_optimization_passes): Don't call
512 pass_mark_used_blocks, remove dead code.
514 2009-04-26 H.J. Lu <hongjiu.lu@intel.com>
516 * tree-outof-ssa.c (rewrite_trees): Add ATTRIBUTE_UNUSED.
517 * tree-ssa-live.h (register_ssa_partition): Likewise.
519 2009-04-26 Michael Matz <matz@suse.de>
522 * builtins.c (fold_builtin_next_arg): Handle SSA names.
523 * tree-ssa-copyrename.c (rename_ssa_copies): Use ssa_name() directly.
524 * tree-ssa-coalesce.c (create_outofssa_var_map): Mark only useful
526 (compare_pairs): Swap cost comparison.
527 (coalesce_ssa_name): Don't use change_partition_var.
528 * tree-nrv.c (struct nrv_data): Add modified member.
529 (finalize_nrv_r): Set it.
530 (tree_nrv): Use it to update statements.
531 (pass_nrv): Require PROP_ssa.
532 * tree-mudflap.c (mf_decl_cache_locals,
533 mf_build_check_statement_for): Use make_rename_temp.
534 (pass_mudflap_2): Require PROP_ssa, run ssa update at finish.
535 * alias.c (find_base_decl): Handle SSA names.
536 * emit-rtl (set_reg_attrs_for_parm): Make non-static.
537 (component_ref_for_mem_expr): Don't leak SSA names into RTL.
538 * rtl.h (set_reg_attrs_for_parm): Declare.
539 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Rename
540 to "optimized", remove unused locals at finish.
541 (execute_free_datastructures): Make global, call
542 delete_tree_cfg_annotations.
543 (execute_free_cfg_annotations): Don't call
544 delete_tree_cfg_annotations.
546 * ssaexpand.h: New file.
547 * expr.c (toplevel): Include ssaexpand.h.
548 (expand_assignment): Handle SSA names the same as register variables.
549 (expand_expr_real_1): Expand SSA names.
550 * cfgexpand.c (toplevel): Include ssaexpand.h.
551 (SA): New global variable.
552 (gimple_cond_pred_to_tree): Fold TERed comparisons into predicates.
554 (set_rtl): New helper function.
555 (add_stack_var): Deal with SSA names, use set_rtl.
556 (expand_one_stack_var_at): Likewise.
557 (expand_one_stack_var): Deal with SSA names.
558 (stack_var_size_cmp): Use code (SSA_NAME / DECL) as tie breaker
559 before unique numbers.
560 (expand_stack_vars): Use set_rtl.
561 (expand_one_var): Accept SSA names, add asserts for them, feed them
562 to above subroutines.
563 (expand_used_vars): Expand all partitions (without default defs),
564 then only the local decls (ignoring those expanded already).
565 (expand_gimple_cond): Remove edges when jumpif() expands an
567 (expand_gimple_basic_block): Don't clear EDGE_EXECUTABLE here,
568 or remove abnormal edges. Ignore insns setting the LHS of a TERed
570 (gimple_expand_cfg): Call into rewrite_out_of_ssa, initialize
571 members of SA; deal with PARM_DECL partitions here; expand
572 all PHI nodes, free tree datastructures and SA. Commit instructions
573 on edges, clear EDGE_EXECUTABLE and remove abnormal edges here.
574 (pass_expand): Require and destroy PROP_ssa, verify SSA form, flow
575 info and statements at start, collect garbage at finish.
576 * tree-ssa-live.h (struct _var_map): Remove partition_to_var member.
577 (VAR_ANN_PARTITION) Remove.
578 (change_partition_var): Don't declare.
579 (partition_to_var): Always return SSA names.
580 (var_to_partition): Only accept SSA names.
581 (register_ssa_partition): Only check argument.
582 * tree-ssa-live.c (init_var_map): Don't allocate partition_to_var
584 (delete_var_map): Don't free it.
585 (var_union): Only accept SSA names, simplify.
586 (partition_view_init): Mark only useful SSA names as used.
587 (partition_view_fini): Only deal with SSA names.
588 (change_partition_var): Remove.
589 (dump_var_map): Use ssa_name instead of partition_to_var member.
590 * tree-ssa.c (delete_tree_ssa): Don't remove PHI nodes on RTL
592 * tree-outof-ssa.c (toplevel): Include ssaexpand.h and expr.h.
593 (struct _elim_graph): New member const_dests; nodes member vector of
595 (set_location_for_edge): New static helper.
596 (create_temp): Remove.
597 (insert_partition_copy_on_edge, insert_part_to_rtx_on_edge,
598 insert_value_copy_on_edge, insert_rtx_to_part_on_edge): New functions.
599 (new_elim_graph): Allocate const_dests member.
600 (clean_elim_graph): Truncate const_dests member.
601 (delete_elim_graph): Free const_dests member.
602 (elim_graph_size): Adapt to new type of nodes member.
603 (elim_graph_add_node): Likewise.
604 (eliminate_name): Likewise.
605 (eliminate_build): Don't take basic block argument, deal only with
606 partition numbers, not variables.
607 (get_temp_reg): New static helper.
608 (elim_create): Use it, deal with RTL temporaries instead of trees.
609 (eliminate_phi): Adjust all calls to new signature.
610 (assign_vars, replace_use_variable, replace_def_variable): Remove.
611 (rewrite_trees): Only do checking.
612 (edge_leader, stmt_list, leader_has_match, leader_match): Remove.
613 (same_stmt_list_p, identical_copies_p, identical_stmt_lists_p,
614 init_analyze_edges_for_bb, fini_analyze_edges_for_bb,
615 contains_tree_r, MAX_STMTS_IN_LATCH,
616 process_single_block_loop_latch, analyze_edges_for_bb,
617 perform_edge_inserts): Remove.
618 (expand_phi_nodes): New global function.
619 (remove_ssa_form): Take ssaexpand parameter. Don't call removed
620 functions, initialize new parameter, remember partitions having a
622 (finish_out_of_ssa): New global function.
623 (rewrite_out_of_ssa): Make global. Adjust call to remove_ssa_form,
624 don't reset in_ssa_p here, don't disable TER when mudflap.
625 (pass_del_ssa): Remove.
626 * tree-flow.h (struct var_ann_d): Remove out_of_ssa_tag and
628 (execute_free_datastructures): Declare.
629 * Makefile.in (SSAEXPAND_H): New variable.
630 (tree-outof-ssa.o, expr.o, cfgexpand.o): Depend on SSAEXPAND_H.
631 * basic-block.h (commit_one_edge_insertion): Declare.
632 * passes.c (init_optimization_passes): Move pass_nrv and
633 pass_mudflap2 before pass_cleanup_cfg_post_optimizing, remove
634 pass_del_ssa, pass_free_datastructures, pass_free_cfg_annotations.
635 * cfgrtl.c (commit_one_edge_insertion): Make global, don't declare.
636 (redirect_branch_edge): Deal with super block when expanding, split
637 out jump patching itself into ...
638 (patch_jump_insn): ... here, new static helper.
640 2009-04-26 Michael Matz <matz@suse.de>
642 * tree-ssa-copyrename.c (rename_ssa_copies): Don't iterate
643 beyond num_ssa_names.
644 * tree-ssa-ter.c (free_temp_expr_table): Likewise.
645 * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
647 2009-04-26 Jakub Jelinek <jakub@redhat.com>
650 * fwprop.c (forward_propagate_asm): New function.
651 (forward_propagate_and_simplify): Propagate also into __asm, if it
652 doesn't increase the number of referenced registers.
655 * stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.
657 2009-04-26 Jakub Jelinek <jakub@redhat.com>
659 * tree-nested.c (get_nonlocal_vla_type): If not optimizing, call
660 note_nonlocal_vla_type for nonlocal VLAs.
661 (note_nonlocal_vla_type, note_nonlocal_block_vlas,
662 contains_remapped_vars, remap_vla_decls): New functions.
663 (convert_nonlocal_reference_stmt): If not optimizing, call
664 note_nonlocal_block_vlas on GIMPLE_BIND block vars.
665 (nesting_copy_decl): Return {VAR,PARM,RESULT}_DECL unmodified
666 if it wasn't found in var_map.
667 (finalize_nesting_tree_1): Call remap_vla_decls. If outermost
668 GIMPLE_BIND doesn't have gimple_bind_block, chain debug_var_chain
669 to BLOCK_VARS (DECL_INITIAL (root->context)) instead of calling
671 * gimplify.c (nonlocal_vlas): New variable.
672 (gimplify_var_or_parm_decl): Add debug VAR_DECLs for non-local
674 (gimplify_body): Create and destroy nonlocal_vlas.
676 * dwarf2out.c (loc_descr_plus_const): New function.
677 (build_cfa_aligned_loc, tls_mem_loc_descriptor,
678 mem_loc_descriptor, loc_descriptor_from_tree_1,
679 descr_info_loc, gen_variable_die): Use it.
681 * tree.h (DECL_BY_REFERENCE): Note that it is also valid for
682 !TREE_STATIC VAR_DECLs.
683 * dwarf2out.c (loc_by_reference, gen_decl_die): Handle
684 DECL_BY_REFERENCE on !TREE_STATIC VAR_DECLs.
685 (gen_variable_die): Likewise. Don't look at TREE_PRIVATE if
686 DECL_BY_REFERENCE is valid.
687 * dbxout.c (DECL_ACCESSIBILITY_CHAR): Don't look at TREE_PRIVATE
688 for PARM_DECLs, RESULT_DECLs or !TREE_STATIC VAR_DECLs.
689 * tree-nested.c (get_nonlocal_debug_decl, get_local_debug_decl):
690 Copy DECL_BY_REFERENCE.
691 (struct nesting_copy_body_data): New type.
692 (nesting_copy_decl): New function.
693 (finalize_nesting_tree_1): Remap types of debug_var_chain variables,
694 if they have variable length.
696 2009-04-26 Michael Matz <matz@suse.de>
698 * tree-sra.c (sra_build_assignment): Don't use into_ssa mode,
699 mark new temporaries for renaming.
701 2009-04-26 Joseph Myers <joseph@codesourcery.com>
704 * c-decl.c (global_bindings_p): Return negative value.
705 (c_variable_size): New. Based on variable_size from
707 (grokdeclarator): Call c_variable_size not variable_size.
709 2009-04-26 Uros Bizjak <ubizjak@gmail.com>
711 * config/i386/i386.c (print_operand) ['z']: Fix typo.
713 2009-04-26 Kai Tietz <kai.tietz@onevision.com>
715 * config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR):
716 Redefine it to just use mingw/include.
717 (ASM_SPEC): Rules for -m32 and -m64.
718 (LINK_SPEC): Use Likewise.
719 (SPEC_32): New define.
721 (SUB_LINK_SPEC): Likewise.
722 (MULTILIB_DEFAULTS): New define.
723 * config/i386/t-mingw-w64 (MULTILIB_OPTIONS):
724 Add multilib options.
725 (MULTILIB_DIRNAMES): Likewise.
726 (MULTILIB_OSDIRNAMES): Likewise.
728 (INSTALL_LIBGCC): Likewise.
730 2009-04-26 Joseph Myers <joseph@codesourcery.com>
733 * c-tree.h (enum c_inline_static_type): New.
734 (record_inline_static): Declare.
735 * c-decl.c (struct c_inline_static, c_inline_statics,
736 record_inline_static, check_inline_statics): New.
737 (pop_file_scope): Call check_inline_statics.
738 (start_decl): Call record_inline_static instead of pedwarning
739 directly for static in inline function.
740 * c-typeck.c (build_external_ref): Call record_inline_static
741 instead of pedwarning directly for static referenced in inline
744 2009-04-26 Steven Bosscher <steven@gcc.gnu.org>
746 * df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is
747 not new but only being rescanned.
748 * gcse.c (uid_cuid, max_uid, INSN_CUID, max_cuid, struct reg_set,
749 reg_set_table, REG_SET_TABLE_SLOP, reg_set_in_block,
750 alloc_reg_set_mem, free_reg_set_mem, record_one_set,
751 record_set_info, compute_set, grealloc): Remove.
752 (recompute_all_luids): New function.
753 (gcse_main): Don't compute sets, and don't do related memory
754 allocations/free-ing. If something changed before the end of the
755 pass, update LUIDs using recompute_all_luids.
756 (alloc_gcse_mem): Don't compute LUIDs. Don't allocate reg_set memory.
757 (free_gcse_mem): Don't free it either.
758 (oprs_unchanged_p, load_killed_in_block, record_last_reg_set_info):
759 Use the df insn LUIDs.
760 (load_killed_in_block): Likewise.
761 (compute_hash_table_work): Don't compute reg_set_in_block.
762 (compute_transp): Use DF_REG_DEF_CHAINs.
763 (local_cprop_pass): Don't use compute_sets and related functions.
764 (one_cprop_pass, pre_gcse, one_pre_gcse_pass, one_code_hoisting_pass):
765 Use get_max_uid() instead of max_cuid.
766 (insert_insn_end_basic_block, pre_insert_copy_insn,
767 update_ld_motion_stores): Don't try to
768 keep reg_set tables up to date.
769 (pre_insert_copies): Use df insn LUIDs.
770 (sbitmap pre_redundant_insns): Replace with uses of INSN_DELETED_P.
771 (reg_set_info): Don't use extra bitmap argument.
772 (compute_store_table): Don't compute reg_set_in_block. Use DF scan
773 information to compute regs_set_in_block.
774 (free_store_memory, store_motion): Don't nullify reg_set_in_block.
775 (bypass_jumps): Don't use compute_sets and friends.
777 2009-04-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
780 * opts.c (undocumented_msg): Do not leave blank even with
783 2009-04-25 Joseph Myers <joseph@codesourcery.com>
785 * c-decl.c (build_enumerator): Allow values folding to integer
786 constants but not integer constant expressions with a pedwarn if
789 2009-04-25 Joseph Myers <joseph@codesourcery.com>
792 * c-typeck.c (c_expr_sizeof_type): Create a C_MAYBE_CONST_EXPR
793 with non-null C_MAYBE_CONST_EXPR_PRE if size of a variable-length
794 type is an integer constant.
796 2009-04-25 Uros Bizjak <ubizjak@gmail.com>
799 * config/i386/i386.c (print_operand) ['z']: Revert handling of
802 2009-04-25 Joseph Myers <joseph@codesourcery.com>
805 * c-decl.c (grokdeclarator): Diagnose declarations of functions
806 with variably modified return type and no storage class
807 specifiers, except for the case of nested functions. Distinguish
808 extern declarations of functions with variably modified return
809 types from those of objects with variably modified types.
811 2009-04-25 Jan Hubicka <jh@suse.cz>
813 * tree.c (list_equal_p): New function.
814 * tree.h (list_equal_p): Declare.
815 * coretypes.h (edge_def, edge, const_edge, basic_block_def
816 basic_block_def, basic_block, const_basic_block): New.
817 * tree-eh.c (make_eh_edge): EH edges are not abnormal.
818 (redirect_eh_edge): New function.
819 (make_eh_edge_update_phi): EH edges are not abnormal.
820 * except.c: Include tree-flow.h.
821 (list_match): New function.
822 (eh_region_replaceable_by_p): New function.
823 (replace_region): New function.
824 (hash_type_list): New function.
825 (hash_eh_region): New function.
826 (eh_regions_equal_p): New function.
827 (merge_peers): New function.
828 (remove_unreachable_regions): Verify EH tree when checking;
830 (copy_eh_region_1): New function.
831 (copy_eh_region): New function.
832 (push_reachable_handler): New function.
833 (build_post_landing_pads, dw2_build_landing_pads): Be ready for
834 regions without label but with live RESX.
835 * except.h (redirect_eh_edge_to_label): New.
836 * tree-flow.h (redirect_eh_edge): New.
837 * coretypes.h (edge_def, edge, const_edge, basic_block_def
838 basic_block_def, basic_block, const_basic_block): Remove.
839 * Makefile.in (except.o): Add dependency on tree-flow.h
840 * tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges.
841 * basic-block.h (edge, const_edge, basic_block, const_basic_block):
844 2009-04-25 Eric Botcazou <ebotcazou@adacore.com>
847 * config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE
848 on the destination of memcpy.
850 2009-04-25 Paolo Bonzini <bonzini@gnu.org>
852 * doc/tm.texi (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
853 REGNO_MODE_OK_FOR_REG_BASE_P, REGNO_MODE_CODE_OK_FOR_BASE_P,
854 REGNO_OK_FOR_INDEX_P): Mention strict/nonstrict difference.
856 2009-04-25 Jan Hubicka <jh@suse.cz>
858 * tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
859 (tree_empty_eh_handler_p): Allow non-EH predecestors; allow region
860 to be reached by different label than left.
861 (update_eh_edges): Update comment; remove edge_to_remove if possible
862 and return true if suceeded.
863 (cleanup_empty_eh): Accept sharing map; handle shared regions.
864 (cleanup_eh): Compute sharing map.
865 * except.c (remove_eh_handler_and_replace): Add argument if we should
867 (remove_unreachable_regions): Update for label sharing.
868 (label_to_region_map): Likewise.
869 (get_next_region_sharing_label): New function.
870 (remove_eh_handler_and_replace): Add update_catch_try parameter; update
872 (remove_eh_handler): Update.
873 (remove_eh_region_and_replace_by_outer_of): New function.
874 * except.h (struct eh_region): Add next_region_sharing_label.
875 (remove_eh_region_and_replace_by_outer_of,
876 get_next_region_sharing_label): Declare.
877 * tree-cfgcleanup.c (tree_forwarder_block_p): Simplify.
879 2009-04-25 Jan Hubicka <jh@suse.cz>
881 * tree-cfg.c (split_critical_edges): Split also edges where we can't
882 insert code even if they are not critical.
884 2009-04-25 Jan Hubicka <jh@suse.cz>
886 * tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
887 (gimple_can_remove_branch_p): EH edges won't remove branch by
889 * tree-inline.c (update_ssa_across_abnormal_edges): Do handle
890 updating of non-abnormal EH edges.
891 * tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
892 (gimple_can_remove_branch_p): EH edges are unremovable by redirection.
893 (split_critical_edges): Split also edges where emitting code on them
894 will lead to splitting later.
896 2009-04-25 Uros Bizjak <ubizjak@gmail.com>
897 H.J. Lu <hongjiu.lu@intel.com>
900 * configure.ac (HAVE_AS_IX86_FILDQ): On x86 targets check whether
901 the configured assembler supports fildq and fistpq mnemonics.
902 (HAVE_AS_IX86_FILDS): Rename from HAVE_GAS_FILDS_FISTS.
903 * configure: Regenerated.
906 * config/i386/i386.c (print_operand): Handle 'Z'.
907 ['z']: Remove handling of special fild/fist suffixes.
908 (output_fix_trunc): Use '%Z' to output suffix of fist{,p,tp} insn.
909 * config/i386/i386.md (*floathi<mode>2_i387): Use '%Z' to output
911 (*floatsi<mode>2_vector_mixed): Ditto.
912 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Ditto.
913 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
914 (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto.
915 (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387): Ditto.
916 * config/i386/gas.h (GAS_MNEMONICS): Remove.
918 2009-04-25 Ben Elliston <bje@au.ibm.com>
920 * genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as
921 the source of a set operation.
923 2009-04-25 Anatoly Sokolov <aesok@post.ru>
925 * target.h (struct gcc_target): Add case_values_threshold field.
926 * target-def.h (TARGET_CASE_VALUES_THRESHOLD): New.
927 (TARGET_INITIALIZER): Use TARGET_CASE_VALUES_THRESHOLD.
928 * targhooks.c (default_case_values_threshold): New function.
929 * targhooks.h (default_case_values_threshold): Declare function.
930 * stmt.c (expand_case): Use case_values_threshold target hook.
931 * expr.h (case_values_threshold): Remove declartation.
932 * expr.c (case_values_threshold): Remove function.
933 * doc/tm.texi (CASE_VALUES_THRESHOLD): Revise documentation.
935 * config/avr/avr.h (CASE_VALUES_THRESHOLD): Remove macro.
936 * config/avr/avr.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
937 (avr_case_values_threshold): Declare as static.
938 * config/avr/avr-protos.h (avr_case_values_threshold): Remove.
940 * config/avr/mn10300.h (CASE_VALUES_THRESHOLD): Remove macro.
941 * config/avr/mn10300.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
942 (mn10300_case_values_threshold): New function.
944 2009-04-24 H.J. Lu <hongjiu.lu@intel.com>
946 * ira.c (setup_cover_and_important_classes): Add enum cast.
948 2009-04-24 Vladimir Makarov <vmakarov@redhat.com>
950 * genpreds.c (write_enum_constraint_num): Output definition of
951 CONSTRAINT_NUM_DEFINED_P macro.
952 * ira.c (setup_cover_and_important_classes): Use
953 CONSTRAINT_NUM_DEFINED_P instead of CONSTRAINT__LIMIT in #ifdef.
955 2009-04-24 DJ Delorie <dj@redhat.com>
957 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test
958 __SH2A_SINGLE_ONLY__ also.
960 2009-04-24 Steve Ellcey <sje@cup.hp.com>
962 * config/ia64/ia64.md (movfs_internal): Allow flt constants.
963 (movdf_internal): Ditto.
964 * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow
965 SFmode and DFmode constants.
966 (ia64_print_operand): Add 'G' format for printing
967 floating point constants.
969 2009-04-24 Richard Guenther <rguenther@suse.de>
971 * tree-vrp.c (extract_range_from_binary_expr): Handle overflow
972 from unsigned additions.
974 2009-04-24 Joseph Myers <joseph@codesourcery.com>
976 * c-typeck.c (set_init_index): Allow array designators that are
977 not integer constant expressions with a pedwarn if pedantic.
979 2009-04-24 Bernd Schmidt <bernd.schmidt@analog.com>
981 * simplify-rtx.c (simplify_binary_operation_1, case AND): Result is
982 zero if no overlap in nonzero bits between the operands.
984 2009-04-24 Ian Lance Taylor <iant@google.com>
986 * combine.c (record_value_for_reg): Change 0 to VOIDmode, twice.
987 (record_dead_and_set_regs): Likewise.
988 * df.h (struct df_mw_hardreg): Change flags field to int.
989 (struct df_base_ref): Likewise.
990 (struct df): Change changeable_flags field to int.
991 * df-scan.c (df_defs_record): Change clobber_flags to int.
992 * dwarf2.h (enum dwarf_tag): Make lo_user and hi_user values enum
993 constants rather than #define macros.
994 (enum dwarf_attribute, enum dwarf_location_atom): Likewise.
995 (enum dwarf_type, enum dwarf_endianity_encoding): Likewise.
996 (enum dwarf_calling_convention): Likewise.
997 (enum dwarf_line_number_x_ops): Likewise.
998 (enum dwarf_call_frame_info): Likewise.
999 (enum dwarf_source_language): Likewise.
1000 * dwarf2out.c (int_loc_descriptor): Add cast to enum type.
1001 (add_calling_convention_attribute): Likewise.
1002 * fold-const.c (fold_undefer_overflow_warnings): Add cast to enum type.
1003 (combine_comparisons): Change compcode to int. Add cast to enum type.
1004 * genrecog.c (maybe_both_true_2): Change c to int.
1005 (write_switch): Likewise. Add cast to enum type.
1006 * gimplify.c (gimplify_omp_for): Handle return values from
1007 gimplify_expr using MIN rather than bitwise or.
1008 (gimplify_expr): Add cast to enum type.
1009 * ipa-prop.c (update_jump_functions_after_inlining): Change
1010 IPA_BOTTOM to IPA_JF_UNKNOWN.
1011 * ira.c (setup_class_subset_and_memory_move_costs): Change mode to int.
1012 Add casts to enum type.
1013 (setup_cover_and_important_classes): Change cl to int. Add casts
1015 (setup_class_translate): Change cl and mode to int.
1016 (ira_init_once): Change mode to int.
1017 (free_register_move_costs): Likewise.
1018 (setup_prohibited_mode_move_regs): Add casts to enum type.
1019 * langhooks.c (add_builtin_function_common): Rework assertion that
1020 value fits bitfield.
1021 * mcf.c (add_fixup_edge): Change type parameter to edge_type.
1022 * omega.c (omega_do_elimination): Avoid math on enum types.
1023 * optabs.c (expand_vec_shift_expr): Remove casts to int.
1024 * opts.c (set_debug_level): Change 2 to enum constant. Use new
1025 int local to handle integral_argment value.
1026 * regmove.c (try_auto_increment): Change PUT_MODE to
1028 * reload.c (push_secondary_reload): Add casts to enum type.
1029 (secondary_reload_class, find_valid_class): Likewise.
1030 * reload1.c (emit_input_reload_insns): Likewise.
1031 * rtl.h (NOTE_VAR_LOCATION_STATUS): Likewise.
1032 * sel-sched.c (init_hard_regs_data): Change cur_mode to int.
1033 * sel-sched-ir.c (hash_with_unspec_callback): Change 0 to enum
1035 * tree.c (build_common_builtin_nodes): Add casts to enum type.
1036 * tree-complex.c (complex_lattice_t): Typedef to int rather than
1038 (expand_complex_libcall): Add casts to enum type.
1039 * tree-into-ssa.c (get_ssa_name_ann): Change 0 to enum constant.
1040 * tree-vect-loop.c (vect_model_reduction_cost): Compare reduc_code
1041 with ERROR_MARK, not NUM_TREE_CODES.
1042 (vect_create_epilog_for_reduction): Likewise.
1043 (vectorizable_reduction): Don't initialize epiloc_reduc_code.
1044 When not using it, set it to ERROR_MARK rather than NUM_TREE_CODES.
1045 * tree-vect-patterns.c (vect_pattern_recog_1): Change vec_mode to
1047 * tree-vect-stmts.c (new_stmt_vec_info): Change 0 to
1048 vect_unused_in_loop. Change 0 to loop_vect.
1049 * tree-vectorizer.c (vect_set_verbosity_level): Add casts to enum type.
1050 * var-tracking.c (get_init_value): Change return type to enum
1052 * vec.h (DEF_VEC_FUNC_P) [iterate]: Cast 0 to type T.
1053 * config/arm/arm.c (fp_model_for_fpu): Change to array to enum
1055 (arm_override_options): Add casts to enum type.
1056 (arm_emit_tls_decoration): Likewise.
1057 * config/i386/i386.c (ix86_function_specific_restore): Add casts
1059 * config/i386/i386-c.c (ix86_pragma_target_parse): Likewise.
1060 * config/ia64/ia64.c (ia64_expand_compare): Change magic to int.
1061 * config/rs6000/rs6000.c (rs6000_override_options): Add casts to
1063 * config/s390/s390.c (code_for_builtin_64): Change to array of
1065 (code_for_builtin_31): Likewise.
1066 (s390_expand_builtin): Change code_for_builtin to enum insn_code
1068 * config/sparc/sparc.c (sparc_override_options): Change value
1069 field in struct code_model to enum cmodel. In initializer change
1070 0 to NULL and add cast to enum type.
1072 * c-typeck.c (build_modify_expr): Add lhs_origtype parameter.
1073 Change all callers. Issue a -Wc++-compat warning using
1074 lhs_origtype if necessary.
1075 (convert_for_assignment): Issue -Wc++-compat warnings about
1076 invalid conversions to enum type on assignment.
1077 * c-common.h (build_modify_expr): Update declaration.
1079 2009-04-24 Nick Clifton <nickc@redhat.com>
1081 * config/iq2000/iq2000.c (function_arg): Handle TImode values.
1082 (function_arg_advance): Likewise.
1083 * config/iq2000/iq2000.md (movsi_internal2): Fix the length of the
1086 2009-04-24 Andreas Krebbel <krebbel1@de.ibm.com>
1088 * config/s390/constraints.md ('I', 'J'): Fix condition.
1090 2009-04-24 Diego Novillo <dnovillo@google.com>
1092 * gengtype-parse.c (parse_error): Add newline after message.
1094 2009-04-24 H.J. Lu <hongjiu.lu@intel.com>
1096 * config/i386/sse.md (avxmodesuffixs): Removed.
1097 (*avx_pinsr<avxmodesuffixs>): Renamed to ...
1098 (*avx_pinsr<ssevecsize>): This.
1100 2009-04-24 Bernd Schmidt <bernd.schmidt@analog.com>
1102 * loop-iv.c (replace_single_def_regs): Look for REG_EQUAL notes;
1103 follow chains of regs with a single definition, and allow expressions
1104 that are function_invariant_p.
1105 (simple_rhs_p): Allow expressions that are function_invariant_p.
1107 2009-04-24 Paolo Bonzini <bonzini@gnu.org>
1110 * fold-const.c (fold_cond_expr_with_comparison): When folding
1111 > and >= to MAX, make sure the MAX uses the same type as the
1112 comparison's operands.
1114 2009-04-24 Nick Clifton <nickc@redhat.com>
1116 * config/frv/frv.c (frv_frame_access): Do not use reg+reg
1117 addressing for DImode accesses.
1118 (frv_print_operand_address): Handle PLUS case.
1119 * config/frv/frv.h (FIXED_REGISTERS): Mark link register as fixed.
1121 2009-04-24 Jakub Jelinek <jakub@redhat.com>
1123 PR rtl-optimization/39794
1124 * alias.c (canon_true_dependence): Add x_addr argument.
1125 * rtl.h (canon_true_dependence): Adjust prototype.
1126 * cse.c (check_dependence): Adjust canon_true_dependence callers.
1127 * cselib.c (cselib_invalidate_mem): Likewise.
1128 * gcse.c (compute_transp): Likewise.
1129 * dse.c (scan_reads_nospill): Likewise.
1130 (record_store, check_mem_read_rtx): Likewise. For non-const-or-frame
1131 addresses pass base->val_rtx as mem_addr, for const-or-frame addresses
1132 canon_base_addr of the group, plus optional offset.
1133 (struct group_info): Rename canon_base_mem to
1135 (get_group_info): Set canon_base_addr to canon_rtx of base, not
1136 canon_rtx of base_mem.
1138 2009-04-23 Paolo Bonzini <bonzini@gnu.org>
1140 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
1141 Use memory_address_p instead of GO_IF_LEGITIMATE_ADDRESS.
1143 2009-04-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1145 * config/spu/spu-builtins.h: Delete file.
1147 * config/spu/spu.h (enum spu_builtin_type): Move here from
1149 (struct spu_builtin_description): Likewise. Add GTY marker.
1150 Do not use enum spu_function_code or enum insn_code.
1151 (spu_builtins): Add extern declaration.
1153 * config/spu/spu.c: Do not include "spu-builtins.h".
1154 (enum spu_function_code, enum spu_builtin_type_index,
1155 V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node,
1156 V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node,
1157 unsigned_V8HI_type_node, unsigned_V4SI_type_node,
1158 unsigned_V2DI_type_node): Move here from spu-builtins.h.
1159 (spu_builtin_types): Make static. Add GTY marker.
1160 (spu_builtins): Add extern declaration with GTY marker.
1163 * config/spu/spu-c.c: Do not include "spu-builtins.h".
1164 (spu_resolve_overloaded_builtin): Do not use spu_function_code.
1165 Check programmatically whether all parameters are scalar.
1167 * config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
1169 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
1171 * gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct
1172 assignment from the constructor either if the target is volatile.
1174 2009-04-23 Daniel Jacobowitz <dan@codesourcery.com>
1176 * config/arm/arm.md (insv): Do not share operands[0].
1178 2009-04-23 Nathan Sidwell <nathan@codesourcery.com>
1180 * config/vxlib-tls.c (active_tls_threads): Delete.
1181 (delete_hook_installed): New.
1182 (tls_delete_hook): Don't delete the delete hook.
1183 (tls_destructor): Delete it here.
1184 (__gthread_set_specific): Adjust installing the delete hook.
1185 (tls_delete_hook): Use __gthread_enter_tsd_dtor_context and
1186 __gthread_leave_tsd_dtor_context.
1188 2009-04-23 Rafael Avila de Espindola <espindola@google.com>
1190 * c-format.c (gcc_tdiag_char_table): Add support for %E.
1192 2009-04-23 Uros Bizjak <ubizjak@gmail.com>
1194 * config/alpha/alpha.c (alpha_legitimize_reload_address): Add cast to
1196 (alpha_rtx_costs): Ditto.
1197 (emit_unlikely_jump): Use add_reg_note.
1198 (emit_frame_store_1): Ditto.
1199 (alpha_expand_prologue): Ditto.
1200 (alpha_expand_builtin): Change 0 to EXPAND_NORMAL in function call.
1201 * config/alpha/alpha.c (Unicos/Mk address splitter): Use add_reg_note.
1203 2009-04-23 Nick Clifton <nickc@redhat.com>
1205 * config/v850/v850.md (epilogue): Remove suppressed code.
1206 (return): Rename to return_simple and remove test of frame size.
1207 * config/v850/v850.c (expand_epilogue): Rename call to gen_return
1208 to gen_return_simple.
1210 2009-04-22 Jing Yu <jingyu@google.com>
1213 * config/arm/arm.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
1215 2009-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
1218 * c-typeck.c (process_init_element): Treat VECTOR_TYPE like ARRAY_TYPE
1219 and RECORD_TYPE/UNION_TYPE. When outputing the actual element and the
1220 value is a VECTOR_CST, the element type is the element type of the
1223 2009-04-22 DJ Delorie <dj@redhat.com>
1225 * config/m32c/m32c.h: Update GTY annotations to new syntax.
1227 2009-04-22 Jakub Jelinek <jakub@redhat.com>
1229 * alias.c (find_base_term): Move around LO_SUM case, so that
1230 CONST falls through into PLUS/MINUS handling.
1233 * fold-const.c (fold_binary) <case LSHIFT_EXPR>: When optimizing
1234 into 0, use omit_one_operand.
1236 2009-04-23 Ben Elliston <bje@au.ibm.com>
1238 * config/rs6000/linux-unwind.h (get_regs): Remove type
1239 puns. Change the type of `pc' to an array of unsigned ints and
1240 update all users. Constify frame24.
1242 2009-04-22 DJ Delorie <dj@redhat.com>
1244 * config/m32c/m32c.c (m32c_special_page_vector_p): Move
1245 declarations before code.
1246 (current_function_special_page_vector): Likewise.
1247 (m32c_expand_insv): Silence a warning.
1249 2009-04-21 Taras Glek <tglek@mozilla.com>
1251 * alias.c: Update GTY annotations to new syntax.
1252 * basic-block.h: Likewise.
1253 * bitmap.h: Likewise.
1254 * c-common.h: Likewise.
1255 * c-decl.c: Likewise.
1256 * c-parser.c: Likewise.
1257 * c-pragma.c: Likewise.
1258 * c-tree.h: Likewise.
1259 * cfgloop.h: Likewise.
1260 * cgraph.h: Likewise.
1261 * config/alpha/alpha.c: Likewise.
1262 * config/arm/arm.h: Likewise.
1263 * config/avr/avr.h: Likewise.
1264 * config/bfin/bfin.c: Likewise.
1265 * config/cris/cris.c: Likewise.
1266 * config/darwin.c: Likewise.
1267 * config/frv/frv.c: Likewise.
1268 * config/i386/i386.c: Likewise.
1269 * config/i386/i386.h: Likewise.
1270 * config/i386/winnt.c: Likewise.
1271 * config/ia64/ia64.h: Likewise.
1272 * config/iq2000/iq2000.c: Likewise.
1273 * config/mips/mips.c: Likewise.
1274 * config/mmix/mmix.h: Likewise.
1275 * config/pa/pa.c: Likewise.
1276 * config/pa/pa.h: Likewise.
1277 * config/rs6000/rs6000.c: Likewise.
1278 * config/s390/s390.c: Likewise.
1279 * config/sparc/sparc.c: Likewise.
1280 * config/xtensa/xtensa.c: Likewise.
1281 * cselib.h: Likewise.
1282 * dbxout.c: Likewise.
1283 * dwarf2out.c: Likewise.
1284 * except.c: Likewise.
1285 * except.h: Likewise.
1286 * fixed-value.h: Likewise.
1287 * function.c: Likewise.
1288 * function.h: Likewise.
1289 * gimple.h: Likewise.
1290 * integrate.c: Likewise.
1291 * optabs.c: Likewise.
1292 * output.h: Likewise.
1295 * stringpool.c: Likewise.
1296 * tree-data-ref.c: Likewise.
1297 * tree-flow.h: Likewise.
1298 * tree-scalar-evolution.c: Likewise.
1299 * tree-ssa-address.c: Likewise.
1300 * tree-ssa-alias.h: Likewise.
1301 * tree-ssa-operands.h: Likewise.
1304 * varasm.c: Likewise.
1305 * varray.h: Likewise.
1307 * coretypes.h: Do not define GTY macro if it is already defined.
1308 * doc/gty.texi: Update GTY documentation to new syntax.
1309 * gengtype-lex.l: Enforce attribute-like syntax for GTY
1310 annotations on structs.
1311 * gengtype-parse.c: Likewise.
1313 2009-04-22 Mark Heffernan <meheff@google.com>
1315 * gcc.c (LINK_COMMAND_SPEC): Link with gcov with -fprofile-generate=.
1317 2009-04-22 Kazu Hirata <kazu@codesourcery.com>
1319 * config/arm/arm.c (arm_rtx_costs_1): Use power_of_two_operand
1322 2009-04-22 Kazu Hirata <kazu@codesourcery.com>
1324 * config/arm/arm.c (arm_size_rtx_costs): Treat a PLUS with a shift
1325 the same as a PLUS without a shift. Increase the cost of a
1328 2009-04-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1330 * Makefile.in: Update dependencies.
1331 * errors.c (warning): Remove unused parameter 'opt'. Returns 'void'.
1332 * errors.h: Remove bogus comment about compatibility.
1333 (warning): Update declaration.
1334 * genautomata.c: Update all calls to warning.
1335 * gimple.c: Do not include errors.h. Include toplev.h.
1336 * tree-ssa-structalias.c: Do not include errors.h.
1337 * omega.c: Likewise.
1338 * tree-ssa-reassoc.c: Likewise.
1339 * config/spu/spu-c.c: Likewise.
1340 * config/spu/t-spu-elf: Update dependencies.
1342 2009-04-22 Richard Guenther <rguenther@suse.de>
1344 PR tree-optimization/39824
1345 * tree-ssa-ccp.c (fold_const_aggregate_ref): For INDIRECT_REFs
1346 make sure the types are compatible.
1348 2009-04-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1351 * c-common.c (c_parse_error): Take a token_flags parameter.
1352 Use token_type for the token type instead.
1353 Pass token_flags to cpp_type2name.
1354 * c-common.h (c_parse_error): Update declaration.
1355 * c-parser.c (c_parser_error): Pass 0 as token flags.
1357 2009-04-22 Andrey Belevantsev <abel@ispras.ru>
1359 PR rtl-optimization/39580
1360 * sel-sched-ir.c (insert_in_history_vect): Remove incorrect gcc_assert.
1362 2009-04-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1364 * function.c (expand_function_end): Do not emit a jump to the "naked"
1365 return label for fall-through returns.
1366 * except.c (sjlj_emit_function_exit): Always place the call to the
1367 unregister function at the location installed by expand_function_end.
1369 2009-04-22 Richard Guenther <rguenther@suse.de>
1371 PR tree-optimization/39845
1372 * tree-switch-conversion.c (build_arrays): Add new referenced vars.
1373 (gen_inbound_check): Likewise.
1375 2009-04-22 Nathan Sidwell <nathan@codesourcery.com>
1377 * gthr-vxworks.h (struct __gthread_once_t): Add alignment and
1379 (__GTHREAD_ONCE_INIT): Adjust ppc initializer.
1380 * config/vxlib.c (__gthread_once): Add race guard for PPC.
1382 2009-04-22 Paolo Bonzini <bonzini@gnu.org>
1384 * config/sh/sh.c (shift_insns_rtx, shiftcosts, gen_shifty_op,
1385 sh_dynamicalize_shift_p, shl_and_scr_length): Truncate
1386 shift counts to avoid out-of-bounds array accesses.
1388 2009-04-22 Paolo Bonzini <bonzini@gnu.org>
1390 * config/sparc/sparc.h (POINTER_SIZE): Fix comment.
1391 (Pmode): Move above.
1393 2009-04-22 Uros Bizjak <ubizjak@gmail.com>
1395 * config/alpha/alpha.c: Use REG_P, MEM_P, CONST_INT_P, JUMP_P,
1396 NONJUMP_INSN_P, CALL_P, LABEL_P and NOTE_P predicates instead of
1397 GET_CODE macro. Use IN_RANGE macro where appropriate.
1398 * config/alpha/alpha.h: Ditto.
1399 * config/alpha/alpha.md: Ditto.
1400 * config/alpha/constraints.md: Ditto.
1401 * config/alpha/predicates.md: Ditto.
1403 2009-04-22 Paolo Bonzini <bonzini@gnu.org>
1405 * defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Provide empty default.
1406 * config/frv/frv.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1407 * config/s390/s390.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1408 * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1409 * config/spu/spu.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1410 * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1411 * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1412 * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1413 * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1414 * config/crx/crx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1415 * config/fr30/fr30.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1416 * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1417 * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1418 * config/iq2000/iq2000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1419 * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1420 * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1421 * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1422 * config/picochip/picochip.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1423 * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1424 * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1425 * config/score/score.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1426 * config/arm/arm.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1427 * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1428 * config/mips/mips.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1429 * config/v850/v850.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1430 * config/mmix/mmix.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1431 * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
1433 2009-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1435 * cfghooks.c (tidy_fallthru_edges): Remove find_basic_blocks
1436 references from comments.
1437 * cfgbuild.c: (count_basic_blocks): Delete.
1438 (find_basic_blocks_1): Delete.
1439 (find_basic_blocks): Delete.
1440 * except.c (finish_eh_generation): Make static. Move comment from
1441 except.h here. Remove find_basic_blocks references from comments.
1442 * except.h (finish_eh_generation): Delete.
1443 * basic-block.h (find_basic_blocks): Delete.
1444 * config/sh/sh.c (sh_output_mi_thunk): Delete a "#if 0" block.
1446 2009-04-22 Dave Korn <dave.korn.cygwin@gmail.com>
1448 * sdbout.c (sdbout_symbol): Pass VOIDmode to eliminate_regs.
1449 (sdbout_parms): Likewise.
1451 2009-04-21 Kaz Kojima <kkojima@gcc.gnu.org>
1453 * config/sh/sh.c (prepare_cbranch_operands): Use
1454 LAST_AND_UNUSED_RTX_CODE instead of CODE_FOR_nothing.
1455 (expand_cbranchdi4): Likewise.
1456 (from_compare): Add cast to enum type.
1457 (expand_cbranchsi4): Use add_reg_note.
1458 (output_stack_adjust, push, pop, sh_expand_prologue): Likewise.
1459 (sh_insn_length_adjustment): Use sh_cpu_attr instead of sh_cpu.
1460 (sh_initialize_trampoline): Change 0 to LCT_NORMAL in function call.
1461 (sh_expand_builtin): Change 0 to EXPAND_NORMAL in function call.
1462 * config/sh/sh.md (cbranchsi4): Use LAST_AND_UNUSED_RTX_CODE
1463 instead of CODE_FOR_nothing.
1464 (cbranchdi4): Likewise. Fix the order of arguments for
1466 (push_fpscr): Use add_reg_note.
1467 (pop_fpscr, movdf_i4+1, reload_outdf__RnFRm+3, reload_outdf__RnFRm+4,
1468 reload_outdf__RnFRm+5, fpu_switch+1, fpu_switch+2): Likewise.
1470 2009-04-21 Joseph Myers <joseph@codesourcery.com>
1472 * ABOUT-GCC-NLS, ChangeLog, ChangeLog-1997, ChangeLog-1998,
1473 ChangeLog-1999, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002,
1474 ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006,
1475 ChangeLog-2007, ChangeLog-2008, ChangeLog.dataflow, ChangeLog.lib,
1476 ChangeLog.ptr, ChangeLog.tree-ssa, ChangeLog.tuples, FSFChangeLog,
1477 FSFChangeLog.10, FSFChangeLog.11, LANGUAGES, ONEWS, acinclude.m4,
1478 config/alpha/gnu.h, config/alpha/libgcc-alpha-ldbl.ver,
1479 config/alpha/t-osf4, config/alpha/t-vms, config/alpha/va_list.h,
1480 config/alpha/x-vms, config/arc/t-arc,
1481 config/arm/README-interworking, config/arm/arm-c.c,
1482 config/arm/gentune.sh, config/arm/libgcc-bpabi.ver,
1483 config/arm/t-arm, config/arm/t-arm-elf, config/arm/t-arm-softfp,
1484 config/arm/t-bpabi, config/arm/t-linux, config/arm/t-linux-eabi,
1485 config/arm/t-netbsd, config/arm/t-pe, config/arm/t-strongarm-elf,
1486 config/arm/t-symbian, config/arm/t-vxworks, config/arm/t-wince-pe,
1487 config/avr/t-avr, config/bfin/elf.h, config/bfin/libgcc-bfin.ver,
1488 config/bfin/linux.h, config/bfin/t-bfin, config/bfin/t-bfin-elf,
1489 config/bfin/t-bfin-linux, config/bfin/t-bfin-uclinux,
1490 config/bfin/uclinux.h, config/cris/mulsi3.asm, config/cris/t-cris,
1491 config/cris/t-elfmulti, config/crx/t-crx,
1492 config/darwin-ppc-ldouble-patch.def, config/darwin-sections.def,
1493 config/divmod.c, config/fr30/t-fr30, config/frv/libgcc-frv.ver,
1494 config/frv/t-frv, config/frv/t-linux, config/h8300/genmova.sh,
1495 config/h8300/t-h8300, config/i386/athlon.md,
1496 config/i386/darwin-libgcc.10.4.ver,
1497 config/i386/darwin-libgcc.10.5.ver, config/i386/libgcc-glibc.ver,
1498 config/i386/mach.h, config/i386/netbsd.h, config/i386/t-crtpc,
1499 config/i386/t-cygming, config/i386/t-cygwin, config/i386/t-i386,
1500 config/i386/t-linux64, config/i386/t-nwld,
1501 config/i386/t-rtems-i386, config/i386/t-sol2-10,
1502 config/i386/x-mingw32, config/ia64/div.md, config/ia64/elf.h,
1503 config/ia64/ia64.opt, config/ia64/libgcc-glibc.ver,
1504 config/ia64/libgcc-ia64.ver, config/ia64/linux.h,
1505 config/ia64/sysv4.h, config/ia64/t-hpux, config/ia64/t-ia64,
1506 config/iq2000/abi, config/iq2000/lib2extra-funcs.c,
1507 config/iq2000/t-iq2000, config/libgcc-glibc.ver,
1508 config/m32r/libgcc-glibc.ver, config/m32r/t-linux,
1509 config/m32r/t-m32r, config/m68hc11/t-m68hc11,
1510 config/m68k/t-floatlib, config/m68k/t-linux, config/m68k/t-mlibs,
1511 config/m68k/t-uclinux, config/mcore/t-mcore,
1512 config/mcore/t-mcore-pe, config/mips/20kc.md, config/mips/4130.md,
1513 config/mips/5400.md, config/mips/5500.md, config/mips/crti.asm,
1514 config/mips/crtn.asm, config/mips/irix-crti.asm,
1515 config/mips/irix-crtn.asm, config/mips/libgcc-mips16.ver,
1516 config/mips/mips-dsp.md, config/mips/mips-dspr2.md,
1517 config/mips/mips-fixed.md, config/mips/sb1.md,
1518 config/mips/sr71k.md, config/mips/t-elf, config/mips/t-gofast,
1519 config/mips/t-iris6, config/mips/t-isa3264,
1520 config/mips/t-libgcc-mips16, config/mips/t-linux64,
1521 config/mips/t-mips, config/mips/t-r3900, config/mips/t-rtems,
1522 config/mips/t-sb1, config/mips/t-sde, config/mips/t-sdemtk,
1523 config/mips/t-slibgcc-irix, config/mips/t-sr71k, config/mips/t-st,
1524 config/mips/t-vr, config/mips/t-vxworks, config/mmix/t-mmix,
1525 config/mn10300/t-linux, config/mn10300/t-mn10300,
1526 config/pa/pa32-regs.h, config/pa/t-hpux-shlib, config/pa/t-linux,
1527 config/pa/t-linux64, config/pa/t-pa64, config/pdp11/t-pdp11,
1528 config/picochip/libgccExtras/clzsi2.asm,
1529 config/picochip/t-picochip, config/rs6000/darwin-ldouble-format,
1530 config/rs6000/darwin-libgcc.10.4.ver,
1531 config/rs6000/darwin-libgcc.10.5.ver,
1532 config/rs6000/libgcc-ppc-glibc.ver, config/rs6000/ppc-asm.h,
1533 config/rs6000/t-aix43, config/rs6000/t-aix52,
1534 config/rs6000/t-darwin, config/rs6000/t-fprules,
1535 config/rs6000/t-fprules-fpbit, config/rs6000/t-linux64,
1536 config/rs6000/t-lynx, config/rs6000/t-netbsd,
1537 config/rs6000/t-ppccomm, config/rs6000/t-ppcendian,
1538 config/rs6000/t-ppcgas, config/rs6000/t-rs6000,
1539 config/rs6000/t-rtems, config/rs6000/t-spe,
1540 config/rs6000/t-vxworks, config/s390/libgcc-glibc.ver,
1541 config/score/t-score-elf, config/sh/divcost-analysis,
1542 config/sh/libgcc-glibc.ver, config/sh/t-netbsd, config/sh/t-sh,
1543 config/sh/t-sh64, config/sh/t-superh, config/sh/t-symbian,
1544 config/sparc/libgcc-sparc-glibc.ver, config/sparc/sol2-bi.h,
1545 config/sparc/sol2-gas.h, config/sparc/sol2-gld-bi.h,
1546 config/sparc/t-elf, config/sparc/t-linux64, config/sparc/t-sol2,
1547 config/stormy16/stormy-abi, config/stormy16/t-stormy16,
1548 config/t-darwin, config/t-libunwind, config/t-libunwind-elf,
1549 config/t-linux, config/t-lynx, config/t-slibgcc-elf-ver,
1550 config/t-slibgcc-sld, config/t-sol2, config/t-vxworks,
1551 config/udivmod.c, config/udivmodsi4.c, config/v850/t-v850,
1552 config/v850/t-v850e, config/xtensa/t-xtensa, diagnostic.def,
1553 gdbinit.in, glimits.h, gstab.h, gsyms.h, java/ChangeLog,
1554 java/ChangeLog.ptr, java/ChangeLog.tree-ssa, libgcc-std.ver,
1555 limitx.h, version.c, xcoff.h: Add copyright and license notices.
1556 * config/h8300/genmova.sh: Include copyright and license notices
1557 in generated output.
1558 * config/h8300/mova.md: Regenerate.
1559 * doc/install.texi2html: Include word "Copyright" in copyright
1560 notice and use name "Free Software Foundation, Inc.".
1561 * ChangeLog, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002,
1562 ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006,
1563 ChangeLog-2007, ChangeLog-2008: Correct dates.
1565 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
1567 * c-common.c (c_common_truthvalue_conversion): Use LOCATION to build
1568 NE_EXPR operations as well.
1569 * c-parser.c (c_parser_condition): Do not set location information on
1571 (c_parser_conditional_expression): Likewise.
1572 (c_parser_binary_expression): Set location information on operators.
1573 * c-typeck.c (build_unary_op) <TRUTH_NOT_EXPR>: Reset the location if
1574 TRUTH_NOT_EXPR has been folded.
1575 * fold-const.c (fold_truth_not_expr): Copy location information from
1576 the incoming expression to the outgoing one.
1577 * gimplify.c (shortcut_cond_r): Add locus parameter. Pass it to
1578 recursive calls on the LHS of the operator but pass that of the
1579 operator to recursive calls on the RHS of the operator. Set it
1581 (shortcut_cond_expr): Set the locus of the operator on the second
1582 COND_EXPR and that of the expression on the first in degenerate cases.
1583 Pass the locus of the expression to calls to shortcut_cond_r.
1584 Set the locus of the 'then' block on the associated jump, if any.
1585 (gimplify_boolean_expr): Add locus parameter. Set it on the COND_EXPR.
1586 (gimplify_expr) <TRUTH_ANDIF_EXPR>: Pass the locus of the outer
1587 expression to call to gimplify_boolean_expr.
1589 2009-04-21 Kai Tietz <kai.tietz@onevision.com>
1591 * config.gcc: Add additional configuration for
1592 i686-w64-mingw* and x86_64-w64-mingw* triplet.
1593 * config/i386/mingw-w64.h: New mingw-w64 specific header.
1594 (CPP_SPEC): Redefine for allowing -municode option.
1595 (STARTFILE_SPEC): Likewise.
1596 * config/i386/t-mingw-w64: New.
1597 * config/i386/mingw-w64.opt: New.
1598 (municode): Add new target option.
1599 * doc/invoke.texi (municode): Add documentation for new option.
1601 2009-04-21 Ian Lance Taylor <iant@google.com>
1603 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1604 Correct test for number of arguments.
1605 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
1607 2009-04-21 Andreas Schwab <schwab@linux-m68k.org>
1609 * config/m68k/linux.h (FINALIZE_TRAMPOLINE): Use enum for second
1610 argument of emit_library_call.
1612 2009-04-21 Richard Guenther <rguenther@suse.de>
1615 * gimple.c (walk_stmt_load_store_addr_ops): Catch addresses
1616 inside VIEW_CONVERT_EXPRs.
1618 2009-04-21 Martin Jambor <mjambor@suse.cz>
1620 * tree-switch-conversion.c (build_constructors): Split a long line.
1621 (constructor_contains_same_values_p): New function.
1622 (build_one_array): Create assigns of constants if possible, do not
1623 call mark_sym_for_renaming, call update_stmt.
1624 (build_arrays): Call make_ssa_name (create_tmp_var ()) instead of
1625 make_rename_temp. Do not call mark_symbols_for_renaming, call
1627 (gen_def_assigns): Do not call mark_symbols_for_renaming or
1628 find_new_referenced_vars, call update_stmt.
1629 (gen_inbound_check): Use create_tmp_var and create ssa names manually
1630 instead of calling make_rename_temp. Do not call
1631 find_new_referenced_vars or mark_symbols_for_renaming, call
1634 2009-04-21 Richard Guenther <rguenther@suse.de>
1636 PR tree-optimization/39827
1637 * tree-ssa-phiprop.c (propagate_with_phi): Check SSA_NAME is in range.
1638 (tree_ssa_phiprop): Pass the correct array size.
1640 2009-04-21 Uros Bizjak <ubizjak@gmail.com>
1642 * config/alpha/alpha.md (tune): Add cast to enum attr_tune.
1644 2009-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1647 * c-typeck.c (lvalue_p): Move declaration ...
1648 * c-common.h (lvalue_p): ... to here.
1649 * c-common.c (candidate_equal_p): New.
1650 (add_tlist): Use it.
1651 (merge_tlist): Use it.
1652 (warn_for_collisions_1): Likewise.
1653 (warning_candidate_p): Accept more candidates.
1654 (verify_tree): A warning candidate can be an expression. Use
1657 2009-04-21 Ben Elliston <bje@au.ibm.com>
1660 * doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation
1661 for -mcall-eabi, -mcall-aixdesc, -mcall-freebsd and -mcall-openbsd
1662 options. Remove -mcall-solaris documentation.
1664 2009-04-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1667 * doc/invoke.texi (-Wlong-long): Update description.
1668 * c-lex (interpret_integer): Only warn if there was no previous
1669 overflow and -Wlong-long is enabled.
1670 * c-decl.c (declspecs_add_type): Drop redundant flags.
1671 * c.opt (Wlong-long): Init to -1.
1672 * c-opts.c (sanitize_cpp_opts): Synchronize cpp's warn_long_long
1673 and front-end warn_long_long. Wlong-long only depends on other
1674 flags if it is uninitialized.
1675 * c-parser.c (disable_extension_diagnostics): warn_long_long is
1676 the same for CPP and FE.
1677 (restore_extension_diagnostics): Likewise.
1679 2009-04-20 Ian Lance Taylor <iant@google.com>
1681 Fix enum conversions which are invalid in C++:
1682 * auto-inc-dec.c (attempt_change): Change 0 to SET in function call.
1683 * calls.c (store_one_arg): Change 0 to EXPAND_NORMAL in function call.
1684 * cse.c (hash_rtx_cb): Change 0 to VOIDmode in function call.
1685 * dbgcnt.c (dbg_cnt_set_limit_by_name): Add cast to enum type.
1686 * dbxout.c (dbxout_symbol): Change 0 to VOIDmode in function call.
1687 (dbxout_parms): Likewise.
1688 * df-core.c (df_set_flags): Change changeable_flags parameter to int.
1689 (df_clear_flags): Likewise.
1690 * df-problems.c (df_rd_bb_local_compute_process_def): Change
1691 top_flag parameter to int.
1692 (df_chain_create_bb_process_use): Likewise.
1693 (df_chain_add_problem): Change chain_flags parameter to unsigned int.
1695 * df-scan.c (df_ref_create): Change ref_flags parameter to int.
1696 (df_ref_create_structure, df_def_record_1): Likewise.
1697 (df_defs_record, df_uses_record, df_get_call_refs): Likewise.
1698 (df_notes_rescan): Change 0 to VOIDmode in function call.
1699 (df_get_call_refs, df_insn_refs_collect): Likewise.
1700 (df_bb_regs_collect): Likewise.
1701 (df_entry_block_defs_collect): Likewise.
1702 (df_exit_block_uses_collect): Likewise.
1703 * df.h: Update declarations.
1704 * double-int.c (double_int_divmod): Add cast to enum type.
1705 * dse.c (replace_inc_dec): Reverse parameters to gen_int_mode.
1706 * dwarf2out.c (new_reg_loc_descr): Add casts to enum type.
1707 (based_loc_descr): Likewise.
1708 (loc_descriptor_from_tree_1): Change first_op and second_op to
1709 enum dwarf_location_atom. Add cast to enum type.
1710 * expmed.c (init_expmed): Change 0 to SET in function call.
1711 * expr.c (init_expr_target): Change 0 to VOIDmode in function call.
1712 (expand_expr_real_1): Change 0 to EXPAND_NORMAL in function call.
1713 (do_store_flag): Likewise.
1714 * fixed-value.h (struct fixed_value): Change mode to enum
1716 * function.c (assign_parms): Change 0 to VOIDmode in function call.
1717 * genautomata.c (insert_automaton_decl): Change 1 to INSERT in
1719 (insert_insn_decl, insert_decl, insert_state): Likewise.
1720 (automata_list_finish): Likewise.
1721 * genrecog.c (process_define_predicate): Add cast to enum type.
1722 * gensupport.c (init_predicate_table): Add cast to enum type.
1723 * gimple.c (gimple_build_return): Change 0 to ERROR_MARK in
1725 (gimple_build_call_1, gimple_build_label): Likewise.
1726 (gimple_build_goto, gimple_build_asm_1): Likewise.
1727 (gimple_build_switch_1, gimple_build_cdt): Likewise.
1728 * gimple.h (GIMPLE_CHECK): Change 0 to ERROR_MARK in function call.
1729 (enum fallback): Rename from enum fallback_t.
1730 (fallback_t): Typedef as int.
1731 * gimple-low.c (lower_builtin_setjmp): Change TSI_SAME_STMT to
1732 GSI_SAME_STMT in function call.
1733 * ira.c (setup_class_subset_and_memory_move_costs): Add casts to
1735 (setup_reg_class_relations): Likewise.
1736 (setup_reg_class_nregs): Change cl to int. Add casts to enum type.
1737 (setup_prohibited_class_mode_regs): Add cast to enum type.
1738 (setup_prohibited_mode_move_regs): Likewise.
1739 * ira-costs.c (record_reg_classes): Change rclass to enum reg_class.
1740 (record_address_regs): Change i to enum reg_class.
1741 * lists.c (alloc_EXPR_LIST): Add cast to enum type.
1742 * machmode.h (GET_MODE_CLASS): Cast value to enum mode_class.
1743 (GET_MODE_WIDER_MODE): Cast value to enum machine_mode.
1744 (GET_MODE_2XWIDER_MODE): Likewise.
1745 (GET_CLASS_NARROWEST_MODE): Likewise.
1746 * omp-low.c (expand_omp_for): Add cast to enum type.
1747 * optabs.c (debug_optab_libfuncs): Add casts to enum type.
1748 * opts.c (enable_warning_as_error): Change kind to diagostic_t.
1749 * postreload.c (reload_cse_simplify_operands): Change rclass local
1751 * predict.c (combine_predictions_for_insn): Change best_predictor
1752 and predictor to enum br_predictor.
1753 (combine_predictions_for_bb): Likewise.
1754 (build_predict_expr): Change assignment to PREDICT_EXPR_OUTCOME to
1755 use SET_PREDICT_EXPR_OUTCOME.
1756 * real.c (real_arithmetic): Change icode to code in function call.
1757 * reginfo.c (init_move_cost): Add casts to enum type.
1758 (init_reg_sets_1, init_fake_stack_mems): Likewise.
1759 * regmove.c (regclass_compatible_p): Change class0 and class1 to
1761 * reload.c (find_valid_class): Add casts to enum type.
1762 (push_reload): Change 0 to NO_REGS in function call.
1763 (find_reloads): Change this_alternative to array of enum
1764 reg_class. Remove some now-unnecessary casts.
1765 (make_memloc): Change 0 to VOIDmode in function call.
1766 * reload1.c (reload): Change 0 to VOIDmode in function call.
1767 (eliminate_regs_1, elimination_effects): Likewise.
1768 (eliminate_regs_in_insn): Likewise.
1769 (emit_input_reload_insns): Add cast to enum type.
1770 (delete_output_reload): Change 0 to VOIDmode in function call.
1771 * reorg.c (insn_sets_resource_p): Convert include_delayed_effects
1772 to enum type in function call.
1773 * tree.h (PREDICT_EXPR_OUTCOME): Add cast to enum type.
1774 (SET_PREDICT_EXPR_OUTCOME): Define.
1775 * tree-dump.c (get_dump_file_info): Change phase parameter to int.
1776 (get_dump_file_name, dump_begin, dump_enabled_p): Likewise.
1777 (dump_initialized_p, dump_flag_name, dump_end): Likewise.
1778 (dump_function): Likewise.
1779 * tree-dump.h: Update declarations.
1780 * tree-pass.h: Update declarations.
1781 * varasm.c (assemble_integer): Change mclass to enum mode_class.
1782 * config/arm/arm.c (thumb_legitimize_reload_address): Add cast to
1784 (arm_rtx_costs_1): Correct parenthesization.
1785 (arm_rtx_costs): Add casts to enum type.
1786 (adjacent_mem_locations): Reverse arguments to const_ok_for_op.
1787 (vfp_emit_fstmd): Use add_rg_note.
1788 (emit_multi_reg_push, emit_sfm): Likewise.
1789 (thumb_set_frame_pointer): Likewise.
1790 (arm_expand_prologue): Likewise.
1791 (arm_regno_class): Change return type to enum reg_class.
1792 (thumb1_expand_prologue): Use add_reg_note.
1793 * config/arm/arm-protos.h (arm_regno_class): Update declaration.
1794 * config/arm/arm.h (INITIALIZE_TRAMPOLINE): Change 0 to LCT_NORMAL
1796 * config/arm/gentune.sh: Add cast to enum type.
1797 * config/arm/arm-tune.md: Rebuild.
1798 * config/i386/i386.c (ix86_expand_prologue): Use add_reg_note.
1799 (ix86_split_fp_branch, predict_jump): Likewise.
1800 (ix86_expand_multi_arg_builtin): Change sub_code from enum
1801 insn_code to enum rtx_code.
1802 (ix86_builtin_vectorized_function): Add cast to enum type.
1803 * config/i386/i386.md (truncdfsf2): Change slot to enum
1805 (truncxf<mode>2, isinf<mode>2): Likewise.
1806 * config/i386/i386-c.c (ix86_pragma_target_parse): Add cast to
1808 * config/ia64/ia64.c (ia64_split_tmode_move): Use add_reg_note.
1809 (spill_restore_mem, do_spill, ia64_expand_prologue): Likewise.
1810 (insert_bundle_state): Change 1 to INSERT in function call.
1811 (ia64_add_bundle_selector_before): Likewise.
1812 * config/ia64/ia64.md (cpu attr): Add cast to enum type.
1813 (save_stack_nonlocal): Change 0 to LCT_NORMAL in function call.
1814 (restore_stack_nonlocal): Likewise.
1815 * config/mips/mips.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL in
1817 * config/mips/mips.c (mips_binary_cost): Change 0 to SET in
1819 (mips_rtx_costs): Likewise.
1820 (mips_override_options): Add casts to enum type.
1821 * config/mips/sdemtk.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL
1823 * config/pa/pa.c (legitimize_pic_address): Use add_reg_note.
1824 (store_reg, set_reg_plus_d): Likewise.
1825 (hppa_expand_prologue, hppa_profile_hook): Likewise.
1826 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
1828 (altivec_expand_vec_set_builtin): Change 0 to EXPAND_NORMAL in
1830 (emit_unlikely_jump): Use add_reg_note.
1831 (rs6000_emit_allocate_stack): Likewise.
1832 (rs6000_frame_related, rs6000_emit_prologue): Likewise.
1833 (output_toc): Change 1 to INSERT in function call.
1834 (output_profile_hook): Change 0 to LCT_NORMAL in function call.
1835 (rs6000_initialize_trampoline): Likewise.
1836 (rs6000_init_dwarf_reg_sizes_extra): Change 0 to EXPAND_NORMAL in
1838 * config/s390/s390.c (s390_rtx_costs): Add cast to enum type.
1839 (s390_expand_movmem): Change 0 to OPTAB_DIRECT in function call.
1840 (s390_expand_setmem, s390_expand_cmpmem): Likewise.
1841 (save_gprs): Use add_reg_note.
1842 (s390_emit_prologue): Likewise.
1843 (s390_expand_builtin): Change 0 to EXPAND_NORMAL in function call.
1844 * config/sparc/sparc.c (sparc_expand_prologue): Use add_reg_note.
1845 (sparc_fold_builtin): Add cast to enum type.
1846 * config/spu/spu.c (spu_emit_branch_or_set): Change ior_code to
1848 (spu_expand_prologue): Use add_reg_note.
1849 (expand_builtin_args): Change 0 to EXPAND_NORMAL in function call.
1851 2009-04-20 Ian Lance Taylor <iant@google.com>
1853 * c-parser.c (c_parser_attributes): Change VEC back to tree list.
1854 (c_parser_postfix_expression_after_primary): Get VEC for list of
1855 arguments. Get original types of arguments. Call
1856 build_function_call_vec.
1857 (cached_expr_list_1, cached_expr_list_2): New static variables.
1858 (c_parser_expr_list): Change return type to VEC *. Add
1859 p_orig_types parameter. Change all callers.
1860 (c_parser_release_expr): New static function.
1861 (c_parser_vec_to_tree_list): New static function.
1862 * c-typeck.c (build_function_call): Rewrite to build a VEC and
1863 call build_function_call_vec.
1864 (build_function_call_vec): New function, based on old
1865 build_function_call.
1866 (convert_arguments): Remove nargs and argarray parameters. Change
1867 values to a VEC. Add origtypes parameter.
1868 (build_modify_expr): Add rhs_origtype parameter. Change all callers.
1869 (convert_for_assignment): Add origtype parameter. Change all
1870 callers. If warn_cxx_compat, check for conversion to an enum
1871 type when calling a function.
1872 (store_init_value): Add origtype parameter. Change all callers.
1873 (digest_init): Likewise.
1874 (struct init_node): Add origtype field.
1875 (add_pending_init): Add origtype parameter. Change all callers.
1876 (output_init_element): Likewise.
1877 (output_pending_init_elements): Pass origtype from init_node to
1878 output_init_element.
1879 (process_init_element): Pass origtype from c_expr to
1880 output_init_element.
1881 (c_finish_return): Add origtype parameter. Change all callers.
1882 * c-common.c (sync_resolve_size): Change params to VEC *. Change
1884 (sync_resolve_params): Likewise.
1885 (sync_resolve_return): Change params to first_param. Change caller.
1886 (resolve_overloaded_builtins): Change params to VEC *. Change
1887 callers. Save first parameter around call to build_function_call_vec.
1888 * c-decl.c (finish_decl): Add origtype parameter. Change all
1889 callers. Call build_function_call_vec rather than
1890 build_function_call for cleanup.
1891 * c-tree.h: Update declarations.
1892 * c-common.h: Update declarations.
1893 * stub-objc.c (objc_rewrite_function_call): Change parameter from
1894 params to first_param.
1895 * target.h (struct gcc_target): Change resolve_overloaded_builtin
1896 params parameter from tree to void *.
1897 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1898 Change arglist parameter to have type void *, and to be a pointer
1900 * config/rs6000/rs6000-protos.h
1901 (altivec_resolve_overloaded_builtin): Update declaration.
1902 * config/spu/spu-c.c (spu_resolved_overloaded_builtin): Change
1903 fnargs parameter to have type void *, and to be a pointer to a
1904 VEC. Call build_function_call_vec instead of
1905 build_function_call.
1906 * config/spu/spu-protos.h (spu_expand_builtin): Update declaration.
1908 2009-04-20 Joey Ye <joey.ye@intel.com>
1909 Xuepeng Guo <xuepeng.guo@intel.com>
1910 H.J. Lu <hongjiu.lu@intel.com>
1912 * config/i386/atom.md: Add bypasses with ix86_dep_by_shift_count.
1914 * config/i386/i386.c (LEA_SEARCH_THRESHOLD): New macro.
1915 (IX86_LEA_PRIORITY): Likewise.
1916 (distance_non_agu_define): New function.
1917 (distance_agu_use): Likewise.
1918 (ix86_lea_for_add_ok): Likewise.
1919 (ix86_dep_by_shift_count): Likewise.
1921 * config/i386/i386.md: Call ix86_lea_for_add_ok to decide we
1922 should split for LEA.
1924 * config/i386/i386-protos.h (ix86_lea_for_add_ok): Declare new
1926 (ix86_dep_by_shift_count): Likewise.
1928 2009-04-20 Richard Guenther <rguenther@suse.de>
1930 * expr.c (handled_component_p): Move ...
1931 * tree.h (handled_component_p): ... here.
1932 * tree.def: Re-order BIT_FIELD_REF, COMPONENT_REF,
1933 ARRAY_REF, ARRAY_RANGE_REF, VIEW_CONVERT_EXPR, IMAGPART_EXPR
1934 and REALPART_EXPR to be in one group.
1936 2009-04-20 Richard Guenther <rguenther@suse.de>
1938 * basic-block.h (get_all_dominated_blocks): Declare.
1939 * dominance.c (get_all_dominated_blocks): New function.
1940 * tree-cfg.c (get_all_dominated_blocks): Remove.
1941 (remove_edge_and_dominated_blocks): Adjust.
1942 * tree-ssa-phiprop.c (tree_ssa_phiprop_1): Fold in ...
1943 (tree_ssa_phiprop): ... here. Use get_all_dominated_blocks
1944 instead of recursing.
1946 2009-04-20 Doug Kwan <dougkwan@google.com>
1948 * cgraph.h (cgraph_node_ptr): New type for vector functions.
1949 (struct cgraph_node_set_def): New type.
1950 (cgraph_node_set) New type. Also declare vector functions.
1951 (struct cgraph_node_set_element_def): New type.
1952 (cgraph_node_set_element): Ditto.
1953 (cgraph_node_set_iterator): New iterator type.
1954 (cgraph_node_set_new, cgraph_node_set_find, cgraph_node_set_add,
1955 cgraph_node_set_remove, dump_cgraph_node_set,
1956 debug_cgraph_node_set): New prototypes.
1957 (csi_end_p, csi_next, csi_node, csi_start, cgraph_node_in_set_p,
1958 cgraph_node_set_size): New inlines.
1959 * tree-pass.h (struct cgraph_node_set_def): New decl to avoid
1961 (struct ipa_opt_pass): Add struct cgraph_node_set_def
1962 argument to function 'write_summary'.
1963 * ipa.c: Include ggc.h.
1964 (hash_cgraph_node_set_element,
1965 eq_cgraph_node_set_element, cgraph_node_set_new,
1966 cgraph_node_set_add, cgraph_node_set_remove,
1967 cgraph_node_set_find, dump_cgraph_node_set,
1968 debug_cgraph_node_set): New functions.
1969 * Makefile.in (ipa.o): Add dependency on GGC_H.
1971 2009-04-20 Ira Rosen <irar@il.ibm.com>
1973 PR tree-optimization/39675
1974 * tree-vect-loop.c (vect_transform_loop): Remove currently redundant
1975 check of the return code of vect_schedule_slp. Check that
1976 stmt_vec_info still exists for the statement, before checking its
1979 2009-04-20 Michael Matz <matz@suse.de>
1981 * Makefile.in (generated_files): Take out $(simple_generated_c).
1983 2009-04-19 Dave Korn <dave.korn.cygwin@gmail.com>
1985 * config/i386/cygwin-stdint.h (INTPTR_TYPE): Remove "long".
1986 (UINTPTR_TYPE): Likewise.
1988 2009-04-19 Joseph Myers <joseph@codesourcery.com>
1991 * c-typeck.c (digest_init): Check for initializing an array with a
1994 2009-04-19 Joseph Myers <joseph@codesourcery.com>
1997 * c-semantics.c (pop_stmt_list): Propagate
1998 STATEMENT_LIST_HAS_LABEL to parent statement list.
2000 2009-04-19 Adam Nemet <anemet@caviumnetworks.com>
2002 * config/mips/mips.h (mips_tune_attr): New macro.
2003 * config/mips/mips.md (cpu): Use it.
2005 2009-04-19 Joseph Myers <joseph@codesourcery.com>
2008 * c-decl.c (shadow_tag_warned): Diagnose use of restrict when
2011 2009-04-19 Diego Novillo <dnovillo@google.com>
2013 * toplev.c (compile_file): Move call to coverage_finish ...
2014 * cgraphunit.c (ipa_passes): ... here.
2015 Call cgraph_process_new_functions.
2016 * ipa-utils.c (get_base_var): Handle CONSTRUCTOR.
2017 * Makefile.in (cgraphunit.o): Add dependency on COVERAGE_H.
2019 2009-04-19 Jan Hubicka <jh@suse.cz>
2021 * cgraph.c (cgraph_create_edge, cgraph_set_call_stmt): Set proper
2023 (dump_cgraph_node): Dump can throw external flag.
2024 * ipa-pure-const.c (propagate): Fix propagation of nothrow flags.
2026 2009-04-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
2030 * doc/invoke.texi: Add -Wlogical-op to -Wextra.
2031 * common.opt (Wlogical-op): Move from here...
2032 * c.opt (Wlogical-op): ... to here.
2033 * c-typeck.c (parser_build_binary_op): Update call to
2034 warn_logical_operator.
2035 * c-opts.c (c_common_post_options): Enable warn_logical_op with
2037 * c-common.c (warn_logical_op): Update.
2038 * c-common.h (warn_logical_op): Update declaration.
2040 2009-04-19 Eric Botcazou <ebotcazou@adacore.com>
2042 * tree.c (protected_set_expr_location): Fix formatting.
2044 2009-04-18 Joseph Myers <joseph@codesourcery.com>
2047 * c-typeck.c (readonly_warning): new.
2048 (build_unary_op, build_modify_expr): Use readonly_warning for
2049 storing into something readonly but not const-qualified.
2051 2009-04-18 Joseph Myers <joseph@codesourcery.com>
2054 * c-typeck.c (build_unary_op): Check for taking address of
2055 expression of type void.
2057 2009-04-18 Joseph Myers <joseph@codesourcery.com>
2060 * c-typeck.c (build_function_call): Check for calling a function
2061 with qualified void return types. Call require_complete_type when
2064 2009-04-18 Jan Hubicka <jh@suse.cz>
2066 * cgraph.c (cgraph_make_edge, dump_cgraph_node, cgraph_set_call_stmt):
2068 * cgraph.h (struct function): Reduce loop_nest to 30 bits; add
2069 can_throw_external flag.
2070 * ipa-reference.c (ipa_utils_reduced_inorder): Update call.
2071 * ipa-pure-const.c (ignore_edge): New function.
2072 (propagate): Compute order for NOTHROW computation; set NOTHROWs
2073 only over can_throw_external edges.
2074 (local_pure_const): Add nothrow flag.
2075 * ipa-utils.c (searchc): Add ignore_edge callback.
2076 (ipa_utils_reduced_inorder): Add ignore_edge callback.
2077 * ipa-utils.h (ipa_utils_reduced_inorder): Update prototype.
2078 (set_nothrow_function_flags): Update cgraph.
2079 * tree-cfg.c (verify_stmt): Relax nothrow checking when in IPA mode.
2081 2009-04-18 Richard Guenther <rguenther@suse.de>
2084 * tree-ssa-ccp.c (fold_stmt_1): New function factored from ...
2085 (fold_stmt): ... this and ...
2086 (fold_stmt_inplace): ... this.
2087 (fold_stmt_1): Fold references in calls and asms.
2088 * tree-cfg.c (remove_useless_stmts_cond): Use fold_stmt.
2090 2009-04-18 Kazu Hirata <kazu@codesourcery.com>
2092 * tree-vrp.c (ssa_name_nonzero_p): Remove.
2093 * tree.h: Remove the prototype for ssa_name_nonzero_p.
2095 2009-04-18 Kazu Hirata <kazu@codesourcery.com>
2097 * tree.c (function_args_count): Remove.
2098 * tree.h: Remove the prototype for function_args_count.
2100 2009-04-18 Kazu Hirata <kazu@codesourcery.com>
2102 * tree-iterator.c (expr_only): Remove.
2103 * tree.h: Remove the prototype for expr_only.
2105 2009-04-18 Kazu Hirata <kazu@codesourcery.com>
2107 * reginfo.c (cannot_change_mode_set_regs): Remove.
2108 * rtl.h: Remove the prototype for cannot_change_mode_set_regs.
2110 2009-04-08 Anatoly Sokolov <aesok@post.ru>
2112 * config/avr/avr.md (*rotlsi3_8, *rotlsi3_16, *rotlsi3_24 ): Check
2113 whether operands 0 and 1 overlaps.
2115 2009-04-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2118 * tree-vrp.c (check_array_ref): Pass a location_t instead of a
2119 pointer. Use warning_at instead of warning.
2120 (search_for_addr_array): Likewise.
2121 (check_array_bounds): Likewise.
2122 (check_all_array_refs): Check that the incoming edge is not in the
2123 list of edges to be removed.
2124 (check_all_array_refs): Avoid the temporal pointer.
2125 (vrp_visit_cond_stmt): Fix typo.
2126 (simplify_switch_using_ranges): Handle the case where the switch
2127 index is an integer constant.
2129 2009-04-18 Adam Nemet <anemet@caviumnetworks.com>
2131 * config/mips/mips.c (mips_final_postscan_insn): Make it static.
2133 2009-04-18 Kazu Hirata <kazu@codesourcery.com>
2135 * doc/extend.texi, doc/invoke.texi: Fix typos.
2137 2009-04-17 Cary Coutant <ccoutant@google.com>
2139 * tree-flow-inline.h (get_lineno): Fix inverted test.
2141 2009-04-17 Diego Novillo <dnovillo@google.com>
2143 * tree-ssa-pre.c (create_expression_by_pieces): Remove
2144 assertion for AVAIL_OUT.
2146 2009-04-17 Mike Frysinger <vapier@gentoo.org>
2149 * config/sh/lib1funcs.asm [__ELF__ && __linux__]: Add .note.GNU-stack.
2150 * config/sh/linux-atomic.asm: Likewise.
2152 2009-04-17 Diego Novillo <dnovillo@google.com>
2154 * except.c (debug_eh_tree): New.
2155 (struct eh_region, struct eh_status): Move ...
2156 * except.h: ... here.
2157 (add_type_for_runtime): Declare extern.
2158 (lookup_type_for_runtime): Likewise.
2159 (debug_eh_tree): Declare.
2160 * Makefile.in (GTFILES): List except.h before except.c
2162 2009-04-17 Diego Novillo <dnovillo@google.com>
2164 * omp-low.c (create_omp_child_function): Set DECL_CONTEXT for DECL.
2165 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
2166 * tree-dfa.c (find_referenced_vars_in): Factor out of ...
2167 (find_vars_r): ... here.
2168 * tree-flow.h (find_referenced_vars_in): Declare.
2169 * tree-ssa-pre.c (create_expression_by_pieces): Assert
2170 that AVAIL_OUT exists for BLOCK.
2171 * Makefile.in (CGRAPH_H): Add dependency on cif-code.def
2172 (tree-loop-distribution.o): Fix dependency on TREE_VECTORIZER_H.
2173 (tree-parloops.o): Likewise.
2175 2009-04-17 Simon Baldwin <simonb@google.com>
2177 * toplev.c (default_tree_printer): Add handling for %E format.
2179 2009-04-17 Diego Novillo <dnovillo@google.com>
2181 * tree-pretty-print.c (dump_generic_node): Add break after
2182 TREE_BINFO handler. Handle COMPLEX_TYPE, REAL_TYPE and
2183 FIXED_POINT_TYPE. Handle NULL TREE_TYPEs. Handle METHOD_TYPE and
2184 FUNCTION_TYPE together. Call print_struct_decl when printing
2185 structures and TDF_SLIM is not given.
2186 (print_struct_decl): Fix logic for detecting recursion.
2188 2009-04-17 Rafael Avila de Espindola <espindola@google.com>
2191 * gcc.c (create_at_file): New.
2192 (compile_input_file_p): New.
2193 (do_spec_1): Use @args files for %i. Use create_at_file for %o.
2194 * main.c (main): Update call to toplev_main.
2195 * toplev.c (toplev_main): Change signature. Call expandargv.
2196 * toplev.h (toplev_main): Change signature.
2198 2009-04-17 Eric Botcazou <ebotcazou@adacore.com>
2200 * dwarf2out.c (field_byte_offset): Use the type size as the field size
2201 if the latter is not constant.
2203 2009-04-17 David Edelsohn <edelsohn@gnu.org>
2205 * dbxout.c (xcoff_debug_hooks): Add set_name_debug_nothing.
2207 2009-04-17 Eric Botcazou <ebotcazou@adacore.com>
2209 * dbxout.c (dbxout_block): Reinstate test on TREE_USED.
2210 * tree-ssa-live.c (remove_unused_scope_block_p): Update TREE_USED bit.
2212 2009-04-17 Richard Guenther <rguenther@suse.de>
2214 * tree-ssa-structalias.c (get_constraint_for_component_ref):
2215 Handle component references view-converting an invariant address.
2217 2009-04-17 Adam Nemet <anemet@caviumnetworks.com>
2219 * doc/tm.texi (TARGET_DEFAULT_TARGET_FLAGS,
2220 TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET,
2221 TARGET_HAVE_SRODATA_SECTION, TARGET_HAVE_TLS,
2222 TARGET_UNWIND_TABLES_DEFAULT, TARGET_TERMINATE_DW2_EH_FRAME_INFO):
2223 Use @deftypevr rather than @deftypevar.
2225 2009-04-17 Richard Guenther <rguenther@suse.de>
2227 * tree-ssa-forwprop.c (get_prop_dest_stmt): Clean up tuplification.
2228 (get_prop_source_stmt): Likewise.
2229 (can_propagate_from): Likewise.
2231 2009-04-17 Andrew Stubbs <ams@codesourcery.com>
2233 * configure.ac: Add new AC_SUBST for TM_ENDIAN_CONFIG,
2234 TM_MULTILIB_CONFIG and TM_MULTILIB_EXCEPTIONS_CONFIG.
2235 (--with-multilib-list): Add default value.
2236 * configure: Regenerate.
2237 * Makefile.in (TM_ENDIAN_CONFIG): Define.
2238 (TM_MULTILIB_CONFIG, TM_MULTILIB_EXCEPTIONS_CONFIG): Define.
2239 * config.gcc (sh-*-*): Switch to using TM_ENDIAN_CONFIG,
2240 TM_MULTILIB_CONFIG, and TM_MULTILIB_EXCEPTIONS_CONFIG.
2241 Don't add default cpu to multilib list unnecessarily, but do enable
2242 the relevant compiler option..
2243 Add support for --with-multilib-list=<blank> and
2244 --with-multilib-list=!<somelib> to supress unwanted multilibs.
2245 * config/sh/t-sh (DEFAULT_ENDIAN, OTHER_ENDIAN): New variables.
2246 (MULTILIB_ENDIAN, MULTILIB_CPUS): Delete variables.
2247 (MULTILIB_OPTIONS): Redefine using OTHER_ENDIAN and
2249 (MULTILIB_EXCEPTIONS): Add TM_MULTILIB_EXCEPTIONS_CONFIG.
2250 (MULTILIB_OSDIRNAMES): New variable.
2251 * config/sh/t-1e: Delete file.
2252 * config/sh/t-mlib-sh1: Delete file.
2253 * config/sh/t-mlib-sh2: Delete file.
2254 * config/sh/t-mlib-sh2a: Delete file.
2255 * config/sh/t-mlib-sh2a-nofpu: Delete file.
2256 * config/sh/t-mlib-sh2a-single: Delete file.
2257 * config/sh/t-mlib-sh2a-single-only: Delete file.
2258 * config/sh/t-mlib-sh2e: Delete file.
2259 * config/sh/t-mlib-sh3e: Delete file.
2260 * config/sh/t-mlib-sh4: Delete file.
2261 * config/sh/t-mlib-sh4-nofpu: Delete file.
2262 * config/sh/t-mlib-sh4-single: Delete file.
2263 * config/sh/t-mlib-sh4-single-only: Delete file.
2264 * config/sh/t-mlib-sh4a: Delete file.
2265 * config/sh/t-mlib-sh4a-nofpu: Delete file.
2266 * config/sh/t-mlib-sh4a-single: Delete file.
2267 * config/sh/t-mlib-sh4a-single-only: Delete file.
2268 * config/sh/t-mlib-sh4al: Delete file.
2269 * config/sh/t-mlib-sh5-32media: Delete file.
2270 * config/sh/t-mlib-sh5-32media-nofpu: Delete file.
2271 * config/sh/t-mlib-sh5-64media: Delete file.
2272 * config/sh/t-mlib-sh5-64media-nofpu: Delete file.
2273 * config/sh/t-mlib-sh5-compact: Delete file.
2274 * config/sh/t-mlib-sh5-compact-nofpu: Delete file.
2275 * config/sh/t-linux: Don't override MULTILIB_EXCEPTIONS.
2276 * doc/install.texi (Options specification): Add
2277 --with-multilib-list and --with-endian.
2279 2009-04-17 Rafael Avila de Espindola <espindola@google.com>
2281 * Makefile.in (REVISION_s): Always include quotes. Change ifdef to use
2283 (OBJS-common): Add plugin-version.o.
2284 (plugin-version.o): New.
2285 * gcc-plugin.h (plugin_gcc_version): New.
2286 (plugin_default_version_check): New.
2287 (plugin_init_func, plugin_init): Add version argument.
2288 * plugin-version.c: New.
2289 * plugin.c (str_plugin_gcc_version_name): New.
2290 (try_init_one_plugin): Read plugin_gcc_version from the plugin and
2291 pass it to the init function.
2292 (plugin_default_version_check): New.
2294 2009-04-17 Richard Guenther <rguenther@suse.de>
2296 * tree-ssa-alias.c (refs_may_alias_p_1): Do not use TBAA
2297 for decl-vs-decl disambiguation.
2299 2009-04-17 Andreas Krebbel <krebbel1@de.ibm.com>
2301 * config/s390/s390.h (s390_tune_attr): New macro definition.
2302 * config/s390/s390.md (cpu attribute): Map to s390_tune_attr.
2304 2009-04-17 Richard Guenther <rguenther@suse.de>
2306 * tree-ssa-ccp.c (struct fold_stmt_r_data): Remove.
2307 (fold_stmt_r): Likewise.
2308 (maybe_fold_reference): New function.
2309 (fold_gimple_assign): Handle cases fold_stmt_r did.
2310 (fold_stmt): Do not use fold_stmt_r.
2311 (fold_stmt_inplace): Likewise.
2313 2009-04-17 Richard Guenther <rguenther@suse.de>
2315 * tree-ssa-dom.c (gimple_assign_unary_useless_conversion_p): Remove.
2316 (record_equivalences_from_stmt): Remove useless checks and
2318 * tree-ssa-pre.c (eliminate): Avoid converting a constant if
2319 the type is already suitable.
2321 2009-04-17 Paolo Bonzini <bonzini@gnu.org>
2323 * config/sh/sh.h (FUNCTION_VALUE): Fix call to sh_promote_prototypes.
2325 2009-04-17 Uros Bizjak <ubizjak@gmail.com>
2327 * config/arm/sfp-machine.h (__gcc_CMPtype): New typedef.
2328 (CMPtype): Define as __gcc_CMPtype.
2330 2009-04-17 Aurelien Jarno <aurelien@aurel32.net>
2332 * config.gcc: Add soft-fp/t-softfp and i386/t-linux to tmake_file
2333 for i[34567]86-*-kfreebsd*-gnu*, x86_64-*-kfreebsd*-gnu*.
2335 2009-04-17 Richard Guenther <rguenther@suse.de>
2337 PR tree-optimization/39746
2338 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Remove
2339 special-casing for builtins and static variable use/def.
2340 (call_may_clobber_ref_p_1): Likewise.
2342 2009-04-16 Ian Lance Taylor <iant@google.com>
2344 * df.h: Include "timevar.h".
2345 (struct df_problem): Change tv_id field to timevar_id_t.
2346 * tree-pass.h: Include "timevar.h".
2347 (struct opt_pass): Change tv_id field to timevar_id_t.
2348 * timevar.h (timevar_id_t): Define TV_NONE.
2349 * passes.c (execute_one_ipa_transform_pass): Check for tv_id !=
2350 TV_NONE rather than tv_id != 0.
2351 (execute_one_pass): Likewise.
2352 * Makefile.in (DF_H): Add $(TIMEVAR_H).
2353 (TREE_PASS_H): Define. Change all instances of tree-pass.h in
2354 dependencies to $(TREE_PASS_H).
2355 * bt-load.c (pass_branch_target_load_optimize1): Set tv_id field
2357 (pass_branch_target_load_optimize2): Likewise.
2358 * cfglayout.c (pass_into_cfg_layout_mode): Likewise.
2359 (pass_outof_cfg_layout_mode): Likewise.
2360 * cgraphbuild.c (pass_remove_cgraph_callee_edges): Likewise.
2361 (pass_rebuild_cgraph_edges): Likewise.
2362 (pass_remove_cgraph_callee_edges): Likewise.
2363 * df-core.c (pass_df_initialize_opt): Likewise.
2364 (pass_df_initialize_no_opt): Likewise.
2365 (pass_df_finish): Likewise.
2366 * emit-rtl.c (pass_unshare_all_rtl): Likewise.
2367 * except.c (pass_set_nothrow_function_flags): Likewise.
2368 (pass_convert_to_eh_region_ranges): Likewise.
2369 * final.c (pass_compute_alignments): Likewise.
2370 * function.c (pass_instantiate_virtual_regs): Likewise.
2371 (pass_init_function): Likewise.
2372 (pass_leaf_regs): Likewise.
2373 (pass_match_asm_constraints): Likewise.
2374 * gimple-low.c (pass_lower_cf): Likewise.
2375 (pass_mark_used_blocks): Likewise.
2376 * init-regs.c (pass_initialize_regs): Likewise.
2377 * integrate.c (pass_initial_value_sets): Likewise.
2378 * ira.c (pass_ira): Likewise.
2379 * jump.c (pass_cleanup_barriers): Likewise.
2380 * omp-low.c (pass_expand_omp): Likewise.
2381 (pass_lower_omp): Likewise.
2382 * matrix-reorg.c (pass_ipa_matrix_reorg): Likewise.
2383 * recog.c (pass_split_all_insns): Likewise.
2384 (pass_split_after_reload): Likewise.
2385 (pass_split_before_regstack): Likewise.
2386 (pass_split_before_sched2): Likewise.
2387 (pass_split_for_shorten_branches): Likewise.
2388 * reginfo.c (pass_reginfo_init): Likewise.
2389 (pass_subregs_of_mode_init): Likewise.
2390 (pass_subregs_of_mode_finish): Likewise.
2391 * passes.c (pass_postreload): Likewise.
2392 * stack-ptr-mod.c (pass_stack_ptr_mod): Likewise.
2393 * tree-cfg.c (pass_remove_useless_stmts): Likewise.
2394 (pass_warn_function_return): Likewise.
2395 (pass_warn_function_noreturn): Likewise.
2396 * tree-complex.c (pass_lower_complex): Likewise.
2397 (pass_lower_complex_O0): Likewise.
2398 * tree-if-conv.c (pass_if_conversion): Likewise.
2399 * tree-into-ssa.c (pass_build_ssa): Likewise.
2400 * tree-mudflap.c (pass_mudflap_1): Likewise.
2401 (pass_mudflap_2): Likewise.
2402 * tree-nomudflap.c (pass_mudflap_1): Likewise.
2403 (pass_mudflap_2): Likewise.
2404 * tree-nrv.c (pass_return_slot): Likewise.
2405 * tree-object-size.c (pass_object_sizes): Likewise.
2406 * tree-optimize.c (pass_all_optimizations): Likewise.
2407 (pass_early_local_passes): Likewise.
2408 (pass_all_early_optimizations): Likewise.
2409 (pass_cleanup_cfg): Likewise.
2410 (pass_cleanup_cfg_post_optimizing): Likewise.
2411 (pass_free_datastructures): Likewise.
2412 (pass_free_cfg_annotations): Likewise.
2413 (pass_fixup_cfg): Likewise.
2414 (pass_init_datastructures): Likewise.
2415 * tree-ssa.c (pass_early_warn_uninitialized): Likewise.
2416 (pass_late_warn_uninitialized): Likewise.
2417 (pass_update_address_taken): Likewise.
2418 * tree-ssa-ccp.c (pass_fold_builtins): Likewise.
2419 * tree-ssa-math-opts.c (pass_cse_reciprocals): Likewise.
2420 (pass_cse_sincos): Likewise.
2421 (pass_convert_to_rsqrt): Likewise.
2422 * tree-ssa-structalias.c (pass_build_alias): Likewise.
2423 * tree-stdarg.c (pass_stdarg): Likewise.
2424 * tree-tailcall.c (pass_tail_recursion): Likewise.
2425 (pass_tail_calls): Likewise.
2426 * tree-vect-generic.c (pass_lower_vector): Likewise.
2427 (pass_lower_vector_ssa): Likewise.
2428 * tree-vectorizer.c (pass_ipa_increase_alignment): Likewise.
2430 2009-04-16 Joseph Myers <joseph@codesourcery.com>
2432 * config/mips/mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in
2434 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC):
2436 * config/mips/xlr.md (ir_xlr_alu): Also accept insn types move,
2437 logical and signext.
2439 2009-04-16 Kaz Kojima <kkojima@gcc.gnu.org>
2442 * config/sh/predicates.md (arith_operand): Check if the operand
2443 of TRUNCATE is a REG.
2445 2009-04-16 Kazu Hirata <kazu@codesourcery.com>
2447 * cfgrtl.c (delete_insn_chain_and_edges): Remove.
2448 * rtl.h: Remove the prototype for delete_insn_chain_and_edges.
2450 2009-04-16 Kazu Hirata <kazu@codesourcery.com>
2452 * tree-iterator.c (tsi_split_statement_list_after,
2453 tsi_split_statement_list_before): Remove.
2454 * tree-iterator.h: Remove the prototypes for
2455 tsi_split_statement_list_after and tsi_split_statement_list_before.
2457 2009-04-16 Kazu Hirata <kazu@codesourcery.com>
2459 * tree-ssa-propagate.c (stmt_makes_single_load): Remove.
2460 * tree-ssa-propagate.h: Remove the prototype for
2461 stmt_makes_single_load.
2463 2009-04-16 Kazu Hirata <kazu@codesourcery.com>
2465 * emit-rtl.c (set_mem_attrs_from_reg): Remove.
2466 * rtl.h: Remove the prototype for set_mem_attrs_from_reg.
2468 2009-04-16 Kazu Hirata <kazu@codesourcery.com>
2470 * tree-iterator.c (EXPR_LAST_BODY): Remove.
2472 2009-04-16 Kazu Hirata <kazu@codesourcery.com>
2474 * except.c (eh_region_outer_p): Remove.
2475 * except.h: Remove the prototype for eh_region_outer_p.
2477 2009-04-16 Kazu Hirata <kazu@codesourcery.com>
2479 * function.c (current_function_assembler_name): Remove.
2480 * function.h: Remove the prototype for
2481 current_function_assembler_name.
2483 2009-04-16 Ian Lance Taylor <iant@google.com>
2485 * rtlanal.c (alloc_reg_note): New function, broken out of add_reg_note.
2486 (add_reg_note): Call alloc_reg_note.
2487 * rtl.h (alloc_reg_note): Declare.
2488 * combine.c (try_combine): Use alloc_reg_note.
2489 (recog_for_combine, move_deaths): Likewise.
2490 (distribute_notes): Use alloc_reg_note and add_reg_note.
2491 * haifa-sched.c (sched_create_recovery_edges): Use add_reg_note.
2492 * combine-stack-adj.c (adjust_frame_related_expr): Likewise.
2493 * reload1.c (eliminate_regs_1): Use alloc_reg_note.
2495 2009-04-16 Vladimir Makarov <vmakarov@redhat.com>
2497 PR rtl-optimization/39762
2498 * ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
2499 ira_may_move_out_cost): Add comments about way of their usage.
2500 (ira_get_register_move_cost, ira_get_may_move_cost): New functions.
2502 * ira-conflicts.c (process_regs_for_copy): Use function
2503 ira_get_register_move_cost instead of global
2504 ira_register_move_cost.
2506 * ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
2507 color_pass, move_spill_restore, update_curr_costs): Ditto.
2509 * ira-lives.c (process_single_reg_class_operands): Ditto.
2511 * ira-emit.c (emit_move_list): Ditto.
2513 * ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
2514 (record_reg_classes): Ditto. Use functions
2515 ira_get_register_move_cost and ira_get_may_move_cost instead of
2516 global vars ira_register_move_cost, ira_may_move_out_cost and
2517 ira_may_move_in_cost.
2518 (record_address_regs): Don't call ira_init_register_move_cost.
2519 Use function ira_get_may_move_cost instead of global
2520 ira_may_move_in_cost.
2521 (process_bb_node_for_hard_reg_moves): Use function
2522 ira_get_register_move_cost instead of global ira_register_move_cost.
2523 (ira_costs): Don't call ira_init_register_move_cost.
2525 2009-04-16 Richard Guenther <rguenther@suse.de>
2527 * tree-cfg.c (verify_gimple_assign_binary):
2528 Allow POINTER_PLUS_EXPR-like PLUS_EXPR for vectors.
2529 * ipa-struct-reorg.c (gen_size): Fold the built expressions.
2530 (create_general_new_stmt): Note that this function is broken.
2532 2009-04-16 Rafael Avila de Espindola <espindola@google.com>
2534 * common.opt (fhelp): Add Var(help_flag).
2535 * gcc-plugin.h (plugin_info): Add help.
2536 * plugin.c (plugin_name_args): Add help.
2537 (register_plugin_info): Set plugin->help.
2538 (print_help_one_plugin): New.
2539 (print_plugins_help): New.
2540 * plugin.h (print_plugins_help): New.
2541 * toplev.c (toplev_main): Call print_plugins_help if needed.
2543 2009-04-16 Richard Guenther <rguenther@suse.de>
2545 * gimple.c (gimple_copy): Do not clear addresses_taken bitmap.
2546 (gimple_ior_addresses_taken_1): New function.
2547 (gimple_ior_addresses_taken): Likewise.
2548 * gimple.h (struct gimple_statement_with_ops_base): Remove
2549 addresses_taken member.
2550 (gimple_ior_addresses_taken): Declare.
2551 (gimple_addresses_taken, gimple_addresses_taken_ptr,
2552 gimple_set_addresses_taken): Remove.
2553 * ipa-reference.c (mark_address): New function.
2554 (scan_stmt_for_static_refs): Use it for marking addresses taken.
2555 * tree-ssa-operands.c (add_to_addressable_set): Rename to ...
2556 (mark_address_taken): ... this. Just set TREE_ADDRESSABLE.
2557 (gimple_add_to_addresses_taken): Remove.
2558 (get_tmr_operands): Call mark_address_taken.
2559 (get_asm_expr_operands): Likewise.
2560 (get_expr_operands): Likewise.
2561 (build_ssa_operands): Do not clear the addresses_taken bitmap.
2562 (free_stmt_operands): Do not free it.
2563 * tree-ssa.c (delete_tree_ssa): Likewise.
2564 (execute_update_addresses_taken): Use gimple_ior_addresses_taken.
2566 2009-04-16 Richard Guenther <rguenther@suse.de>
2568 * gimple.h (walk_stmt_load_store_addr_ops): Declare.
2569 (walk_stmt_load_store_ops): Likewise.
2570 * gimple.c (get_base_loadstore): New function.
2571 (walk_stmt_load_store_addr_ops): Likewise.
2572 (walk_stmt_load_store_ops): Likewise.
2573 * ipa-pure-const.c (check_op): Simplify.
2574 (check_load, check_store): New functions.
2575 (check_stmt): Use walk_stmt_load_store_ops.
2576 * ipa-reference.c (mark_load): Adjust signature.
2577 (mark_store): Likewise.
2578 (scan_stmt_for_static_refs): Use walk_stmt_load_store_addr_ops.
2580 2009-04-16 Rafael Avila de Espindola <espindola@google.com>
2582 * gcc-plugin.h (plugin_event): Add PLUGIN_INFO.
2584 * opts.c (common_handle_option): Don't call print_version.
2585 * plugin.c (plugin_name_args): Add version.
2586 (register_plugin_info): New.
2587 (register_callback): Handle PLUGIN_INFO.
2588 (try_init_one_plugin): New.
2589 (init_one_plugin): Use try_init_one_plugin. Only free plugin_name_args
2591 (finalize_one_plugin): New.
2592 (finalize_plugins): New.
2593 (print_one_plugin): New.
2594 (print_plugins_versions): New.
2595 * plugin.h (print_plugins_versions): New.
2596 (finalize_plugins): New.
2597 * toplev.c (compile_file): Don't call initialize_plugins.
2598 (print_version): Call print_plugins_versions.
2599 (toplev_main): Call initialize_plugins. Print version if needed.
2600 Call finalize_plugins.
2602 2009-04-16 Rafael Avila de Espindola <espindola@google.com>
2604 * common.opt (fversion): New.
2605 * gcc.c (print_version): New.
2606 (process_command): Don't print the version. Just set print_version.
2607 (main): Print version. Call subprocesses if print_version and
2608 verbose_flag are set.
2609 * opts.c (common_handle_option): Handle OPT_fversion.
2611 2009-04-16 Richard Guenther <rguenther@suse.de>
2612 Ira Rosen <irar@il.ibm.com>
2614 PR tree-optimization/39698
2615 * tree-vect-loop.c (get_initial_def_for_reduction): Use the
2616 type of the reduction variable. Only generate the def if
2619 * omp-low.c (expand_omp_for_generic): When converting to a pointer
2620 make sure to first convert to an integer of the same precision.
2621 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Retain
2622 the type of the evolution correctly in computing the new
2623 induction variable base.
2625 2009-04-16 Richard Guenther <rguenther@suse.de>
2628 * tree-cfg.c (make_blocks): Split statements with to-be
2629 abnormal SSA names on the lhs.
2631 2009-04-16 Paolo Bonzini <bonzini@gnu.org>
2633 * c-common.c (vector_targets_convertible_p, vector_types_convertible_p):
2634 Use TYPE_VECTOR_OPAQUE instead of targetm.vector_opaque_p.
2635 * c-typeck.c (really_start_incremental_init): Likewise.
2636 * target-def.h (TARGET_VECTOR_OPAQUE_P): Remove.
2637 (TARGET_INITIALIZER): Remove it.
2638 * target.h (struct target): Remove vector_opaque_p.
2639 * tree.c (build_opaque_vector_type): New.
2640 * tree.h (TYPE_VECTOR_OPAQUE): New.
2641 (build_opaque_vector_type): Declare.
2642 * doc/tm.texi (TARGET_VECTOR_OPAQUE_P): Remove.
2643 * config/rs6000/rs6000.c (build_opaque_vector_type,
2644 rs6000_is_vector_type, TARGET_VECTOR_OPAQUE_P): Remove.
2645 (rs6000_init_builtins): Use build_opaque_vector_type for
2646 opaque_V4SI_type_node.
2648 2009-04-15 Catherine Moore <clm@codesourcery.com>
2650 * debug.h (set_name): Declare.
2651 * dwarf2out.c (dwarf2out_set_name): Declare.
2652 (dwarf2_debug_hooks): Add set_name.
2653 (find_AT_string): New.
2654 (add_AT_string): Call find_AT_string.
2655 (dwarf2out_set_name): New.
2656 * cp/decl.c (grokdeclarator): Call set_name.
2657 * vmsdbgout.c (vmsdbg_debug_hooks): Add set_name_debug_nothing.
2658 * debug.c (do_nothing_debug_hooks): Likewise.
2659 * dbxout.c (dbx_debug_hooks): Likewise.
2660 * sdbout.c (sdb_debug_hooks): Likewise.
2662 2009-04-15 Michael Eager <eager@eagercon.com>
2664 * config/rs6000/rs6000.c (rs6000_function_value): Set function return
2665 reg for single-precision FPU.
2666 * config/rs6000/rs6000.md (movsi_internal1): Only for
2668 (movsi_internal1_single): New. Add pattern to move SI values to/from
2669 single-precision FP regs.
2671 2009-04-15 Richard Guenther <rguenther@suse.de>
2673 * omp-low.c (lower_rec_input_clauses): Build correct address
2675 (expand_omp_for_generic): Fix multiplication type.
2676 * tree-loop-distribution.c (build_size_arg): Build a size_t argument.
2677 (generate_memset_zero): Fix types.
2678 * tree-profile.c (prepare_instrumented_value): Correctly
2681 2009-04-15 Ian Lance Taylor <iant@google.com>
2683 * c.opt (Wenum-compare): Enable for C and Objc. Initialize to -1.
2684 * c-opts.c (c_common_handle_option): For C, set warn_enum_compare
2685 for -Wall and for -Wc++-compat.
2686 (c_common_post_options): For C++, set warn_enum_compare if not
2688 * c-tree.h (struct c_expr): Add field original_type.
2689 (build_external_ref): Update declaration.
2690 * c-parser.c (c_parser_braced_init): Set original_type.
2691 (c_parser_initelt): Likewise.
2692 (c_parser_expr_no_commas): Likewise.
2693 (c_parser_conditional_expression): Likewise.
2694 (c_parser_cast_expression): Likewise.
2695 (c_parser_unary_expression): Likewise. Pull setting of
2696 original_code to top of function.
2697 (c_parser_sizeof_expression): Set original_type.
2698 (c_parser_alignof_expression): Likewise.
2699 (c_parser_postfix_expression): Likewise. Pull setting of
2700 original_code to top of function.
2701 (c_parser_postfix_expression_after_paren_type): Set original_type.
2702 (c_parser_postfix_expression_after_primary): Likewise.
2703 (c_parser_expression): Likewise.
2704 * c-typeck.c (build_external_ref): Add type parameter. Change all
2706 (c_expr_sizeof_expr): Set original_type field.
2707 (parser_build_unary_op): Likewise.
2708 (parser_build_binary_op): Likewise. Optionally warn about
2709 comparisons of enums of different types.
2710 (digest_init): Set original_type field.
2711 (really_start_incremental_init): Likewise.
2712 (push_init_level, pop_init_level): Likewise.
2713 * doc/invoke.texi (Warning Options): -Wenum-compare now
2716 2009-04-15 Richard Guenther <rguenther@suse.de>
2718 * tree-ssa-pre.c (eliminate): When replacing a PHI node carry
2719 out a necessary conversion.
2720 * tree-ssa-sccvn.c (run_scc_vn): Also assign value-ids to
2721 names we didn't value number.
2722 * tree-mudflap.c (mf_build_check_statement_for): Use correct types.
2724 2009-04-15 Richard Guenther <rguenther@suse.de>
2726 PR tree-optimization/39764
2727 * tree-ssa-ccp.c (get_value): Canonicalize value with
2728 canonicalize_float_value.
2730 2009-04-15 Jan Hubicka <jh@suse.cz>
2732 * builtins.def (va_start, va_end, va_copy): Fix my previous commit.
2733 Wrong version of patch.
2735 2009-04-15 Jan Hubicka <jh@suse.cz>
2737 * builtins.def (va_start, va_end, va_copy): Mark nothrow.
2739 2009-04-15 Nathan Sidwell <nathan@codesourcery.com>
2741 * config/rs6000/rs6000.c (rs6000_init_builtins): Set TYPE_NAME of
2742 our distinct integral and vector types.
2744 2009-04-15 Rafael Avila de Espindola <espindola@google.com>
2746 * class.c (build_vtbl_ref_1): Remove call to assemble_external.
2747 * init.c (build_vtbl_address): Remove call to assemble_external.
2749 2009-04-14 Daniel Jacobowitz <dan@codesourcery.com>
2751 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): Fix debug
2752 output for other floating point modes.
2754 2009-04-14 Diego Novillo <dnovillo@google.com>
2756 * diagnostic.c (diagnostic_report_diagnostic): Do not
2757 warn about loaded plugins for DK_ERROR and DK_WARNING.
2758 * c-decl.c (declspecs_add_type): Move call to
2759 invoke_plugin_callbacks ...
2760 * c-parser.c (c_parser_declspecs): ... here.
2761 * plugin.c (dump_active_plugins): Tidy output.
2763 2009-04-14 Diego Novillo <dnovillo@google.com>
2764 Le-Chun Wu <lcwu@google.com>
2766 * configure.ac: Add --enable-plugin support.
2767 Define ENABLE_PLUGIN and PLUGINLIBS when specified.
2768 * Makefile.in (PLUGIN_H): Define.
2769 Export ENABLE_PLUGIN and GMPINC to site.exp.
2770 Add PLUGINLIBS to link command.
2771 Add/modify dependencies for plugin.o and files including plugin.h.
2773 * config.in: Regenerate.
2775 * opts.c (common_handle_option): Handle OPT_fplugin_ and
2778 2009-04-14 Le-Chun Wu <lcwu@google.com>
2780 * tree-pass.h (register_one_dump_file): Add a prototype for
2781 register_one_dump_file.
2782 * toplev.c (compile_file): Call initialize_plugins.
2783 (do_compile): Call invoke_plugin_callbacks.
2784 (toplev_main): Call invoke_plugin_callbacks.
2785 * common.opt: Add -fplugin= and -fplugin-arg-.
2786 * gcc-plugin.h: New public header file for plugins to include.
2787 * plugin.c: New source file.
2788 * plugin.h: New internal header file.
2789 * passes.c (register_one_dump_file): Make it external.
2791 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks.
2793 2009-04-14 Diego Novillo <dnovillo@google.com>
2795 * doc/plugins.texi: New.
2796 * doc/gccint.texi: Add reference to Plugins chapter.
2797 * doc/invoke.texi: Document -fplugin and -fplugin-arg
2798 * diagnostic.c (diagnostic_report_diagnostic): Warn about
2799 loaded plugins, if any.
2800 * timevar.def (TV_PLUGIN_INIT): Define.
2801 (TV_PLUGIN_RUN): Define.
2802 * plugin.c: Include timevar.h
2803 (plugins_active_p): New.
2804 (dump_active_plugins): New.
2805 (debug_active_plugins): New.
2807 2009-04-14 Joseph Myers <joseph@codesourcery.com>
2809 * config/sol2.h (LINK_ARCH32_SPEC_BASE): Use %R with absolute
2811 * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Likewise.
2813 2009-04-14 Kazu Hirata <kazu@codesourcery.com>
2815 * config/arm/arm.c (arm_rtx_costs_1): Treat a minus with a shift
2816 the same as a minus without a shift.
2818 2009-04-14 Nick Clifton <nickc@redhat.com>
2820 * config/stormy16/stormy16.md (ineqbranch_1): Do not assume that
2821 comparisons with small integers will always produce a short
2824 2009-04-14 Rafael Avila de Espindola <espindola@google.com>
2827 2008-12-19 Diego Novillo <dnovillo@google.com>
2829 * cgraph.c (dump_cgraph_node): Show memory address of NODE.
2831 2009-04-14 Richard Guenther <rguenther@suse.de>
2833 * tree-cfg.c (verify_gimple_assign_unary): Adjust vector code
2835 (verify_gimple_assign_binary): Likewise. Handle shifts and
2837 (verify_gimple_phi): Print the mismatched argument position.
2838 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
2840 (vect_update_init_of_dr): Likewise.
2841 * matrix-reorg.c (transform_access_sites): Do what the
2843 * omp-low.c (expand_omp_atomic_pipeline): Use the correct types.
2845 2009-04-13 Michael Eager <eager@eagercon.com>
2847 * config/rs6000/rs6000-c.c: generate defines if rs6000_xilinx_fpu:
2848 _XFPU, _XFPU_SP_LITE, _XFPU_SP_FULL, _XFPU_DP_LITE, _XFPU_DP_FULL
2849 * config/rs6000/xilinx.h: New. Spec for powerpc-xilinx-eabi
2850 * config.gcc (powerpc-xilinx-eabi): add xilinx.h to tm_file,
2851 remove duplicate config
2853 2009-04-13 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
2855 * ipa-inline.c (cgraph_decide_inlining_of_small_function): Dump
2856 file_name:line_number type locator of the call site.
2858 2009-04-13 Vladimir Makarov <vmakarov@redhat.com>
2860 * genautomata.c: Put blank after comma.
2861 (automaton_decls): New.
2862 (struct unit_usage): Add comments to member next.
2863 (store_alt_unit_usage): Keep the list ordered.
2864 (unit_present_on_list_p, equal_alternatives_p): New.
2865 (check_regexp_units_distribution): Check units distribution
2866 correctness correctly.
2867 (main): Don't write automata if error is found. Return correct
2870 * config/m68k/cf.md (cfv4_ds): Remove.
2871 (cfv4_pOEP1, cfv4_sOEP1, cfv4_pOEP2,cfv4_sOEP2, cfv4_pOEP3,
2872 cfv4_sOEP3): Assign to cfv4_oep instead of cfv4_ds.
2874 * config/rs6000/power4.md (lsuq_power4, iq_power4, fpq_power4,
2875 power4-load-ext, power4-store, power4-store-update,
2876 power4-fpstore, power4-fpstore-update, power4-two, power4-three,
2877 power4-insert, power4-compare, power4-lmul-cmp, power4-imul-cmp,
2878 power4-lmul, , power4-imul, power4-imul3, power4-sdiv,
2879 power4-sqrt, power4-isync): Modify reservation to make correct
2880 unit distribution to automata.
2882 * config/rs6000/power5.md (iq_power5, fpq_power5, power5-store,
2883 power5-store-update, power5-two, power5-three, power5-lmul,
2884 power5-imul, power5-imul3, power5-sdiv, power5-sqrt): Ditto.
2886 2009-04-13 Adam Nemet <anemet@caviumnetworks.com>
2888 * except.c (pass_set_nothrow_function_flags): Set name and add
2890 (set_nothrow_function_flags): Mention in the dump file when
2891 changing a function to nothrow.
2893 2009-04-13 Ozkan Sezer <sezeroz@gmail.com>
2896 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Use __SIZE_TYPE__
2897 instead of unsigned long.
2899 2009-04-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2901 * config/arm/arm.c (return_used_this_function): Remove.
2902 (arm_output_function_prologue): Remove use of
2903 return_used_this_function.
2904 (output_return_instruction): Replace use of
2905 return_used_this_function
2906 by cfun->machine->return_used_this_function.
2907 (arm_output_epilogue): Likewise.
2908 (arm_output_function_epilogue): Likewise.
2909 (thumb_unexpanded_epilogue): Likewise.
2910 * config/arm/arm.h (struct machine_function):
2911 New member return_used_this_function.
2913 2009-04-12 Mark Mitchell <mark@codesourcery.com>
2915 * doc/install.texi: Correct description of default directory for
2916 --with-gxx-include-dir.
2918 2009-04-12 Eric Botcazou <ebotcazou@adacore.com>
2920 * fold-const.c (build_range_check): Properly deal with enumeral and
2923 2009-04-12 Steven Bosscher <steven@gcc.gnu.org>
2925 * doc/invoke.texi (max_gcse_passes): Remove documentation.
2926 * params.def (PARAM_MAX_GCSE_PASSES): Remove.
2927 * params.h (MAX_GCSE_PASSES): Remove.
2928 * gcse.c (gcse_main): Run CPROP1, PRE or HOIST, and CPROP2
2929 in sequence. Remove ability to run multiple passes.
2930 (bypass_jumps): Report run as third CPROP pass.
2932 2009-04-12 Adam Nemet <anemet@caviumnetworks.com>
2935 * except.c (can_throw_external): Look at each insn in a SEQUENCE
2936 when deciding whether the whole SEQUENCE can throw.
2938 2009-04-12 Uros Bizjak <ubizjak@gmail.com>
2941 * config/alpha/predicates.md (local_symbolic_operand): Return 1 for
2942 offseted label references.
2944 2009-04-11 Jan Hubicka <jh@suse.cz>
2946 * tree-ssa-pre.c (eliminate): Fix call of update_stmt.
2948 2009-04-11 Richard Guenther <rguenther@suse.de>
2951 * tree-inline.c (declare_return_variable): Mark DECL_BY_REFERENCE
2952 return variables as TREE_ADDRESSABLE.
2954 2009-04-11 Richard Guenther <rguenther@suse.de>
2956 PR tree-optimization/39713
2957 * tree-ssa-sccvn.c (vn_get_expr_for): Make sure built
2958 reference trees have SSA_NAME operands.
2960 2009-04-11 Richard Guenther <rguenther@suse.de>
2963 * c-gimplify.c (c_gimplify_expr): Adjust check for mismatched
2964 address expressions.
2966 2009-04-11 Dave Korn <dave.korn.cygwin@gmail.com>
2968 * config/i386/cygwin-stdint.h (INT_LEAST32_TYPE): Update to
2969 match changes in Cygwin 1.7
2970 (UINT_LEAST32_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE,
2971 UINT_FAST16_TYPE, UINT_FAST32_TYPE): Likewise.
2973 2009-04-10 Paolo Bonzini <bonzini@gnu.org>
2975 PR tree-optimization/39701
2976 * doc/invoke.texi (Optimization Options): Document change in
2977 meaning and initialization of -fdelete-null-pointer-checks.
2979 2009-04-10 H.J. Lu <hongjiu.lu@intel.com>
2982 * common.opt (-fdelete-null-pointer-checks): Initialize to 1.
2984 * opts.c (decode_options): Don't set flag_delete_null_pointer_checks
2987 * doc/invoke.texi: Update -fdelete-null-pointer-checks.
2989 2009-04-10 Chao-ying Fu <fu@mips.com>
2991 * doc/tm.texi (Instruction Output): Document
2992 TARGET_ASM_FINAL_POSTSCAN_INSN.
2993 * target.h (final_postscan_insn): New field in asm_out.
2994 * target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
2995 (TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN.
2996 * final.c (final_scan_insn): Call
2997 targetm.asm_out.final_postscan_insn after outputting
2998 an asm macro and a normal instruction.
3000 * config/mips/mips.h (FINAL_PRESCAN_INSN): New define.
3001 * config/mips/mips-protos.h (mips_final_prescan_insn): Declare.
3002 * config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback.
3003 (mips_final_prescan_insn, mips_final_postscan_insn): New functions.
3004 (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
3006 2009-04-10 Paolo Bonzini <bonzini@gnu.org>
3009 * fold-const.c (tree_single_nonzero_warnv_p): Pass non-static
3010 variables as non-NULL even with -fdelete-null-pointer-checks.
3012 2009-04-10 H.J. Lu <hongjiu.lu@intel.com>
3014 * config/rs6000/darwin-vecsave.asm: Remove extra "*/".
3016 2009-04-09 H.J. Lu <hongjiu.lu@intel.com>
3019 * config/i386/i386.c (classify_argument): Handle SCmode with
3020 (bit_offset % 64) != 0.
3022 2009-04-09 Sandra Loosemore <sandra@codesourcery.com>
3024 * doc/invoke.texi (Optimize Options): Add cross-reference to
3025 -Q --help=optimizers examples.
3027 2009-04-10 Ben Elliston <bje@au.ibm.com>
3030 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Do not set
3031 regalign for the reg == fpr and TDmode case.
3033 2009-04-09 David Ayers <ayers@fsfe.org>
3036 * objc/objc-act.c (warn_with_method): Remove helper function.
3037 (check_duplicates): Call warning and inform directly.
3038 (really_start_method): Likewise.
3040 2009-04-09 Paolo Bonzini <bonzini@gnu.org>
3042 * expmed.c (expand_divmod): Always use a comparison for a division
3043 by a large unsigned integer.
3045 * fold-const.c (tree_single_nonzero_warnv_p): Always treat decls
3046 for things others than variables or functions as nonzero.
3048 2009-04-09 Nick Clifton <nickc@redhat.com>
3050 * unwind-compat.c: Change copyright header to refer to version
3051 3 of the GNU General Public License with version 3.1 of the
3052 GCC Runtime Library Exception and to point readers at the
3053 COPYING3 and COPYING3.RUNTIME files and the FSF's license web page.
3054 * config/alpha/crtfastmath.c: Likewise.
3055 * config/alpha/linux-unwind.h: Likewise.
3056 * config/alpha/qrnnd.asm: Likewise.
3057 * config/alpha/vms-crt0-64.c: Likewise.
3058 * config/alpha/vms-crt0.c: Likewise.
3059 * config/alpha/vms-dwarf2.asm: Likewise.
3060 * config/alpha/vms-dwarf2eh.asm: Likewise.
3061 * config/alpha/vms-psxcrt0-64.c: Likewise.
3062 * config/alpha/vms-psxcrt0.c: Likewise.
3063 * config/alpha/vms_tramp.asm: Likewise.
3064 * config/arc/initfini.c: Likewise.
3065 * config/arc/lib1funcs.asm: Likewise.
3066 * config/arm/bpabi-v6m.S: Likewise.
3067 * config/arm/bpabi.S: Likewise.
3068 * config/arm/bpabi.c: Likewise.
3069 * config/arm/crti.asm: Likewise.
3070 * config/arm/crtn.asm: Likewise.
3071 * config/arm/ieee754-df.S: Likewise.
3072 * config/arm/ieee754-sf.S: Likewise.
3073 * config/arm/lib1funcs.asm: Likewise.
3074 * config/arm/libunwind.S: Likewise.
3075 * config/arm/linux-atomic.c: Likewise.
3076 * config/arm/mmintrin.h: Likewise.
3077 * config/arm/pr-support.c: Likewise.
3078 * config/arm/unaligned-funcs.c: Likewise.
3079 * config/arm/unwind-arm.c: Likewise.
3080 * config/arm/unwind-arm.h: Likewise.
3081 * config/avr/libgcc.S: Likewise.
3082 * config/bfin/crti.s: Likewise.
3083 * config/bfin/crtlibid.s: Likewise.
3084 * config/bfin/crtn.s: Likewise.
3085 * config/bfin/lib1funcs.asm: Likewise.
3086 * config/bfin/linux-unwind.h: Likewise.
3087 * config/cris/arit.c: Likewise.
3088 * config/cris/cris_abi_symbol.c: Likewise.
3089 * config/darwin-64.c: Likewise.
3090 * config/darwin-crt2.c: Likewise.
3091 * config/darwin-crt3.c: Likewise.
3092 * config/darwin.h: Likewise.
3093 * config/dbxelf.h: Likewise.
3094 * config/dfp-bit.c: Likewise.
3095 * config/dfp-bit.h: Likewise.
3096 * config/elfos.h: Likewise.
3097 * config/fixed-bit.c: Likewise.
3098 * config/fixed-bit.h: Likewise.
3099 * config/fp-bit.c: Likewise.
3100 * config/fp-bit.h: Likewise.
3101 * config/fr30/crti.asm: Likewise.
3102 * config/fr30/crtn.asm: Likewise.
3103 * config/fr30/lib1funcs.asm: Likewise.
3104 * config/freebsd-spec.h: Likewise.
3105 * config/frv/cmovd.c: Likewise.
3106 * config/frv/cmovh.c: Likewise.
3107 * config/frv/cmovw.c: Likewise.
3108 * config/frv/frvbegin.c: Likewise.
3109 * config/frv/frvend.c: Likewise.
3110 * config/frv/lib1funcs.asm: Likewise.
3111 * config/glibc-stdint.h: Likewise.
3112 * config/h8300/clzhi2.c: Likewise.
3113 * config/h8300/crti.asm: Likewise.
3114 * config/h8300/crtn.asm: Likewise.
3115 * config/h8300/ctzhi2.c: Likewise.
3116 * config/h8300/fixunssfsi.c: Likewise.
3117 * config/h8300/lib1funcs.asm: Likewise.
3118 * config/h8300/parityhi2.c: Likewise.
3119 * config/h8300/popcounthi2.c: Likewise.
3120 * config/i386/ammintrin.h: Likewise.
3121 * config/i386/att.h: Likewise.
3122 * config/i386/avxintrin.h: Likewise.
3123 * config/i386/biarch64.h: Likewise.
3124 * config/i386/bmmintrin.h: Likewise.
3125 * config/i386/cpuid.h: Likewise.
3126 * config/i386/cross-stdarg.h: Likewise.
3127 * config/i386/crtfastmath.c: Likewise.
3128 * config/i386/crtprec.c: Likewise.
3129 * config/i386/cygming-crtbegin.c: Likewise.
3130 * config/i386/cygming-crtend.c: Likewise.
3131 * config/i386/cygwin.asm: Likewise.
3132 * config/i386/emmintrin.h: Likewise.
3133 * config/i386/gmm_malloc.h: Likewise.
3134 * config/i386/gthr-win32.c: Likewise.
3135 * config/i386/i386.h: Likewise.
3136 * config/i386/immintrin.h: Likewise.
3137 * config/i386/linux-unwind.h: Likewise.
3138 * config/i386/linux64.h: Likewise.
3139 * config/i386/mm3dnow.h: Likewise.
3140 * config/i386/mmintrin-common.h: Likewise.
3141 * config/i386/mmintrin.h: Likewise.
3142 * config/i386/nmmintrin.h: Likewise.
3143 * config/i386/pmm_malloc.h: Likewise.
3144 * config/i386/pmmintrin.h: Likewise.
3145 * config/i386/smmintrin.h: Likewise.
3146 * config/i386/sol2-c1.asm: Likewise.
3147 * config/i386/sol2-ci.asm: Likewise.
3148 * config/i386/sol2-cn.asm: Likewise.
3149 * config/i386/sol2-gc1.asm: Likewise.
3150 * config/i386/tmmintrin.h: Likewise.
3151 * config/i386/unix.h: Likewise.
3152 * config/i386/w32-unwind.h: Likewise.
3153 * config/i386/wmmintrin.h: Likewise.
3154 * config/i386/x86-64.h: Likewise.
3155 * config/i386/x86intrin.h: Likewise.
3156 * config/i386/xmmintrin.h: Likewise.
3157 * config/ia64/crtbegin.asm: Likewise.
3158 * config/ia64/crtend.asm: Likewise.
3159 * config/ia64/crtfastmath.c: Likewise.
3160 * config/ia64/crti.asm: Likewise.
3161 * config/ia64/crtn.asm: Likewise.
3162 * config/ia64/fde-glibc.c: Likewise.
3163 * config/ia64/lib1funcs.asm: Likewise.
3164 * config/ia64/linux-unwind.h: Likewise.
3165 * config/ia64/quadlib.c: Likewise.
3166 * config/ia64/unwind-ia64.c: Likewise.
3167 * config/linux.h: Likewise.
3168 * config/m32c/m32c-lib1.S: Likewise.
3169 * config/m32c/m32c-lib2-trapv.c: Likewise.
3170 * config/m32c/m32c-lib2.c: Likewise.
3171 * config/m32r/initfini.c: Likewise.
3172 * config/m68hc11/larith.asm: Likewise.
3173 * config/m68hc11/m68hc11-crt0.S: Likewise.
3174 * config/m68k/cf.md: Likewise.
3175 * config/m68k/crti.s: Likewise.
3176 * config/m68k/crtn.s: Likewise.
3177 * config/m68k/lb1sf68.asm: Likewise.
3178 * config/m68k/linux-unwind.h: Likewise.
3179 * config/mcore/crti.asm: Likewise.
3180 * config/mcore/crtn.asm: Likewise.
3181 * config/mcore/lib1.asm: Likewise.
3182 * config/mips/linux-unwind.h: Likewise.
3183 * config/mips/loongson.h: Likewise.
3184 * config/mips/mips16.S: Likewise.
3185 * config/mmix/crti.asm: Likewise.
3186 * config/mmix/crtn.asm: Likewise.
3187 * config/pa/fptr.c: Likewise.
3188 * config/pa/hpux-unwind.h: Likewise.
3189 * config/pa/lib2funcs.asm: Likewise.
3190 * config/pa/linux-atomic.c: Likewise.
3191 * config/pa/linux-unwind.h: Likewise.
3192 * config/pa/milli64.S: Likewise.
3193 * config/pa/quadlib.c: Likewise.
3194 * config/pa/stublib.c: Likewise.
3195 * config/picochip/libgccExtras/adddi3.asm: Likewise.
3196 * config/picochip/libgccExtras/ashlsi3.asm: Likewise.
3197 * config/picochip/libgccExtras/ashlsi3.c: Likewise.
3198 * config/picochip/libgccExtras/ashrsi3.asm: Likewise.
3199 * config/picochip/libgccExtras/ashrsi3.c: Likewise.
3200 * config/picochip/libgccExtras/cmpsi2.asm: Likewise.
3201 * config/picochip/libgccExtras/divmod15.asm: Likewise.
3202 * config/picochip/libgccExtras/divmodhi4.asm: Likewise.
3203 * config/picochip/libgccExtras/divmodsi4.asm: Likewise.
3204 * config/picochip/libgccExtras/longjmp.asm: Likewise.
3205 * config/picochip/libgccExtras/lshrsi3.asm: Likewise.
3206 * config/picochip/libgccExtras/lshrsi3.c: Likewise.
3207 * config/picochip/libgccExtras/parityhi2.asm: Likewise.
3208 * config/picochip/libgccExtras/popcounthi2.asm: Likewise.
3209 * config/picochip/libgccExtras/setjmp.asm: Likewise.
3210 * config/picochip/libgccExtras/subdi3.asm: Likewise.
3211 * config/picochip/libgccExtras/ucmpsi2.asm: Likewise.
3212 * config/picochip/libgccExtras/udivmodhi4.asm: Likewise.
3213 * config/picochip/libgccExtras/udivmodsi4.asm: Likewise.
3214 * config/rs6000/750cl.h: Likewise.
3215 * config/rs6000/altivec.h: Likewise.
3216 * config/rs6000/biarch64.h: Likewise.
3217 * config/rs6000/crtresfpr.asm: Likewise.
3218 * config/rs6000/crtresgpr.asm: Likewise.
3219 * config/rs6000/crtresxfpr.asm: Likewise.
3220 * config/rs6000/crtresxgpr.asm: Likewise.
3221 * config/rs6000/crtsavfpr.asm: Likewise.
3222 * config/rs6000/crtsavgpr.asm: Likewise.
3223 * config/rs6000/darwin-asm.h: Likewise.
3224 * config/rs6000/darwin-fallback.c: Likewise.
3225 * config/rs6000/darwin-fpsave.asm: Likewise.
3226 * config/rs6000/darwin-ldouble.c: Likewise.
3227 * config/rs6000/darwin-tramp.asm: Likewise.
3228 * config/rs6000/darwin-unwind.h: Likewise.
3229 * config/rs6000/darwin-vecsave.asm: Likewise.
3230 * config/rs6000/darwin-world.asm: Likewise.
3231 * config/rs6000/e500crtres32gpr.asm: Likewise.
3232 * config/rs6000/e500crtres64gpr.asm: Likewise.
3233 * config/rs6000/e500crtres64gprctr.asm: Likewise.
3234 * config/rs6000/e500crtrest32gpr.asm: Likewise.
3235 * config/rs6000/e500crtrest64gpr.asm: Likewise.
3236 * config/rs6000/e500crtresx32gpr.asm: Likewise.
3237 * config/rs6000/e500crtresx64gpr.asm: Likewise.
3238 * config/rs6000/e500crtsav32gpr.asm: Likewise.
3239 * config/rs6000/e500crtsav64gpr.asm: Likewise.
3240 * config/rs6000/e500crtsav64gprctr.asm: Likewise.
3241 * config/rs6000/e500crtsavg32gpr.asm: Likewise.
3242 * config/rs6000/e500crtsavg64gpr.asm: Likewise.
3243 * config/rs6000/e500crtsavg64gprctr.asm: Likewise.
3244 * config/rs6000/eabi-ci.asm: Likewise.
3245 * config/rs6000/eabi-cn.asm: Likewise.
3246 * config/rs6000/eabi.asm: Likewise.
3247 * config/rs6000/linux-unwind.h: Likewise.
3248 * config/rs6000/linux64.h: Likewise.
3249 * config/rs6000/paired.h: Likewise.
3250 * config/rs6000/paired.md: Likewise.
3251 * config/rs6000/ppc64-fp.c: Likewise.
3252 * config/rs6000/ppu_intrinsics.h: Likewise.
3253 * config/rs6000/rs6000.h: Likewise.
3254 * config/rs6000/si2vmx.h: Likewise.
3255 * config/rs6000/sol-ci.asm: Likewise.
3256 * config/rs6000/sol-cn.asm: Likewise.
3257 * config/rs6000/spe.h: Likewise.
3258 * config/rs6000/spu2vmx.h: Likewise.
3259 * config/rs6000/sysv4.h: Likewise.
3260 * config/rs6000/tramp.asm: Likewise.
3261 * config/rs6000/vec_types.h: Likewise.
3262 * config/s390/linux-unwind.h: Likewise.
3263 * config/s390/tpf-unwind.h: Likewise.
3264 * config/score/crti.asm: Likewise.
3265 * config/score/crtn.asm: Likewise.
3266 * config/sh/crt1.asm: Likewise.
3267 * config/sh/crti.asm: Likewise.
3268 * config/sh/crtn.asm: Likewise.
3269 * config/sh/divtab-sh4-300.c: Likewise.
3270 * config/sh/divtab-sh4.c: Likewise.
3271 * config/sh/divtab.c: Likewise.
3272 * config/sh/lib1funcs-4-300.asm: Likewise.
3273 * config/sh/lib1funcs-Os-4-200.asm: Likewise.
3274 * config/sh/lib1funcs.asm: Likewise.
3275 * config/sh/lib1funcs.h: Likewise.
3276 * config/sh/linux-atomic.asm: Likewise.
3277 * config/sh/linux-unwind.h: Likewise.
3278 * config/sh/shmedia.h: Likewise.
3279 * config/sh/sshmedia.h: Likewise.
3280 * config/sh/ushmedia.h: Likewise.
3281 * config/sparc/crtfastmath.c: Likewise.
3282 * config/sparc/linux-unwind.h: Likewise.
3283 * config/sparc/sol2-c1.asm: Likewise.
3284 * config/sparc/sol2-ci.asm: Likewise.
3285 * config/sparc/sol2-cn.asm: Likewise.
3286 * config/spu/divmodti4.c: Likewise.
3287 * config/spu/divv2df3.c: Likewise.
3288 * config/spu/float_disf.c: Likewise.
3289 * config/spu/float_unsdidf.c: Likewise.
3290 * config/spu/float_unsdisf.c: Likewise.
3291 * config/spu/float_unssidf.c: Likewise.
3292 * config/spu/mfc_multi_tag_release.c: Likewise.
3293 * config/spu/mfc_multi_tag_reserve.c: Likewise.
3294 * config/spu/mfc_tag_release.c: Likewise.
3295 * config/spu/mfc_tag_reserve.c: Likewise.
3296 * config/spu/mfc_tag_table.c: Likewise.
3297 * config/spu/multi3.c: Likewise.
3298 * config/spu/spu_internals.h: Likewise.
3299 * config/spu/spu_intrinsics.h: Likewise.
3300 * config/spu/spu_mfcio.h: Likewise.
3301 * config/spu/vec_types.h: Likewise.
3302 * config/spu/vmx2spu.h: Likewise.
3303 * config/stormy16/stormy16-lib2.c: Likewise.
3304 * config/svr4.h: Likewise.
3305 * config/sync.c: Likewise.
3306 * config/v850/lib1funcs.asm: Likewise.
3307 * config/vxlib-tls.c: Likewise.
3308 * config/vxlib.c: Likewise.
3309 * config/vxworks-dummy.h: Likewise.
3310 * config/xtensa/crti.asm: Likewise.
3311 * config/xtensa/crtn.asm: Likewise.
3312 * config/xtensa/ieee754-df.S: Likewise.
3313 * config/xtensa/ieee754-sf.S: Likewise.
3314 * config/xtensa/lib1funcs.asm: Likewise.
3315 * config/xtensa/lib2funcs.S: Likewise.
3316 * config/xtensa/linux-unwind.h: Likewise.
3317 * config/xtensa/unwind-dw2-xtensa.c: Likewise.
3318 * config/xtensa/unwind-dw2-xtensa.h: Likewise.
3319 * coretypes.h: Likewise.
3320 * crtstuff.c: Likewise.
3321 * defaults.h: Likewise.
3322 * dwarf2.h: Likewise.
3323 * emutls.c: Likewise.
3324 * gbl-ctors.h: Likewise.
3325 * gcov-io.h: Likewise.
3326 * ginclude/float.h: Likewise.
3327 * ginclude/iso646.h: Likewise.
3328 * ginclude/stdarg.h: Likewise.
3329 * ginclude/stdbool.h: Likewise.
3330 * ginclude/stddef.h: Likewise.
3331 * ginclude/stdfix.h: Likewise.
3332 * ginclude/stdint-gcc.h: Likewise.
3333 * ginclude/tgmath.h: Likewise.
3334 * gthr-aix.h: Likewise.
3335 * gthr-dce.h: Likewise.
3336 * gthr-gnat.c: Likewise.
3337 * gthr-gnat.h: Likewise.
3338 * gthr-lynx.h: Likewise.
3339 * gthr-mipssde.h: Likewise.
3340 * gthr-nks.h: Likewise.
3341 * gthr-posix.c: Likewise.
3342 * gthr-posix.h: Likewise.
3343 * gthr-posix95.h: Likewise.
3344 * gthr-rtems.h: Likewise.
3345 * gthr-single.h: Likewise.
3346 * gthr-solaris.h: Likewise.
3347 * gthr-tpf.h: Likewise.
3348 * gthr-vxworks.h: Likewise.
3349 * gthr-win32.h: Likewise.
3351 * libgcc2.c: Likewise.
3352 * libgcc2.h: Likewise.
3353 * libgcov.c: Likewise.
3354 * tsystem.h: Likewise.
3355 * typeclass.h: Likewise.
3356 * unwind-c.c: Likewise.
3357 * unwind-compat.h: Likewise.
3358 * unwind-dw2-fde-compat.c: Likewise.
3359 * unwind-dw2-fde-darwin.c: Likewise.
3360 * unwind-dw2-fde-glibc.c: Likewise.
3361 * unwind-dw2-fde.c: Likewise.
3362 * unwind-dw2-fde.h: Likewise.
3363 * unwind-dw2.c: Likewise.
3364 * unwind-dw2.h: Likewise.
3365 * unwind-generic.h: Likewise.
3366 * unwind-pe.h: Likewise.
3367 * unwind-sjlj.c: Likewise.