1 2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
3 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
4 as well as -mrelocatable at the same time.
6 2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com>
9 * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
12 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
13 Steve Ellcey <sje@cup.hp.com>
16 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
17 if section attribute used.
19 2010-11-17 Jan Hubicka <jh@suse.cz>
21 * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
22 expand errno setting variant when optimizing for size.
24 2010-11-17 Eric Botcazou <ebotcazou@adacore.com>
26 * postreload.c (reload_combine): Call control_flow_insn_p only once.
27 Reverse backward loop. Fix formatting issues.
29 2010-11-17 Paolo Bonzini <bonzini@gnu.org>
31 * c-parser.c (c_token_is_qualifier,
32 c_parser_next_token_is_qualifier): New.
33 (c_parser_declaration_or_fndef, c_parser_struct_declaration):
34 Improve error message on specs->tagdef_seen_p.
35 (c_parser_struct_or_union_specifier): Improve error recovery.
36 (c_parser_declspecs): Move exit condition on C_ID_ID early.
37 Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
38 using c_parser_next_token_is_qualifier; extend it to cover
39 a ctsk_tagdef typespec and !typespec_ok in general.
41 2010-11-17 Richard Guenther <rguenther@suse.de>
43 * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
44 (gimple_mod_pow2_value_transform): Likewise.
45 (gimple_mod_subtract_transform): Likewise.
47 2010-11-17 Richard Guenther <rguenther@suse.de>
50 * gimple.c (gimple_register_canonical_type): Make sure to only
51 make type leaders canonical types.
53 2010-11-17 Michael Matz <matz@suse.de>
55 * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
56 TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
57 TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
58 TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
59 * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
60 (pass_build_ssa): ... but here.
61 * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
62 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
63 * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
64 * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
65 * predict.c (rebuild_frequencies): Ditto.
66 * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
67 * emit-rtl.c (verify_rtl_sharing): Ditto.
68 * tree-cfgcleanup.c (repair_loop_structures): Ditto.
69 * tree-ssa-live.c (remove_unused_locals): Ditto.
70 * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
71 * tree-ssa.c (pass_early_warn_uninitialized,
72 execute_update_addresses_taken, pass_update_address_taken): Ditto.
73 * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
74 pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
75 * passes.c (pass_postreload, execute_todo): Ditto.
76 * tree-ssanames.c (pass_release_ssa_names): Ditto.
78 2010-11-17 Joseph Myers <joseph@codesourcery.com>
80 * doc/invoke.texi (-dy): Remove.
81 * langhooks-def.h (lhd_do_nothing_i): Don't declare.
82 (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
83 * langhooks.c (lhd_do_nothing_i): Remove.
84 * langhooks.h (lang_hooks.parse_file): Take no arguments.
85 * toplev.c (set_yydebug): Remove.
86 (compile_file): Update call to lang_hooks.parse_file.
87 (decode_d_option): Don't handle -dy.
89 2010-11-17 Jakub Jelinek <jakub@redhat.com>
91 PR rtl-optimization/46440
92 * combine.c (update_cfg_for_uncondjump): When changing
93 an indirect jump into unconditional jump, remove BARRIERs
96 2010-11-17 Joseph Myers <joseph@codesourcery.com>
98 * opts.c (target_handle_option): Do not assert that loc ==
101 2010-11-17 Jakub Jelinek <jakub@redhat.com>
102 Richard Guenther <rguenther@suse.de>
105 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
106 call_may_clobber_ref_p_1): Return true for __sync_* and some
107 OpenMP builtins that act as threading barriers.
109 2010-11-17 Richard Guenther <rguenther@suse.de>
111 PR tree-optimization/46498
112 * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
114 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
116 * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
117 (xtensa_function_arg_boundary): ...this.
118 * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
119 thinko in declaration.
120 (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
121 number of parameters to picochip_function_arg_boundary.
122 (picochip_arg_advance): Likewise.
124 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
127 * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
128 under check for type.
130 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
132 * ifcvt.c (dead_or_predicable): Fix typo.
134 2010-11-16 Richard Henderson <rth@redhat.com>
136 * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
137 * config/s390/s390.opt (mfused-madd): Remove.
138 * config/s390/s390.c (s390_rtx_costs): Handle FMA.
139 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
140 * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
141 (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
143 2010-11-16 Richard Henderson <rth@redhat.com>
145 * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
146 * config/rs6000/rs6000.opt (mfused-madd): Remove.
147 * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
148 (*altivec_vmaddfp_1): Remove.
149 (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
150 (altivec_mulv4sf3): Expand to FMA directly.
151 (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
152 (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
153 * config/rs6000/paired.md (paired_madds0): Use FMA.
154 (paired_madds1): Likewise.
155 (*paired_madd): Rename from paired_madd; use FMA.
156 (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
157 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
158 consider TARGET_FUSED_MADD wrt rs6000_recip_control.
159 (bdesc_3arg): Update CODE_FOR_* for pattern renames.
160 (rs6000_emit_madd): Use fma_optab.
161 (rs6000_emit_msub): Use fms_optab.
162 (rs6000_emit_nmsub): Expand the FMA pattern directly.
163 * config/rs6000/rs6000.md (FMA_F): New mode iterator.
164 (*fmasf4_fpr): Rename from fmasf4_fpr.
165 (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
166 (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
167 (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
168 (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
169 (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
170 (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
171 (*fmadf4_fpr): Rename from fmadf4_fpr.
172 (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
173 (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
174 (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
175 (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
176 (fmasf4, fmadf4): Macroize into...
177 (fma<FMA_F>4): ... here.
178 (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
179 (nfma<FMA_F>4, nfms<FMA_F>4): New.
180 * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
182 * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
183 (*vsx_fmadd<mode>4_1): Remove.
184 (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
185 (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
186 (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
187 (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
188 (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
189 (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
190 (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
192 2010-11-16 Richard Henderson <rth@redhat.com>
194 * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
195 (fmasf4, fnmadf4, fnmasf4): Likewise.
196 (unnamed plus+mult insns and splitters): Delete.
198 2010-11-16 Richard Henderson <rth@redhat.com>
200 * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
201 (fnma<VSF>4): Rename from fnms_<VSF>.
202 (fms<VSF>4): Rename from fms_<VSF>.
203 (fma<VDF>4): Rename from fma_<VDF>.
204 (fms<VDF>4): Rename from fms_<VDF>.
205 (nfma<VDF>4): Rename from fnma_<VDF>.
206 (nfms<VDF>4): Rename from fnms_<VDF>.
207 (fnma<VDF>4, fnms<VDF>4): New expanders.
208 (floatunsdisf2): Update for the renames.
209 (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
210 * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
212 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
214 PR rtl-optimization/46490
215 * combine.c (expand_compound_operation): Fix thinko.
217 2010-11-16 Richard Henderson <rth@redhat.com>
220 * recog.c (peep2_attempt): Convert frame-related info when possible.
221 (peep2_fill_buffer): Allow frame-related insns into the buffer.
222 (peephole2_optimize): Allow peep2_attempt to fail.
224 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
226 PR rtl-optimization/46315
227 * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
228 * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
230 * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into...
231 (remove_reg_equal_equiv_notes_for_defs): ...this.
232 (delete_unmarked_insns): Adjust to above renaming.
233 * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
234 referring to registers set in the insns being moved, if any.
236 * df-core.c (df_ref_dump): New function extracted from...
237 (df_refs_chain_dump): ...here. Call it.
238 (df_regs_chain_dump): Likewise.
239 * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
240 * df-scan.c (df_scan_start_dump): Likewise. Fix long line.
242 2010-11-16 Andreas Schwab <schwab@linux-m68k.org>
244 PR rtl-optimization/46395
245 * postreload.c (reload_combine): Invalidate register use
246 information on all control flow insns.
248 * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
249 LABEL_REF in UNSPEC operand.
251 2010-11-16 Jan Hubicka <jh@suse.cz>
253 * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
254 when !flag_toplevel_reorder do not remove unless variable is
255 COMDAT or ARTIFICIAL.
256 * ipa.c (varpool_can_remove_if_no_refs): ... here.
257 (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
258 * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
259 * varpool.c (decide_is_variable_needed): Do not handle visibility
261 (varpool_finalize_decl): Likewise.
262 (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
263 update outdated comment on DECL_RTL_SET_P check.
265 2010-11-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
267 * config/sol2.h (NM_FLAGS): Define.
268 * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
269 * doc/tm.texi: Update.
271 2010-11-16 Nick Clifton <nickc@redhat.com>
273 * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
274 (msubsf4): Rename to fmssf4, and use fma.
275 (nmaddsf4): Rename to fnmasf4 and use fma.
276 (nmsubsf4): Rename to fnmssf4 and use fma.
278 2010-11-16 Joern Rennecke <amylaar@spamcop.net>
281 * config/score/score3.c (score3_return_in_memory): Constify arguments.
282 (score3_in_small_data_p, score3_function_value): Likewise.
283 (score3_trampoline_init): Use LCT_NORMAL.
284 (score3_print_operand): Initialize code as UNKNOWN.
285 * config/score/predicates.md (score_load_multiple_operation):
286 Remove unused variable.
287 (score_store_multiple_operation): Likewise.
288 * config/score/score7.c (score7_return_in_memory): Constify arguments.
289 (score7_in_small_data_p, score7_function_value): Likewise.
290 (score7_trampoline_init): Use LCT_NORMAL.
291 (score7_print_operand): Initialize code as UNKNOWN.
292 * config/score/score3.h (score3_return_in_memory): Update prototype.
293 (score3_in_small_data_p, score3_function_value): Likewise.
294 * config/score/score-protos.h (score_function_value): Likewise.
295 * config/score/score7.h (score7_return_in_memory): Update prototype.
296 (score7_in_small_data_p, score7_function_value): Likewise.
297 * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
298 (score_return_in_memory, score_pass_by_reference): Constify arguments.
299 (score_output_mi_thunk, score_function_prologue): Don't return a value.
300 (score_function_epilogue, score_in_small_data_p): Likewise.
301 (score_option_override, score_asm_trampoline_template): Likewise.
302 (score_trampoline_init, score_print_operand): Likewise.
303 (score_print_operand_address, score_prologue): Likewise.
304 (score_epilogue, score_call, score_call_value): Likewise.
305 (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
306 (score_function_arg_advance): Likewise. Make static.
307 (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
308 (score_function_arg, score_legitimate_address_p): Make static.
309 (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
310 * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
311 * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
312 Allow (W) == HOST_BITS_PER_WIDE_INT.
315 * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
316 * config/t-pnt16-warn (java/constants.o-warn): Likewise.
318 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
320 * config/arc/arc.c: Delete pasto.
321 * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
323 2010-11-16 Anatoly Sokolov <aesok@post.ru>
325 * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
326 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
327 * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
328 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
329 (mn10300_preferred_reload_class,
330 mn10300_preferred_output_reload_class): New functions.
332 2010-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
334 * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
335 (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
336 (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
337 (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
339 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
341 * builtins.c (std_gimplify_va_arg_expr): Use
342 targetm.calls.function_arg_boundary.
343 * function.c (assign_parms, locate_and_pad_parm): Likewise.
344 * calls.c (struct arg_data): Update comment.
345 * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
346 * target.def (function_arg_boundary): Define.
347 * targhooks.h (default_function_arg_boundary): Declare.
348 * targhooks.c (default_function_arg_boundary): Define.
349 * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
350 TARGET_FUNCTION_ARG_BOUNDARY.
351 (FUNCTION_ARG_BOUNDARY): Delete.
352 (TARGET_FUNCTION_ARG_BOUNDARY): New.
353 * doc/tm.texi: Regenerate.
354 * system.h (FUNCTION_ARG_BOUNDARY): Poison.
355 * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
356 * config/arc/arc.c (arc_function_arg_boundary): Define.
357 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
358 * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
359 * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
360 * config/arm/arm.c (arm_needs_doubleword_align): Make static.
361 (arm_function_arg_boundary): Define.
362 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
363 * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
364 * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
365 * config/frv/frv.c (frv_function_arg_boundary): Make static.
366 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
367 * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
368 * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
369 * config/i386/i386.c (ix86_function_arg_boundary): Make static.
370 (ix86_compat_function_arg_boundary): Take and return unsigned int.
371 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
372 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
373 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
374 * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
375 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
376 * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
377 * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
378 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
379 * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
380 * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
381 * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
382 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
383 * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
384 * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
385 * config/mips/mips.c (mips_function_arg_boundary): Make static.
386 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
387 * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
388 * config/pa/pa.c (pa_function_arg_boundary): Define.
389 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
390 * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
391 * config/picochip/picochip-protos.h
392 (picochip_get_function_arg_boundary): Delete.
393 * config/picochip/picochip.c (picochip_get_function_arg_boundary):
395 (picochip_function_arg_boundary): ...this. Make static.
396 (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
397 (picochip_arg_advance): Adjust.
398 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
399 * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
400 * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
401 * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
402 (rs6000_function_arg_boundary): ...this. Make static.
403 (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
404 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
405 * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
406 * config/rx/rx.c (rx_function_arg_boundary): Define.
407 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
408 * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
409 * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
410 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
411 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
412 * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
413 * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
414 (xtensa_function_arg_boundary): ...this. Make static.
415 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
417 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
419 * expr.c (alignment_for_piecewise_move): New function.
420 (widest_int_mode_for_size): New function.
421 (move_by_pieces, move_by_pieces_ninsns): Call them.
422 (can_store_by_pieces, store_by_pieces_1): Likewise.
424 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
426 * gcc.c (char_p): Define. Define a VEC of it.
427 (n_linker_options, n_assembler_options, n_preprocessor_options):
429 (linker_options, assembler_options, preprocessor_options): Convert
431 (add_preprocessor_option): Adjust.
432 (add_assembler_option): Adjust.
433 (add_linker_option): Adjust.
434 (do_specs_vec): New function.
435 (do_spec_1): Call it. Adjust for new types.
437 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
439 * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
440 (sreal.o, statistics.o, stringpool.o): Likewise.
442 2010-11-16 Richard Guenther <rguenther@suse.de>
444 PR tree-optimization/44545
445 * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
446 statements are not reassociatable.
447 (reassociate_bb): Likewise.
449 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
451 * bitmap.c: Delete unnecessary includes.
452 * ebitmap.c: Likewise.
453 * et-forest.c: Likewise.
455 * statistics.c: Likewise.
456 * stringpool.c: Likewise.
457 * double-int.c: Add comment for inclusion of tm.h.
459 2010-11-16 Richard Guenther <rguenther@suse.de>
461 * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
462 (visit_nary_op): ... this.
463 (visit_binary_op): Remove.
464 (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
466 2010-11-16 Richard Guenther <rguenther@suse.de>
469 * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
471 2010-11-16 Nick Clifton <nickc@redhat.com>
473 * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
476 2010-11-15 Richard Henderson <rth@redhat.com>
478 * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
479 WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
482 2010-11-15 Richard Henderson <rth@redhat.com>
484 * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
485 from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively. Use
488 2010-11-15 Richard Henderson <rth@redhat.com>
490 * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
491 and *mulsubsf4 respectively. Use fma rtx_code.
493 2010-11-15 Joseph Myers <joseph@codesourcery.com>
495 * gcc.c: Include "vec.h".
496 (argbuf): Make into a VEC.
497 (argbuf_length, argbuf_index): Remove.
498 (alloc_args, clear_args, store_arg, execute, insert_wrapper,
499 do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
500 compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
501 * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
502 (gcc.o): Depend on $(VEC_H).
504 2010-11-15 Richard Henderson <rth@redhat.com>
506 * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
507 via FMA if unsafe math.
508 (insert_var_expansion_initialization): Handle FMA.
509 (combine_var_copies_in_loop_exit): Likewise.
511 2010-11-15 Richard Henderson <rth@redhat.com>
513 * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
514 * config/ia64/ia64.opt: Remove mfused-madd.
515 * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
516 * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
517 * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
518 * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
519 * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
520 * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
521 (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
522 (fmav2sf4): Rename from fpma; use FMA code.
523 (fmsv2sf4): Rename from fpms; use FMA code.
524 (fnmav2sf4): Rename from *fpnma; use FMA code.
525 * config/ia64/ia64.md (MODE_SDF): New iterator.
526 (suffix): New mode attribute.
527 (*maddsf4, *msubsf4, *nmaddsf4): Remove.
528 (fmssf4): Rename from *fmssf4.
529 (fnmasf4): Rename from *nfmasf4.
530 (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
531 (*nmadddf4, *nmadddf4_truncsf): Remove.
532 (fmsdf4): Rename from *fmsdf4.
533 (fnmadf4): Rename from *nfmadf4.
534 (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
535 (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
536 (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
537 (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
538 (fmsxf4): Rename from *fmsxf4.
539 (fnmaxf4): Rename from *nfmaxf4.
540 (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
541 (*fnmaxf_trunc_<MODE_SDF>): New.
543 2010-11-15 Jakub Jelinek <jakub@redhat.com>
545 PR tree-optimization/46461
546 * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
549 2010-11-15 Ian Lance Taylor <iant@google.com>
551 * godump.c: New file.
552 * common.opt (fdump-go-spec=): New option.
553 * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
554 (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
555 (TYPE_SYMTAB_IS_DIE): Define.
556 (struct tree_type): Change GTY for symtab field to use
557 TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
558 to pick the union field.
559 * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
560 (dump_go_spec_init): Declare.
561 * toplev.c (process_options): Handle flag_dump_go_spec.
562 * debug.c: Include "tree.h".
563 (do_nothing_debug_hooks): Set tree_type_symtab_field.
564 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
565 * dbxout.c (dbx_debug_hooks): Likewise.
566 (xcoff_debug_hooks): Likewise.
567 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
568 * sdbout.c (sdb_debug_hooks): Likewise. Do not define if
569 SDB_DEBUGGING_INFO is not defined.
570 * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
571 (Overall Options): Document -fdump-go-spec.
572 * Makefile.in (OBJS-common): Add godump.o.
573 (debug.o): Add dependency on $(TREE_H).
574 (godump.o): New target.
575 (GTFILES): Add $(srcdir)/godump.c.
577 2010-11-15 Jakub Jelinek <jakub@redhat.com>
580 * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
581 marking r11 set RTX_FRAME_RELATED_P if offset is too large for
582 style < 0, add REG_FRAME_RELATED_EXPR.
585 * rtl.h (vt_equate_reg_base_value): New prototype.
586 * alias.c (vt_equate_reg_base_value): New function.
587 * var-tracking.c (vt_init_cfa_base): Use it.
589 2010-11-15 Jan Hubicka <jh@suse.cz>
590 Diego Novillo <dnovillo@google.com>
594 * doc/gccint.texi: Add reference to lto.texi.
595 * doc/invoke.texi: Update user documentation for LTO.
596 Move internal flags to lto.texi
598 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
600 * c-typeck.c (build_unary_op): Use
601 objc_build_incr_expr_for_property_ref to build the pre/post
602 increment/decrement of an Objective-C property ref, and skip the
603 lvalue_or_else check in that case.
605 2010-11-15 Martin Jambor <mjambor@suse.cz>
607 PR tree-optimization/46349
608 * tree-sra.c (contains_bitfld_comp_ref_p): New function.
609 (contains_vce_or_bfcref_p): Likewise.
610 (sra_modify_assign): Use them.
612 2010-11-15 Richard Guenther <rguenther@suse.de>
614 PR tree-optimization/46467
615 * tree-ssa-structalias.c (do_structure_copy): Properly treat
616 variables without subvars.
618 2010-11-15 Hariharan Sandanagobalane <hariharan@picochip.com>
620 * config/picochip/picochip.c (file header): Picochip name change.
621 * config/picochip/picochip.md (file header): Likewise.
622 * config/picochip/predicates.md (file header): Likewise.
623 * config/picochip/dfa_space.md (file header): Likewise.
624 * config/picochip/dfa_speed.md (file header): Likewise.
625 * config/picochip/picochip.h(file header): Likewise.
626 * config/picochip/constraints.md (file header): Likewise.
627 * config/picochip/picochip-protos.h (file header): Likewise.
628 * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
629 * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
630 * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
631 * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
632 * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
633 * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
634 * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
635 * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
636 * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
637 * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
638 * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
639 * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
640 * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
641 * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
643 2010-11-15 Richard Guenther <rguenther@suse.de>
646 * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
648 2010-11-15 Nick Clifton <nickc@redhat.com>
650 * config/stormy16/stormy16.c (direct_return): Do not generate a
651 direct return for interrupt handlers.
653 2010-11-15 Joern Rennecke <amylaar@spamcop.net>
655 * Makefile.in (tm.texi): Replace with rule for:
656 ($(srcdir)/doc/tm.texi).
657 (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
658 $(srcdir)/doc/tm.texi .
659 (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
663 * config/m32r/m32r.c: Remove unused variables frame_size and insn.
666 * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
667 (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
670 * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
672 2010-11-15 Richard Guenther <rguenther@suse.de>
675 * lto-opts.c (lto_write_options): Write -fexceptions even if
678 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
681 * c-decl.c (declspecs_add_type): Make variables with error types
683 * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
684 do not start a declaration before an Objective-C foreach.
685 (c_parser_declaration_or_fndef): Improve recovery after unknown
687 (c_parser_for_statement): Hoist entrance of "foreach context"
688 before ifs, add corresponding reset where it was missing. Do
689 not set objc_could_be_foreach_context for C.
691 2010-11-14 Eric Botcazou <ebotcazou@adacore.com>
693 PR tree-optimization/45722
694 * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
695 this is a reference to a component.
696 * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
697 (ipa_note_param_call): Adjust comment.
699 2010-11-14 Richard Sandiford <rdsandiford@googlemail.com>
701 * config/mips/mips.c (machine_function): Remove
702 initialized_mips16_gp_pseudo_p.
703 (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
704 detect whether a pseudo has already been created. Unconditionally
705 create a new one if not.
706 (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
707 expanding to rtl. Create a new pseudo otherwise, if allowed.
709 2010-11-13 Richard Earnshaw <rearnsha@arm.com>
712 * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
713 * tm.texi: Regenerated.
714 * output.h (decode_reg_name_and_count): Declare.
715 * varasm.c (decode_reg_name_and_count): New function.
716 (decode_reg_name): Reimplement using decode_reg_name_and_count.
717 * reginfo.c (fix_register): Use decode_reg_name_and_count and
718 iterate over all regs used.
719 * stmt.c (expand_asm_operands): Likewise.
720 * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
721 (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
722 multiple machine registers.
724 2010-11-13 Eric Botcazou <ebotcazou@adacore.com>
726 * stor-layout.c (place_union_field): Do not put location information
727 on offset expressions.
728 (place_field): Likewise.
729 (finalize_record_size): Likewise on size expressions.
730 (finalize_type_size): Likewise.
731 (layout_type): Likewise.
733 2010-11-13 Alexandre Oliva <aoliva@redhat.com>
736 * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
737 * df-core.c (df_set_bb_dirty_nonrl): Remove.
738 * df.h (df_set_bb_dirty_nonlr): Likewise.
740 2010-11-13 Uros Bizjak <ubizjak@gmail.com>
742 * config/mips/mips.md (call_internal): Pass curr_insn to
744 (call_internal_direct): Ditto.
745 (call_value_internal): Ditto.
746 (call_value_internal_direct): Ditto.
747 (call_value_multiple_internal): Ditto.
748 * config/mips/mips.c (mips_split_call): Do not copy
749 CALL_INSN_FUNCTION_USAGE here.
751 2010-11-13 Mingming Sun <mingm.sun@gmail.com>
753 * doc/invoke.texi (MIPS Options): Add loongson3a processor.
754 * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
755 (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
756 * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
757 (TUNE_LOONGSON_3A): Define.
758 (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
759 (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
760 * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
761 (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
762 (mips_rtx_cost_data): Add Loongson-3A.
764 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
766 * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
769 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
771 * dwarf2out.c (macinfo_entry): New struct.
772 (output_comp_unit): Emit the section start label here and flag that we
773 will emit an info section.
774 (dwarf2out_start_source_file): Save data in a macinfo entry rather than
776 (dwarf2out_end_source_file): Likewise.
777 (dwarf2out_define): Likewise.
778 (dwarf2out_undef): Likewise.
779 (output_macinfo): New.
780 (dwarf2out_init): Do not emit debug section switches here, allocate a
781 vec for macinfo, when required.
782 (dwarf2out_finish): First switch to debug_abbrev_section here.
783 debug_line_section, debug_macinfo_section, Likewise.
784 Check that the pubtypes table has at least one unpruned entry before
787 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
790 * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
791 (c_parser_next_tokens_start_declaration): ... this. Handle 2nd
793 (c_parser_compound_statement_nostart, c_parser_label,
794 c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
795 (c_parser_declaration_or_fndef): Detect the case now matched by
796 c_parser_next_tokens_start_declaration, give error and correct it.
798 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
800 * c-tree.h (enum c_typespec_kind): Add ctsk_none.
801 (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
803 * c-decl.c (build_null_declspecs): Initialize typespec_kind.
804 (shadow_tag_warned, check_compound_literal_type): Adjust
805 uses of tag_defined_p.
806 (declspecs_add_type): Set typespec_kind.
807 * c-parser.c (c_parser_declaration_or_fndef,
808 c_parser_declspecs, c_parser_struct_declaration,
809 c_parser_parameter_declaration, c_parser_type_name,
810 c_parser_objc_diagnose_bad_element_prefix): Adjust uses
812 * c-typeck.c (c_cast_expr): Use typespec_kind instead of
813 tag_defined_p, pass ctsk_firstref through.
815 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
817 * c-format.c (enum format_specifier_kind, kind_descriptions): New.
818 (struct format_wanted_type): Replace field "name" with "kind", add
819 "format_start" and "format_length".
820 (check_format_info_main): Fill in new fields. Fill in
821 FORMAT_WANTED_TYPES even for missing arguments. Move checks
822 after the final NUL outside the while loop. Do not include
823 width and precision modifiers in the format_start/format_length
825 (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
826 arguments. Compute WANTED_TYPE first so that format_type_warning
827 can be called for missing arguments. Adjust calls to
829 (format_type_warning): Fetch as much information as possible
830 from format_wanted_type. Adjust printing now that every
831 warning has a "descr", as well as for missing argument warnings
832 and to include % sign for format specifiers.
834 2010-11-12 Alexander Monakov <amonakov@ispras.ru>
836 PR rtl-optimization/46204
837 * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
838 Update all callers. Do not recompute topological order. Adjust
839 fallthrough edges following a degenerate conditional jump.
841 2010-11-12 Joseph Myers <joseph@codesourcery.com>
843 * opts-common.c (control_warning_option): New.
844 * opts.c (set_default_handlers): New.
845 (decode_options): Use set_default_handlers and
846 control_warning_option.
847 (common_handle_option): Update call to enable_warning_as_error.
848 (enable_warning_as_error): Take gcc_options parameters. Use
849 control_warning_option.
850 * opts.h (set_default_handlers, control_warning_option): Declare.
852 2010-11-12 Joseph Myers <joseph@codesourcery.com>
854 * Makefile.in (OPTS_H): Define.
855 (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
856 c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
857 cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
858 opts-common.o, toplev.o, passes.o, matrix-reorg.o,
859 ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
860 * gcc.c (driver_handle_option): Take location_t parameter.
861 (process_command, do_self_spec): Update calls to
863 * langhooks-def.h (lhd_handle_option): Take location_t parameter.
864 * langhooks.c (lhd_handle_option): Take location_t parameter.
865 * langhooks.h (handle_option): Take location_t parameter.
866 * lto-opts.c (lto_reissue_options): Update call to set_option.
867 * opts-common.c (handle_option): Make static. Take location_t
868 parameter and pass it to other functions.
869 (handle_generated_option): Take location_t parameter and pass it
871 (read_cmdline_option): Take location_t parameter and pass it to
872 other functions. Use warning_at and error_at.
873 (set_option): Take location_t parameter and pass it to other
875 * opts.c (common_handle_option): Take location_t parameter and
876 pass it to other functions.
877 (enable_warning_as_error): Make static. Take location_t parameter
878 and pass it to other functions.
879 (lang_handle_option): Take location_t parameter and pass it to
881 (target_handle_option): Take location_t parameter.
882 (read_cmdline_options, maybe_default_option,
883 maybe_default_options, default_options_optimization,
884 decode_options): Take location_t parameter and pass it to other
886 * opts.h: Include input.h.
887 (struct cl_option_handler_func, decode_options, set_option,
888 handle_generated_option, read_cmdline_option): Take location_t
890 (handle_option, enable_warning_as_error): Remove.
891 * toplev.c (toplev_main): Update call to decode_options.
893 2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
895 * graphite-cloog-util.c (oppose_constraint,
896 cloog_matrix_to_ppl_constraint,
897 new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
898 CLooG isl uses unsigned integers. This triggered a warning.
900 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
903 * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
904 (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
905 (xtensa_function_arg_1): De-constify cum.
906 (xtensa_expand_prologue): Use add_reg_note.
909 * config/cris/cris.c (saved_regs_mentioned): Delete.
910 (cris_reload_address_legitimized): Cast itype to enum reload_type.
911 Remove unused variable op0p.
912 (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
913 (cris_emit_movem_store): Use add_reg_note.
916 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
918 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
920 * function.c (expand_function_end): Set the locator of the prologue on
921 the stack checking insns.
923 2010-11-12 Richard Henderson <rth@redhat.com>
925 * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
926 * config/xtensa/xtensa.opt (mfused-madd): Remove.
927 * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
929 * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
930 (fnmasf4): Rename from mulsubsf3; use fma.
932 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
933 Richard Henderson <rth@redhat.com>
936 * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
937 * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
940 2010-11-12 Pat Haugen <pthaugen@us.ibm.com>
942 * opts-common.c (decode_cmdline_option): Initialize separate_args.
944 2010-11-12 Jan Hubicka <jh@suse.cz>
946 * doc/invoke.texi (early-inlining-insns): Update default.
947 * params.def (early-inlining-insns): Default to 10.
949 2010-11-12 Olivier Hainque <hainque@adacore.com>
951 * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
953 2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
955 * config/mips/iris6.h [!IRIX_USING_GNU_LD]
956 (SUPPORTS_INIT_PRIORITY): Define.
958 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
961 * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
962 * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
963 (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
964 (avr_device_to_devicelib): Likewise.
965 * config/avr/avr.md (zero_extendqihi2): Put variable declarations
967 (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
968 (zero_extendhidi2, zero_extendsidi2): Likewise.
969 * config/avr/avr.c (avr_num_arg_regs): Constify type.
970 (avr_return_addr_rtx): De-constify tem.
971 (avr_rotate_bytes): Move declarations to start of block.
972 Don't use variable length array. Put nested if/else into block.
974 PR rtl-optimization/46433
975 * var-tracking.c: Include tm_p.h .
979 * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
981 (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
982 * doc/tm.texi: Regenerate.
985 * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
986 * config/bfin/bfin.c: Include sel-sched.h .
987 (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
988 (expand_interrupt_handler_prologue): Remove unused variable insn.
989 (bfin_load_pic_reg): Likewise.
990 (bfin_rtx_costs): Make code / outer_code variables of type
991 enum rtx_code, copied from re-named parameters.
992 (bfin_local_alignment): Change align argument and return type
994 (bfin_adjust_cost): Remove unused variable insn_type.
995 Declare variables at start of block.
996 (struct loop_info): Rename to...
997 (struct loop_info_d).
998 (workaround_rts_anomaly): Change type of icode to int.
999 (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
1000 with int-typed variable.
1001 (note_np_check_stores): Likewise.
1002 (trapping_loads_p): Remove unused variable pat.
1003 (bfin_expand_binop_builtin): Use expand_normal.
1004 (bfin_expand_unop_builtin): Likewise.
1005 (bfin_expand_builtin): Likewise. Set tmode before use.
1008 * final.c (split_double): Don't use BITS_PER_WORD directly in
1012 * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
1016 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
1018 (xstormy16_function_arg): Dereference cum.
1019 (xstormy16_expand_builtin): Use expand_normal.
1020 Change type of omode to enum machine_mode.
1021 (combine_bnp): Rename and to and_insn.
1024 * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
1027 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
1030 * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
1032 2010-11-11 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
1035 * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
1037 2010-11-11 Nathan Froyd <froydnj@codesourcery.com>
1040 * common.opt (fmax-errors=): New option.
1041 * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
1042 * diagnostic.h (struct diagnostic_context): Add max_errors field.
1043 * diagnostic.c (diagnostic_initialize): Initialize it.
1044 (diagnostic_action_after_output): Exit if more than max_errors
1046 * doc/invoke.texi (Warning Options): Add -fmax-errors.
1047 (-fmax-errors): Document.
1049 2010-11-11 Richard Henderson <rth@redhat.com>
1051 * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
1053 2010-11-11 Richard Henderson <rth@redhat.com>
1055 * config/fused-madd.opt: New file.
1056 * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
1057 * config/i386/i386.c (ix86_extra_costs): Handle FMA.
1058 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
1059 * config/i386/i386.opt (mfused-madd): Remove.
1060 * config/i386/sse.md (split_fma): Remove.
1061 (split_fms, split_fnma, split_fnms): Remove.
1063 2010-11-12 Jakub Jelinek <jakub@redhat.com>
1066 * config/i386/i386.md (*ashl<mode>3_cconly,
1067 *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
1068 change nonimmediate_operand predicate to register_operand.
1070 2010-11-11 Paolo Bonzini <bonzini@gnu.org>
1072 * Makefile.in (gengtype-lex.c): Include bconfig.h first.
1074 2010-11-11 Jan Hubicka <jh@suse.cz>
1076 * opts.c (finish_options): Do not error on -flto-partition alone.
1078 * doc/invoke.texi (-fwhopr): Merge into -flto section.
1079 (-flto-partition): Document none.
1080 * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
1081 * lto-wrapper.c: Update comment.
1082 (run_gcc): Update LTO option parsing.
1083 * opts.c (finish_options): add support -flto-partition=none
1084 (common_handle_option): Remove fwhopr.
1085 * common.opt: Turn fwhopr into flto.
1086 * collect2.c (main): Update option handling.
1087 * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
1088 * ipa-split.c (execute_split_functions): Remove flag_whopr.
1089 * ipa.c (function_and_variable_visibility): Remove flag_whopr.
1090 * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
1091 * varpool.c (decide_is_variable_needed): Remove flag_whopr.
1093 2010-11-11 Jan Hubicka <jh@suse.cz>
1095 PR tree-optimize/40436
1096 * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
1097 (eliminated_by_inlining_prob): ... this one; return 50% probability
1099 (estimate_function_body_sizes): Update use of
1100 eliminated_by_inlining_prob; estimate static function size
1103 2010-11-11 Joern Rennecke <amylaar@spamcop.net>
1106 * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
1107 declare. Change type of argument four to type int.
1108 (mep_secondary_input_reload_class): Returns enum reg_class.
1109 (mep_secondary_output_reload_class): Likewise.
1110 (mep_function_value): Change types of arguments to cont_tree.
1111 * config/mep/mep.c (mep_legitimize_reload_address): Change type of
1112 argument four to type int.
1113 (mep_secondary_input_reload_class): Returns enum reg_class.
1114 (mep_secondary_output_reload_class): Likewise.
1115 (mep_function_value): Change types of arguments to cont_tree.
1116 * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
1117 mep_regno_reg_class to enum reg_class.
1119 2010-11-11 Richard Henderson <rth@redhat.com>
1121 * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
1122 that the target has the exact fma operation that we matched.
1124 2010-11-11 Joseph Myers <joseph@codesourcery.com>
1126 * reginfo.c (fix_register): Avoid inserting English word in
1127 diagnostic sentence. Use %qs for quoting and %'.
1129 2010-11-11 H.J. Lu <hongjiu.lu@intel.com>
1131 * config/i386/driver-i386.c (host_detect_local_cpu): Support
1132 Intel processor family 6, model 0x2c.
1134 2010-11-11 Joseph Myers <joseph@codesourcery.com>
1136 * opts.c (warning_as_error_callback,
1137 register_warning_as_error_callback): Remove.
1138 (enable_warning_as_error): Don't use warning_as_error_callback.
1139 * opts.h (register_warning_as_error_callback): Remove.
1141 2010-11-11 Richard Henderson <rth@redhat.com>
1143 * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
1144 in between the MULT and the PLUS/MINUS.
1146 2010-11-11 Jakub Jelinek <jakub@redhat.com>
1149 * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
1150 BLKmode mode for it.
1151 (expand_expr_real_1): Similarly for op0.
1153 2010-11-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1155 * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
1156 Document optional target selector.
1158 2010-11-11 Dave Korn <dave.korn.cygwin@gmail.com>
1160 * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
1161 assembling high and low parts of size if not using 32-bit HWINT; else
1162 use DECL_SIZE_UNITS, not DECL_SIZE.
1164 2010-11-11 Martin Jambor <mjambor@suse.cz>
1166 PR tree-optimization/46383
1167 * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
1169 (compute_complex_ancestor_jump_func): Likewise.
1170 * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
1172 2010-11-11 Jakub Jelinek <jakub@redhat.com>
1175 * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
1176 true if expr1->hash != expr2->hash.
1178 2010-11-10 Joseph Myers <joseph@codesourcery.com>
1180 * cfgloop.c (verify_loop_structure): Use %' in diagnostics. Start
1181 diagnostics with lowercase letters.
1182 * cgraphunit.c (verify_cgraph_node): Start diagnostics with
1184 * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
1186 * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1187 * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
1189 * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1190 Remove trailing ' ' from diagnostic.
1191 * config/avr/avr.c (print_operand_address): Start diagnostic with
1192 a lowercase letter and remove trailing '.'.
1193 * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
1194 * config/bfin/bfin.c (bfin_option_override): Start diagnostics
1195 with lowercase letters. Use %' in diagnostics. Remove trailing
1196 '.' from diagnostics.
1197 (bfin_handle_longcall_attribute): Use %' in diagnostic.
1198 * config/cris/cris.c (cris_split_movdx,
1199 cris_expand_pic_call_address): Start diagnostics with lowercase
1201 (cris_asm_output_label_ref): Use %' in diagnostic.
1202 * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
1204 * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
1206 * config/darwin-c.c (version_as_macro): Start diagnostic with a
1208 * config/darwin-driver.c (darwin_default_min_version): Use %' in
1210 * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
1212 * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1213 * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
1215 * config/i386/i386.c (ix86_option_override_internal): Write
1216 diagnostic as a single sentence without trailing '.'. Use %' in
1218 (ix86_function_sseregparm, classify_argument): Start diagnostics
1219 with lowercase letters.
1220 (ix86_expand_prologue): Use %' in diagnostic.
1221 * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
1223 * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
1225 * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
1227 * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1228 * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
1230 * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
1232 * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
1234 * config/microblaze/microblaze.c (microblaze_handle_option):
1235 Remove trailing '.' from diagnostic.
1236 (print_operand): Start diagnostic with a lowercase letter.
1237 * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
1238 lowercase letters. Avoid '`' in diagnostics.
1239 * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
1240 lowercase letters. Avoid '`' in diagnostics.
1241 * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
1242 lowercase letters. Avoid '`' in diagnostics.
1243 * config/picochip/picochip.c (picochip_option_override,
1244 picochip_emit_save_register, picochip_function_arg,
1245 picochip_output_label, picochip_output_internal_label,
1246 picochip_asm_output_opcode, picochip_output_cbranch,
1247 picochip_output_compare, picochip_output_branch,
1248 picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
1249 diagnostics. Start diagnostics with lowercase letters. Use %' in
1251 * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
1252 "SPE" capitalization. Start diagnostic with a lowercase letter.
1253 (rs6000_handle_option): Start diagnostics with lowercase letters.
1254 (def_builtin): Remove trailing '.' from diagnostic.
1255 (rs6000_savres_routine_name): Start diagnostic with a lowercase
1257 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
1259 * config/rx/rx.c (rx_handle_option): Start diagnostic with a
1261 * config/s390/s390.c (s390_option_override) Start diagnostics with
1262 lowercase letters. Use %' in diagnostic.
1263 * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
1265 * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
1267 * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
1269 * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
1271 * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1272 * config/spu/spu.c (spu_option_override): Start diagnostics with
1273 lowercase letters. Use %qs for quoting in diagnostics.
1274 (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
1275 Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
1276 * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
1278 * convert.c (convert_to_integer, convert_to_vector): Use %' in
1280 * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
1281 letter and use "cannot" spelling.
1282 * expmed.c (extract_fixed_bit_field): Start diagnostic with
1283 lowercase letter and format as a single sentence without '.'.
1284 * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
1285 Use %' in diagnostics.
1286 * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
1287 Use %' in diagnostics.
1288 * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
1289 Use %' in diagnostics.
1290 * graph.c (clean_graph_dump_file): Use %' in diagnostic.
1291 * graphite-poly.c (graphite_read_scop_file): Start diagnostics
1292 with lowercase letters and remove tailing '.' and '\n'.
1293 * lto-cgraph.c (input_profile_summary): Start diagnostic with
1294 lowercase letter and remove trailing '.'.
1295 (input_cgraph): Start diagnostics with lowercase letters and
1296 remove trailing '\n'.
1297 * opts.c (finish_options, common_handle_option): Start diagnostics
1298 with lowercase letters and remove trailing '.'. Fix typo in
1300 * passes.c (position_pass): Start diagnostic with lowercase letter.
1301 * plugin.c (add_new_plugin, parse_plugin_arg_opt,
1302 register_callback, try_init_one_plugin): Start diagnostics with
1304 * reload1.c (spill_failure): Use %' in diagnostic.
1305 (gen_reload): Start diagnostic with a lowercase letter.
1306 * stor-layout.c (place_field): Start diagnostic with a lowercase
1308 * toplev.c (open_auxiliary_file): Use %' in diagnostic.
1309 * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
1310 verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
1311 Start diagnostics with lowercase letters, remove trailing '.' and
1312 use %' in diagnostics.
1313 * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
1314 (verify_ssa): Don't split diagnostic across two error calls.
1315 Spell out "number" and use %' in diagnostic.
1316 * value-prof.c (visit_hist, check_counter): Start diagnostics with
1319 2010-11-10 Uros Bizjak <ubizjak@gmail.com>
1322 * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
1323 (_mm_cvtpu16_ps): Ditto.
1325 2010-11-10 Joseph Myers <joseph@codesourcery.com>
1327 * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
1328 warn_larger_than, larger_than_size, warn_frame_larger_than,
1329 frame_larger_than_size, flag_gen_aux_info, flag_shlib,
1330 default_visibility, flag_tls_default): New Variable declarations.
1331 (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
1332 falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
1333 (v): Declare as Common and document here.
1334 * flags.h (default_visibility, flag_generate_lto,
1335 warn_larger_than, larger_than_size, warn_frame_larger_than,
1336 frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
1337 flag_shlib, flag_excess_precision_cmdline): Remove.
1338 (set_Wstrict_aliasing): Update prototype.
1339 * gcc.c (verbose_flag): Remove.
1340 (driver_handle_option): Add diagnostic_context parameter. Don't
1341 handle OPT_v explicitly here. Set verbose_flag to 1 rather than
1343 * opts-common.c (handle_option): Pass dc to handler.
1344 * opts.c (warn_larger_than, larger_than_size,
1345 warn_frame_larger_than, frame_larger_than_size,
1346 default_visibility): Remove.
1347 (common_handle_option): Add diagnostic_context parameter.
1348 (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
1349 gcc_options parameters.
1350 (lang_handle_option, target_handle_option, read_cmdline_options,
1351 decode_options): Add diagnostic_context parameters.
1352 (finish_options): Access option state through opts pointer where
1354 (common_handle_option): Access option state through opts pointer
1355 where possible. Do not set local static variable verbose. Do not
1356 explicitly handle OPT_v, OPT_Wstrict_aliasing_,
1357 OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
1358 OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
1359 OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
1360 OPT_fwhopr_. Do not explicitly set .opt file variables for
1361 OPT_aux_info or OPT_pedantic_errors. Use dc for diagnostic context.
1362 (set_Wstrict_aliasing): Add gcc_options parameter.
1363 * opts.h (struct cl_option_handler_func): Add diagnostic_context
1364 parameter to handler.
1365 (decode_options): Add diagnostic_context parameter.
1366 * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
1367 asm_file_name, flag_generate_lto, flag_gen_aux_info,
1368 aux_info_file_name, flag_shlib, flag_tls_default,
1369 flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
1370 (toplev_main): Pass global_dc to decode_options.
1371 * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
1372 aux_info_file_name, asm_file_name): Remove.
1373 * tree.h (flag_tls_default): Remove.
1375 2010-11-10 Eric Botcazou <ebotcazou@adacore.com>
1377 * config/sparc/sparc.c (sparc_delegitimize_address): New function.
1378 (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
1380 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
1382 * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
1383 (x86_64-*-*): Likewise.
1384 * config/i386/cpuid.h: Define TBM bit.
1385 * config/i386/driver-i386.c (host_detect_local_cpu): Define
1387 * config/i386/i386-c.c (ix86_target_macros_internal): Check
1389 * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
1390 (OPTION_MASK_ISA_TBM_UNSET): New.
1391 (ix86_handle_option): Handle -mtbm.
1392 (isa_opts): Add -mtbm.
1393 (enum pta_flags): Add PTA_TBM.
1394 (ix86_option_override_internal): Add TBM support.
1395 (ix86_valid_target_attribute_inner_p): Handle -mtbm.
1396 (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
1397 (IX86_BUILTIN_BEXTRI64): Likewise.
1398 (bdesc_args): Add TBM intrinsics.
1399 (ix86_expand_builtin): Add TBM specific case.
1400 * config/i386/i386.h (TARGET_TBM): New for TBM.
1401 * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
1402 (tbm_bextri_<mode>): Likewise.
1403 (*tbm_blcfill_<mode>): Likewise.
1404 (*tbm_blci_<mode>): Likewise.
1405 (*tbm_blcic_<mode>): Likewise.
1406 (*tbm_blcmsk_<mode>): Likewise.
1407 (*tbm_blcs_<mode>): Likewise.
1408 (*tbm_blsfill_<mode>): Likewise.
1409 (*tbm_blsic_<mode>): Likewise.
1410 (*tbm_t1mskc_<mode>): Likewise.
1411 (*tbm_tzmsk_<mode>): Likewise.
1412 * config/i386/i386.opt: Add -mtbm.
1413 * config/i386/tbmintrin.h (__bextri_u32): New.
1414 (__blcfill_u32): Likewise.
1415 (__blci_u32): Likewise.
1416 (__blcic_u32): Likewise.
1417 (__blcmsk_u32): Likewise.
1418 (__blcs_u32): Likewise.
1419 (__blsfill_u32): Likewise.
1420 (__blsic_u32): Likewise.
1421 (__t1mskc_u32): Likewise.
1422 (__tzmsk_u32): Likewise.
1423 (__bextri_u64): Likewise.
1424 (__blcfill_u64): Likewise.
1425 (__blci_u64): Likewise.
1426 (__blcic_u64): Likewise.
1427 (__blcmsk_u64): Likewise.
1428 (__blcs_u64): Likewise.
1429 (__blsfill_u64): Likewise.
1430 (__blsic_u64): Likewise.
1431 (__t1mskc_u64): Likewise.
1432 (__tzmsk_u64): Likewise.
1433 * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
1434 * doc/invoke.texi: Document -mtbm.
1435 * doc/extend.texi: Document TBM built-in functions.
1437 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
1439 * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
1440 (x86_64-*-*): Likewise.
1441 * config/i386/cpuid.h: Define BMI bit.
1442 * config/i386/driver-i386.c (host_detect_local_cpu): Define
1444 * config/i386/i386-c.c (ix86_target_macros_internal): Check
1446 * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
1447 (OPTION_MASK_ISA_BMI_UNSET): New.
1448 (ix86_handle_option): Handle -mbmi.
1449 (isa_opts): Add -mbmi.
1450 (enum pta_flags): Add PTA_BMI.
1451 (ix86_option_override_internal): Add BMI support.
1452 (ix86_valid_target_attribute_inner_p): Handle -mbmi.
1453 (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
1454 (IX86_BUILTIN_BEXTR64): Likewise.
1455 (IX86_BUILTIN_CTZS): Likewise.
1456 (bdesc_args): Add BMI intrinsics.
1457 (ix86_expand_args_builtin): Add BMI specific cases.
1458 * config/i386/i386.h (TARGET_BMI): New for BMI.
1459 (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
1460 (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
1461 * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
1462 (UNSPEC_TZCNT): Likewise.
1463 (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
1464 (bmi_andn_<mode>): New for BMI.
1465 (bmi_bextr_<mode>): Likewise.
1466 (bmi_blsi_<mode>): Likewise.
1467 (bmi_blsmsk_<mode>): Likewise.
1468 (bmi_blsr_<mode>): Likewise.
1469 * config/i386/i386.opt: Add -mbmi.
1470 * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
1471 * config/i386/bmiintrin.h (__lzcnt_u16): New.
1472 (__tzcnt_u16): Likewise.
1473 (__andn_u32): Likewise.
1474 (__bextr_u32): Likewise.
1475 (__blsi_u32): Likewise.
1476 (__blsmsk_u32): Likewise.
1477 (__blsr_u32): Likewise.
1478 (__lzcnt_u32): Likewise.
1479 (__tzcnt_u32): Likewise.
1480 (__andn_u64): Likewise.
1481 (__bextr_u64): Likewise.
1482 (__blsi_u64): Likewise.
1483 (__blsmsk_u64): Likewise.
1484 (__blsr_u64): Likewise.
1485 (__lzcnt_u64): Likewise.
1486 (__tzcnt_u64): Likewise.
1487 * doc/invoke.texi: Document -mbmi and -mno-bmi.
1488 * doc/extend.texi: Document BMI built-in functions.
1490 2010-11-10 Jan Hubicka <jh@suse.cz>
1492 PR tree-optimize/46228
1493 * doc/invoke.texi (comdat-sharing-probability): Document.
1494 * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
1495 * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
1497 2010-11-10 Jan Hubicka <jh@suse.cz>
1499 PR tree-optimize/46228
1500 * cgraph.c (cgraph_propagate_frequency): Fix typo.
1502 2010-11-10 H.J. Lu <hongjiu.lu@intel.com>
1504 PR tree-optimization/46414
1505 * tree-inline.c (estimate_move_cost): Check preferred vector
1506 mode for vector type.
1508 2010-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1510 * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
1512 2010-11-10 Sebastian Pop <sebastian.pop@amd.com>
1514 PR tree-optimization/45971
1515 * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
1516 for phi nodes analyzable by scev.
1518 2010-11-10 Richard Guenther <rguenther@suse.de>
1520 PR tree-optimization/44964
1521 * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
1523 2010-11-10 Martin Jambor <mjambor@suse.cz>
1525 PR tree-optimization/46351
1526 PR tree-optimization/46377
1527 * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
1528 aggregate bit-fields.
1530 2010-11-10 Joseph Myers <joseph@codesourcery.com>
1532 * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1533 * doc/tm.texi: Regenerate.
1534 * opts-common.c (tm.h): Don't include.
1535 (target_option_translations): Remove.
1536 (decode_cmdline_options_to_array): Don't handle translating options.
1537 * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
1538 * config/darwin-driver.c: Don't condition includes on
1539 CROSS_DIRECTORY_STRUCTURE.
1540 (darwin_default_min_version): Make static.
1541 (darwin_driver_init): New. Call darwin_default_min_version if not
1542 CROSS_DIRECTORY_STRUCTURE.
1543 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1544 (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
1545 (ASM_SPEC): Add %{static}.
1546 (darwin_default_min_version): Don't declare.
1547 (darwin_driver_init): Declare.
1548 (GCC_DRIVER_HOST_INITIALIZATION): Define to call
1549 darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
1550 * config/darwin.opt (all_load, allowable_client,
1551 arch_errors_fatal, bind_at_load, bundle, bundle_loader,
1552 dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
1553 exported_symbols_list, filelist, findirect-virtual-calls,
1554 flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
1555 framework, fterminated-vtables, gfull, gused, image_base, init,
1556 install_name, multi_module, multiply_defined,
1557 multiply_defined_unused, no_dead_strip_inits_and_terms,
1558 seg_addr_table, seg_addr_table_filename, segaddr,
1559 segs_read_only_addr, segs_read_write_addr, single_module,
1560 umbrella, unexported_symbols_list, weak_reference_mismatches,
1561 Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
1562 Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
1563 Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
1564 Zno_dead_strip_inits_and_terms, Zsingle_module): New.
1565 * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
1566 (ASM_SPEC): Add %{static}.
1567 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
1568 * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1569 (DRIVER_SELF_SPECS): Handle options formerly in
1570 TARGET_OPTION_TRANSLATE_TABLE.
1571 * config/mep/mep.opt (mfar): New.
1572 * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1573 (DRIVER_SELF_SPECS): Define. Handle options formerly in
1574 TARGET_OPTION_TRANSLATE_TABLE.
1575 * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
1576 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
1577 * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
1578 ffix-and-continue, findirect-data): New.
1579 * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1580 * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
1581 (mnofpu): Define mask and use Report here.
1583 2010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1585 * config/s390/s390.c (s390_emit_prologue): Report the stack
1586 size if -fstack-usage is used.
1588 2010-11-10 Richard Guenther <rguenther@suse.de>
1590 PR tree-optimization/46398
1591 * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
1593 2010-11-10 Joern Rennecke <amylaar@spamcop.net>
1596 * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
1597 (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
1598 GP_REG_OR_PSEUDO_STRICT_P.
1599 * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
1600 unexpected alternative.
1601 (*movsf_internal): Likewise.
1602 (indirect_jump): Replace call to non-existant function with call to
1604 (tablejump): Likewise.
1605 * config/iq2000/iq2000.c: Include df.h .
1606 (iq2000_function_arg_advance): Use CONST_CAST2.
1607 (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
1608 (iq2000_can_eliminate): Call leaf_function_p instead of testing for
1609 a non-zero function address.
1610 (iq2000_initial_elimination_offset): Add gcc_unreachable for
1611 unexpected value of FROM.
1612 (symbolic_expression_p): Delete.
1613 (iq2000_function_value): Constify func.
1614 (expand_one_builtin): Use expand_normal.
1615 (iq2000_print_operand): Don't print VALUE if calculating it failed.
1617 PR rtl-optimization/44764
1618 * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
1621 * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
1622 * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
1623 with ATTRIBUTE_UNUSED.
1624 (valid_psw_flag): Constify parameter which.
1625 (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
1628 * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
1629 (mmix_dbx_register_number): Likewise.
1630 * config/mmix/mmix.c: Include df.h .
1631 (mmix_local_alignment): Change argument basic_align and return type
1633 (mmix_dbx_register_number): Change argument and return type to
1635 (mmix_expand_prologue): Use add_reg_note.
1638 * config/spu/spu.c (spu_expand_insv): Remove unused variables.
1639 (spu_split_store): Use aform.
1640 (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
1642 2010-11-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1645 * doc/gty.texi (GTY Options): Clarify that variable_size produces
1646 allocators taking size in bytes, compare with length option. Add
1647 size calculation example.
1648 (Invoking the garbage collector): Ensure that sentences are
1649 followed by two spaces. Describe that pointer fields must be
1650 initialized at ggc_collect call.
1651 (Troubleshooting): New section.
1653 2010-11-09 Jan Hubicka <jh@suse.cz>
1655 PR tree-optimization/40436
1656 * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
1657 * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
1658 normal instructions; be sure bultin is not implemented in this file;
1659 compute non-zero return cost.
1660 (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
1661 * tree-inline.h (eni_weights_d): Add return cost.
1663 2010-11-09 Joseph Myers <joseph@codesourcery.com>
1665 * c-parser.c (c_parser_struct_declaration): Handle declaration
1666 specifiers followed by CPP_CLOSE_BRACE.
1668 2010-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
1670 * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
1671 split occurs before reload, and we allocate memory at the time of
1672 the split, not during expansion. Add attributes.
1673 (floatsi<mode>2_lfiwax_mem): Ditto.
1674 (floatunssi<mode>2_lfiwzx): Ditto.
1675 (floatunssi<mode>2_lfiwzx_mem): Ditto.
1676 (floatsidf2): Ditto.
1677 (floatunssisf2): Ditto.
1678 (floatunssidf2): Ditto.
1679 (fix_trunc<mode>si2): Ditto.
1680 (fix_trunc<mode>si2_stfiwx): Ditto.
1681 (fix_trunc<mode>si2_internal): Ditto.
1682 (fix_trunc<mode>si2): Ditto.
1683 (fix_trunc<mode>di2): Ditto.
1684 (fixuns_trunc<mode>si2_stfiwx): Ditto.
1685 (floatsisf2): Ditto.
1686 (floatdidf2_mem): Ditto.
1687 (floatunsdidf2_mem): Ditto.
1688 (floatunsdidf2): Ditto.
1689 (floatdisf2_internal1): Ditto.
1690 (floatdisf2_mem): Ditto.
1691 (floatunsdisf2_mem): Ditto.
1692 (floatsi<mode>2_lfiwax_mem2): Delete.
1693 (floatunssi<mode>2_lfiwzx_mem2): Ditto.
1694 (fix_trunc<mode>si2_mem): Ditto.
1695 (fixuns_trunc<mode>si2_mem): Ditto.
1696 (round32<mode>2_fprs): New combiner insn to combine (double)(int)
1697 type operations to reduce copying the values to multiple memory slots.
1698 (roundu32<mode>2_fprs): Ditto.
1700 * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
1701 PRE_INC, PRE_DEC, PRE_MODIFY.
1702 (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
1704 * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
1707 2010-11-09 Jakub Jelinek <jakub@redhat.com>
1710 * cfgexpand.c (partition_stack_vars): Call
1711 update_alias_info_with_stack_vars unconditionally.
1712 (update_alias_info_with_stack_vars): Allow unused
1713 unreferenced vars when not optimizing.
1715 2010-11-09 Sebastian Pop <sebastian.pop@amd.com>
1717 PR tree-optimization/46036
1718 * tree-if-conv.c (predicate_bbs): Call unshare_expr before
1719 add_to_dst_predicate_list.
1721 2010-11-09 Jakub Jelinek <jakub@redhat.com>
1724 * df-problems.c (struct dead_debug_use, struct dead_debug): Move
1726 (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
1727 argument, call dead_debug_reset when adding REG_UNUSED note.
1728 (dead_debug_reset): New function.
1729 (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
1730 df_create_unused_note callers.
1732 2010-11-09 Anatoly Sokolov <aesok@post.ru>
1734 * config/fr30/fr30.c: Include "df.h".
1736 2010-11-09 Richard Guenther <rguenther@suse.de>
1738 PR tree-optimization/46355
1739 * tree-loop-distribution.c (tree_loop_distribution): Do not
1740 distribute loops without a single exit.
1742 2010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1744 PR rtl-optimization/46237
1745 * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
1746 saved hard regs if they might get partially clobbered.
1748 2010-11-09 Paul Koning <ni1d@arrl.net>
1750 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
1752 2010-11-09 Richard Guenther <rguenther@suse.de>
1754 PR tree-optimization/46177
1755 * tree-loop-distribution.c (prop_phis): Remove.
1756 (generate_builtin): Re-use the old loop exit edge to avoid
1757 needing to update PHI nodes.
1759 2010-11-09 Joern Rennecke <amylaar@spamcop.net>
1761 * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
1762 type of args_size to unsigned HOST_WIDE_INT.
1765 * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
1766 * config/t-pnt16-warn: New file.
1767 * config/picochip/picochip.c (picochip_emit_stack_allocate):
1769 (picochip_emit_save_register): Likewise.
1770 (picochip_emit_restore_register): Remove variable insn.
1771 (picochip_legitimize_address): Don't use C++ style comments.
1772 (picochip_legitimize_reload_address): Likewise.
1773 (reorder_var_tracking_notes): Remove variable vliw_start.
1774 (picochip_reorg): Cast first arguemnt to emit_note_after to
1776 (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
1777 (picochip_expand_builtin_3op): Likewise.
1778 (picochip_expand_builtin_2opvoid): Likewise.
1779 (picochip_expand_array_get, picochip_expand_array_put): Likewise.
1780 (picochip_expand_array_testport): Likewise.
1781 (picochip_init_builtins): Remove unused variables.
1782 * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
1783 to unsigned long, and output it as such.
1784 (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
1785 * config/picochip/picochip.md (movhicc): Remove nonsense statement.
1786 (schedType): Cast result of picochip_schedule_type to
1787 enum attr_schedType.
1790 * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
1791 conditional to type of S.
1792 (mn10300_function_arg): Remove unused variable align.
1793 (mn10300_arg_partial_bytes): Likewise.
1794 * config/mn10300/mn10300.md (attribute cpu): Cast value to
1797 2010-11-09 H.J. Lu <hongjiu.lu@intel.com>
1800 * gengtype-parse.c (type): Call get_input_file_name to get file name.
1802 2010-11-09 Eric Botcazou <ebotcazou@adacore.com>
1804 * tree.h (contains_placeholder_p): Fix comment.
1805 (type_contains_placeholder_p): Adjust comment.
1806 * tree.c (contains_placeholder_p): Fix comment.
1807 (type_contains_placeholder_1): Do not recurse on pointed-to types and
1809 (type_contains_placeholder_p): Add comment.
1811 2010-11-09 Paul Koning <ni1d@arrl.net>
1813 * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
1814 output of byte values.
1816 2010-11-09 Jakub Jelinek <jakub@redhat.com>
1819 * tree-ssa-propagate.c (update_call_from_tree): Fix for use
1822 2010-11-09 Richard Guenther <rguenther@suse.de>
1825 * varasm.c (compute_visible_aliases): New function.
1826 (remove_unreachable_alias_pairs): Aliases make a target available
1827 even though we reclaimed the cgraph node.
1828 (finish_aliases_1): Likewise.
1829 * Makefile.in (varasm.o): Add pointer-set.h dependency.
1831 2010-11-09 Nick Clifton <nickc@redhat.com>
1833 * config/mn10300/mn10300-modes.def: New file.
1835 2010-11-09 Basile Starynkevitch <basile@starynkevitch.net>
1836 Jeremie Salvucci <jeremie.salvucci@free.fr>
1838 * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
1839 (plugin_files, get_file_basename, get_file_realbasename)
1840 (get_file_langdir, error_at_line, gt_files, this_file)
1841 (system_h_file, read_input_list, create_field_all)
1842 (get_file_srcdir_relative_path, get_file_basename)
1843 (get_file_langdir, get_file_gtfilename)
1844 (get_output_file_with_visibility, get_output_file_name)
1845 (struct flist, put_mangled_filename, walk_type)
1846 (put_mangled_filename, finish_root_table, write_roots): Use
1848 (lang_dir_names, num_lang_dirs): Remove static.
1849 (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
1850 (main): Use input_file-s.
1852 * gengtype.h: (struct input_file_st, input_file): New type.
1853 (struct fileloc): Use it.
1854 (gt_files, num_gt_files, this_file, system_h_file)
1855 (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
1856 (get_input_file_name): New function.
1857 (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
1859 (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
1860 (get_output_file_name): Ditto.
1862 * gengtype-lex.l (yybegin): Use input_file.
1864 * gengtype-parse.c (parse_error): Use input_file.
1866 2010-11-08 Xinliang David Li <davidxl@google.com>
1868 PR tree-optimization/46316
1869 * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
1870 * double-int.h (double_int_mul_with_sign): New function.
1871 * double-int.c (double_int_mul_with_sign): New function.
1873 2010-11-08 Paul Koning <ni1d@arrl.net>
1875 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
1877 2010-11-08 Paul Koning <ni1d@arrl.net>
1879 * config/pdp11/pdp11.md (negsi2): Fix wrong code.
1881 2010-11-08 Paul Koning <ni1d@arrl.net>
1883 * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
1886 2010-11-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1889 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1890 turn on ISA 2.04 rounding instructions for power5.
1892 * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
1896 * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
1898 (movdi_low_st): Ditto.
1900 2010-11-08 Joern Rennecke <amylaar@spamcop.net>
1901 Richard Henderson <rth@redhat.com>
1904 * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
1905 (attribute acc_group): Cast value to enum attr_acc_group.
1906 (*movdi_nodouble+6): Use gen_int_mode.
1907 * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
1908 if RTX_CODE is defined or not.
1909 * config/frv/frv.c (enum frv_io_type): New enum, broken out of
1911 (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
1912 (frv_frame_access, frv_expand_prologue): Remove unused variables.
1913 (frv_expand_block_clear): Likewise.
1914 (frv_trampoline_init): Use LCT_NORMAL.
1915 (struct frv_packet_group): New struct, broken out of type of
1917 (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
1918 use cast in loop counter increment.
1919 (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
1920 assigning to io->type.
1921 (bdesc_set): Use rtx_code UNKNOWN in initializer.
1922 (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
1923 (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
1924 (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
1925 (frv_read_argument): Use expand_normal.
1928 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
1929 lm32_legitimate_constant_p.
1930 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
1931 * config/lm32/lm32.c (gen_int_relational): Make new block for
1932 LE / LT / LEU / LTU case. Declare variables at start of block.
1933 (lm32_block_move_inline): Use XALLOCAVEC.
1935 2010-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1937 * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
1939 2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
1941 * gengtype (get_output_file_for_structure): Ensure type is union
1943 (write_splay_tree_allocator_def): Use
1944 get_output_file_with_visibility.
1946 2010-11-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1948 * config/s390/s390.c (s390_handle_arch_option): Set type and flags
1949 to defined values in case of an error.
1950 (s390_option_override): Skip further processing if the -march
1951 parameter wasn't recognized.
1953 2010-11-08 Joern Rennecke <amylaar@spamcop.net>
1955 * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
1956 assert that REG is a hard register number before using it as an index.
1959 * config/i386/i386.c (ix86_expand_split_stack_prologue):
1960 Avoid warnings when HOST_WIDE_INT is 32 bit.
1962 2010-11-08 Eric Botcazou <ebotcazou@adacore.com>
1965 * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
1966 (sparc_promote_prototypes): Likewise.
1967 (sparc_promote_function_mode): Promote in 32-bit mode as well.
1968 (sparc_return_in_memory): Remove superfluous parentheses.
1969 (sparc_struct_value_rtx): Fix long lines.
1970 (sparc_function_value_1): Promote in 32-bit mode as well.
1972 2010-11-08 Andrey Belevantsev <abel@ispras.ru>
1974 PR rtl-optimization/45352
1975 * sel-sched.c (find_best_expr): Do not set pneed_stall when
1976 the variable_issue hook is not implemented.
1977 (fill_insns): Remove dead variable stall_iterations.
1978 (init_seqno_1): Force EBB start for resetting sched cycles on any
1979 successor blocks of the rescheduled region.
1980 (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
1981 (reset_sched_cycles_in_current_ebb): Add debug printing.
1982 New variable issued_insns. Advance state when we have issued
1985 2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
1987 * gengtype (main): Get here's position using POS_HERE macro for
1990 2010-11-07 Ian Lance Taylor <iant@google.com>
1993 * config/i386/i386.c (split_stack_fn_large): New static variable.
1994 (ix86_expand_split_stack_prologue): Handle large model.
1996 2010-11-07 Andreas Schwab <schwab@linux-m68k.org>
1998 * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
1999 all possible addressing modes.
2001 2010-11-07 Uros Bizjak <ubizjak@gmail.com>
2003 PR tree-optimization/46346
2004 * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
2006 2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
2008 * config/mips/mips.c: Revert previous patch.
2009 * config/mips/mips.md: Likewise.
2011 2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
2013 * config/mips/mips.c (mips_rtx_costs): Handle FMA.
2014 * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
2015 (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
2016 (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
2017 (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
2019 (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
2020 (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
2021 (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
2022 (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
2024 2010-11-06 Simon Martin <simartin@users.sourceforge.net>
2027 * c-decl.c (lookup_label): Labels can only be referenced in a
2029 (store_parm_decls_oldstyle): Skip erroneous parameters.
2031 2010-11-06 Anatoly Sokolov <aesok@post.ru>
2033 * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
2034 LIBCALL_VALUE): Remove macros.
2035 * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2036 TARGET_FUNCTION_VALUE_REGNO_P): Define.
2037 (fr30_function_value_regno_p, fr30_function_value,
2038 fr30_libcall_value): New functions.
2040 2010-11-06 Joern Rennecke <amylaar@spamcop.net>
2043 * target.def (generate_internal_label): New asm_out hook.
2044 * output.h (default_generate_internal_label): Declare.
2045 * varasm.c (default_generate_internal_label): Define.
2047 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
2050 * doc/extend.tex (format): Document NSString extension.
2051 (format_arg): Likewise.
2052 (Darwin Format Checks): New section.
2053 * doc/tm.texi: Document string object hooks (generated).
2054 * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
2055 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
2056 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
2057 * target.def (objc_construct_string_object): Rename, amend
2059 (string_object_ref_type_p): New hook.
2060 (check_string_object_format_arg): New hook.
2061 * c-parser.c (c_parser_attributes): Allow objective-c class names as
2062 attribute identifiers.
2063 * config/darwin-c.c (darwin_cfstring_ref_p): New.
2064 (darwin_check_cfstring_format_arg): New.
2065 (darwin_additional_format_types): New.
2066 * config/darwin-protos.h (darwin_cfstring_ref_p) New.
2067 (darwin_check_cfstring_format_arg): New.
2068 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
2069 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
2070 (TARGET_N_FORMAT_TYPES): New.
2071 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
2073 2010-11-06 Eric Botcazou <ebotcazou@adacore.com>
2074 Pascal Obry <obry@adacore.com>
2076 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine. Use 33
2077 in 64-bit mode and 17 otherwise.
2079 2010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2082 * var-tracking.c (emit_note_insn_var_location): Make sure that
2083 call related var location notes come before the normal ones.
2085 2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
2088 * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
2091 2010-11-05 Ian Lance Taylor <iant@google.com>
2093 * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
2095 2010-11-05 Jakub Jelinek <jakub@redhat.com>
2098 * c-decl.c (warn_cxx_compat_finish_struct): Don't call
2099 pointer_set_contains if DECL_NAME is NULL.
2101 2010-11-05 Ian Lance Taylor <iant@google.com>
2104 * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
2105 request enough additional space for alignment, and force alignment.
2107 2010-11-05 Kai Tietz <kai.tietz@onevision.com>
2109 * config/i386/i386.c (legitimate_pic_address_disp_p):
2110 Handle UNSPEC_PCREL.
2111 (ix86_legitimate_address_p): Likewise.
2112 (legitimize_pic_address): Likewise.
2113 (output_pic_addr_const): Likewise.
2114 (ix86_delegitimize_address): Likewise.
2115 (ix86_find_base_term): Likewise.
2116 (memory_address_length): Likewise.
2117 (x86_output_mi_thunk): Handle special case x64
2118 for non local binding.
2119 * config/i386/i386.md (UNSPEC_PCREL): New.
2120 * config/i386/winnt.c (i386_pe_binds_local_p):
2121 Allow weak symbol for x64 windows with non-local binding.
2123 2010-11-05 Jakub Jelinek <jakub@redhat.com>
2126 * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
2127 instead of EXPAND_NORMAL for base expansion.
2129 2010-11-05 Uros Bizjak <ubizjak@gmail.com>
2131 * config.gcc: Support --with-fpmath=avx for x86.
2132 * config/i386/avxmath.h: New.
2133 * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
2135 2010-11-05 Ian Lance Taylor <iant@google.com>
2137 * tree.h (struct tree_type): Don't use descbits in GTY annotation.
2138 * gengtype.c (walk_type): Don't recognize descbits option.
2140 2010-11-05 Joseph Myers <joseph@codesourcery.com>
2142 * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
2143 WORD_SWITCH_TAKES_ARG): Remove.
2144 * doc/options.texi (Args): Document.
2145 * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
2146 * doc/tm.texi: Regenerate.
2147 * opt-functions.awk (switch_flags): Handle Args.
2148 * opts-common.c: Update comment on tm.h include.
2149 (decode_cmdline_option): Handle options with multiple arguments.
2150 Don't check WORD_SWITCH_TAKES_ARG for unknown options.
2151 * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
2152 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
2153 CL_COMMON): Update values.
2154 * system.h (WORD_SWITCH_TAKES_ARG): Poison.
2155 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
2156 * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
2157 sectobjectsymbols, sectorder, segcreate, segprot): New.
2159 2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
2160 Uros Bizjak <ubizjak@gmail.com>
2162 * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
2163 256bit AVX register is used.
2164 (ix86_expand_vector_move_misalign): Likewise.
2165 (ix86_expand_vector_move): Replace use_avx256_p with
2166 VALID_AVX256_REG_MODE.
2168 2010-11-05 Joern Rennecke <amylaar@spamcop.net>
2171 * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
2172 change. Set $@-warn.o to -Wno-error.
2175 * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
2176 comparing it to a signed value.
2179 * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
2181 * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
2185 * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
2186 (m32c_function_arg). Add comma between arguments two and three.
2187 (m32c_promote_prototypes): Remove declaration.
2188 (current_function_special_page_vector): Likewise.
2189 (m32c_regno_reg_class): Change return type to enum reg_class.
2190 (m32c_pushm_popm): Use add_reg_note.
2191 (m32c_push_rounding): Change return type to unsigned int.
2192 (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
2194 (m32c_insert_attributes): Constify variable name.
2195 (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
2196 (m32c_prepare_shift): Remove variable lref.
2197 (m32c_expand_movcc): Remove variable cmp.
2198 (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
2199 (m32c_compare_redundant): Remove variable op2.
2200 * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
2201 (m32c_pragma_memregs): Assign the number to target_memregs.
2202 (m32c_pragma_address): Remove variable var_str.
2203 * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
2205 (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
2206 * config/m32c/bitops.md (andsi3): Add default case to switch.
2207 (iorsi3, xorsi3): Likewise.
2208 * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
2209 * config/m32c/jump.md (call, call_value): Likewise.
2210 * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
2211 (m32c_regno_reg_class): Likewise.
2212 (current_function_special_page_vector): Declare.
2214 2010-11-05 Jakub Jelinek <jakub@redhat.com>
2216 * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
2218 PR tree-optimization/46099
2219 * tree-parloops.c (take_address_of): Add GSI argument. Return NULL
2220 if it is NULL and uid wasn't found in the hash table. Just fold the
2221 result if it is NULL otherwise. Insert other potentially needed
2222 stmts right before current stmt instead of on the entry edge.
2223 (struct elv_data): Add gsi and reset fields.
2224 (eliminate_local_variables_1): Adjust caller. If take_address_of
2225 failed for debug stmt, set dta->reset and return.
2226 (eliminate_local_variables_stmt): Change STMT argument for GSI,
2227 pass GSI through to the callback, handle resetting of debug stmts.
2228 (eliminate_local_variables): Adjust caller. Process debug stmts
2232 * gimplify.c (gimplify_asm_expr): If a "m" input is a
2233 {pre,post}{in,de}crement, fail.
2236 * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
2237 * tree-pretty-print.c (dump_generic_node): Likewise.
2238 (op_code_prio): Likewise.
2239 * cfgexpand.c (expand_debug_expr): Likewise.
2241 2010-11-04 Paul Koning <ni1d@arrl.net>
2243 * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
2246 2010-11-04 Chao-ying Fu <fu@mips.com>
2248 * configure.ac: Test assembler support for DSP Rev1 mult.
2249 * configure: Regenerate.
2250 * config.in: Regenerate.
2251 * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
2252 * config/mips/mips.c (CODE_FOR_mips_mult): New define.
2253 (CODE_FOR_mips_multu): New define.
2254 (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
2256 (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
2257 Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
2258 * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
2259 New define_expand patterns.
2260 * config/mips/constraints.md (ka): Update the constraint to test
2261 ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
2262 * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
2263 mips_multu): Delete.
2264 * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
2265 Change target constraint to "ka".
2266 Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
2267 (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
2268 Emit the accumulator destination when ISA_HAS_DSP_MULT.
2269 (<u>msubsidi4): Add comments. Test ISA_HAS_DSP.
2270 Emit the accumulator destination when ISA_HAS_DSP_MULT.
2271 (<u>maddsidi4): Likewise.
2272 * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
2273 msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
2275 2010-11-04 Paul Koning <ni1d@arrl.net>
2277 * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
2279 2010-11-04 Paul Koning <ni1d@arrl.net>
2281 * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
2283 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
2285 Fixed using the Objective-C 2.0 dot-syntax with class names.
2286 * c-parser.c (c_parser_next_token_starts_declspecs): In
2287 Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
2288 (c_parser_next_token_starts_declaration): Same.
2289 (c_parser_postfix_expression): Parse the Objective-C 2.0
2290 dot-syntax with a class name.
2292 2010-11-04 Pat Haugen <pthaugen@us.ibm.com>
2294 * final.c (compute_alignments): Compute/free loop info all the time.
2295 * config/rs6000/rs6000.h (LOOP_ALIGN): Define.
2296 * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
2297 * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
2298 * config/rs6000/rs6000.c (cfgloop.h): Include.
2299 (can_override_loop_align): New.
2300 (rs6000_option_override_internal): Set it.
2301 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
2302 (rs6000_loop_align): New function.
2303 (rs6000_loop_align_max_skip): Likewise.
2305 2010-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2308 * collect2.c (main): Print --help output to stdout. Do not
2309 exit right away, so ld --help is appended. Add empty lines
2310 to separate output suitably.
2312 2010-11-04 Jakub Jelinek <jakub@redhat.com>
2314 PR tree-optimization/46233
2315 * ipa-pure-const.c (local_pure_const): Do noreturn discovery
2316 after calling analyze_function, not before.
2319 * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
2320 instead of build_va_arg_indirect_ref.
2321 * config/spu/spu.c (spu_va_start): Likewise.
2322 * config/s390/s390.c (s390_va_start): Likewise.
2324 2010-11-03 Uros Bizjak <ubizjak@gmail.com>
2327 * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
2328 if the innermode is not vector mode, determine the mode of a subreg
2329 by using mode_for_size of inner_size.
2331 2010-11-04 Richard Guenther <rguenther@suse.de>
2333 PR rtl-optimization/46183
2334 * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
2335 (execute_rtl_pre): Likewise.
2336 (execute_rtl_hoist): Likewise.
2338 2010-11-04 Richard Guenther <rguenther@suse.de>
2340 PR tree-optimization/46068
2341 * ipa-split.c (consider_split): Remove gcc_unreachable.
2343 2010-11-04 Richard Guenther <rguenther@suse.de>
2345 * tree-nested.c (build_addr): Use build_fold_addr_expr.
2347 2010-11-04 Richard Guenther <rguenther@suse.de>
2349 PR tree-optimization/45991
2350 * gimplify.c (force_gimple_operand_1): Use the provded test
2351 function in the initial test.
2353 2010-11-04 Jeff Law <law@redhat.com>
2355 * ira.c (validate_equiv_mem): Remove code to avoid invalidation
2356 of readonly memory equivalances for const/pure calls.
2358 2010-11-04 Richard Guenther <rguenther@suse.de>
2360 PR tree-optimization/45733
2361 * tree-vect-stmts.c (reverse_vec_elements): Honor the
2362 permute builtins function return type.
2364 2010-11-04 Joern Rennecke <amylaar@spamcop.net>
2367 * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
2368 as an index, check it is not INVALID_REGNUM.
2371 * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
2373 * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
2376 * function.c (thread_prologue_and_epilogue_insns): Add
2377 ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
2380 * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
2383 * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
2384 (pdp11_preferred_reload_class): Rename class to rclass.
2385 (pdp11_preferred_output_reload_class): Likewise.
2386 * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
2388 (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
2391 * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
2392 iteration variables to enum machine_mode.
2395 * config/h8300/h8300.c: Include df.h.
2396 (push, pop): Use add_reg_note.
2397 (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
2398 (compute_a_shift_cc): Likewise.
2399 (expand_a_shift): Argument code has type enum rtx_code.
2400 (struct shift_insn): Member cc_valid has type enum attr_cc.
2401 (struct shift_info) <cc_inline, cc_special>: Likewise.
2403 * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
2404 (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
2406 2010-11-04 Ira Rosen <irar@il.ibm.com>
2408 PR tree-optimization/46213
2409 * tree-vect-loop.c (vect_is_simple_reduction_1): Handle
2410 MINUS_EXPR only if the first operand is reduction operand.
2412 2010-11-04 Richard Guenther <rguenther@suse.de>
2413 Richard Henderson <rth@redhat.com>
2415 * tree.def (FMA_EXPR): New tree code.
2416 * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
2417 * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
2418 * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
2419 * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
2420 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
2421 * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
2422 (execute_optimize_widening_mul): Call it. Reorganize to allow
2423 dead stmt removal. Move TODO flags ...
2424 (pass_optimize_widening_mul): ... here.
2425 * flag-types.h (enum fp_contract_mode): New enum.
2426 * common.opt (flag_fp_contract_mode): New variable.
2427 (-ffp-contract): New option.
2428 * opts.c (common_handle_option): Handle it.
2429 * doc/invoke.texi (-ffp-contract): Document.
2430 * tree.h (fold_fma): Declare.
2431 * builtins.c (fold_fma): New function.
2432 (fold_builtin_fma): Likewise.
2433 (fold_builtin_3): Call it for fma.
2434 * fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
2435 * optabs.c (optab_for_tree_code): Handle FMA_EXPR.
2436 * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
2438 * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
2440 * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
2441 * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
2442 (fms_optab, fnma_optab, fnms_optab): New defines.
2443 * gimplify.c (gimplify_expr): Handle binary truth expressions
2444 explicitly. Handle FMA_EXPR.
2445 * tree-vect-stmts.c (vectorizable_operation): Handle ternary
2448 2010-11-04 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2449 Richard Guenther <rguenther@suse.de>
2451 * passes.c (init_optimization_passes): Move veclower after SSA.
2452 * tree-vect-generic.c (uniform_vector_p): New function.
2453 (expand_vector_operations_1): Handle conversion.
2454 (pass_lower_vector): Update SSA form.
2456 2010-11-04 Iain Sandoe <iains@gcc.gnu.org>
2458 * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
2459 plugin capabilities.
2460 * configure: Regenerate.
2462 2010-11-03 Xinliang David Li <davidxl@google.com>
2465 * tree-ssa-loop-ivopts.c (get_computation_cost_at):
2466 Adjust cbase if the use stmt is after iv update.
2468 2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
2470 * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
2472 2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
2474 * config/sh/sh.c (sh_expand_prologue): Remove unnecessary
2475 comment. Pass true to the last argument of output_stack_adjust.
2477 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
2480 * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
2481 if 256bit AVX register is used.
2483 2010-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
2485 * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
2486 xsmindp/xsmaxdp on VSX for single precision min/max.
2487 * config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
2488 (vsx_sminsf3): Ditto.
2490 2010-11-03 Eric Botcazou <ebotcazou@adacore.com>
2492 * combine.c (try_combine): Fix formatting issues, improve comments and
2495 2010-11-03 Eric Botcazou <ebotcazou@adacore.com>
2497 * tree-tailcall.c (find_tail_calls): Convert the operands to the type
2498 of the result before building binary expressions.
2500 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
2502 PR rtl-optimization/45865
2503 * Makefile.in (df-problems.o): Revert revision 164552.
2504 * basic-block.h (enum bb_flags): Likewise.
2505 * cfgcleanup.c (block_was_dirty): Likewise.
2506 (try_forward_edges): Likewise.
2507 (try_crossjump_bb): Likewise.
2508 (try_head_merge_bb): Likewise.
2509 (try_optimize_cfg): Likewise.
2510 (cleanup_cfg): Likewise.
2511 * df-core.c (df_set_bb_dirty): Likewise.
2512 * df-problems.c: Likewise.
2513 (df_simulate_find_uses): Likewise.
2514 (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
2515 (find_memory, find_memory_store): Likewise.
2516 (can_move_insns_across): Likewise.
2517 * df.h (can_move_insns_across): Likewise.
2518 * ifcvt.c (find_memory): Likewise.
2519 (dead_or_predicable): Likewise.
2521 2010-11-03 Richard Guenther <rguenther@suse.de>
2524 * predict.c (strip_predict_hints): Simply DCE builtin expect if
2525 the result is unused.
2527 2010-11-03 Jakub Jelinek <jakub@redhat.com>
2529 PR tree-optimization/46009
2530 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
2531 cond_if_else_store_replacement if bb1 and bb2 have the same
2533 (cond_store_replacement): Use gimple_assign_single_p, don't
2534 check if rhs is SSA_NAME or invariant. Call release_defs for
2536 (cond_if_else_store_replacement): New function.
2538 2010-11-03 Richard Guenther <rguenther@suse.de>
2540 * opts.c (finish_options): Properly check for all WHOPR
2541 flags before complaining about -flto-partition.
2543 2010-11-04 Alan Modra <amodra@gmail.com>
2545 * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
2546 (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
2548 * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
2549 * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
2550 on input, "r" on output.
2552 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
2554 Implemented -fobjc-std=objc1 flag.
2555 * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
2557 * doc/standards.texi (Standards): Updated the section on
2558 Objective-C; mention support for Objective-C 2.0 features and the
2559 new -fstd-objc=objc1 flag to disable them.
2561 2010-11-03 Richard Guenther <rguenther@suse.de>
2564 * dwarf2out.c (scope_die_for): Properly detect global scope.
2566 2010-11-03 Richard Guenther <rguenther@suse.de>
2568 PR tree-optimization/46190
2569 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
2570 Properly compute peel iterations.
2572 2010-11-03 Richard Guenther <rguenther@suse.de>
2574 PR tree-optimization/46286
2575 * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
2576 re-allocated vector data.
2578 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
2581 * config/i386/i386.c (ix86_expand_call): Conditionally decorate
2582 calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
2585 2010-11-03 Richard Guenther <rguenther@suse.de>
2587 PR tree-optimization/46217
2588 * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
2590 (execute_update_addresses_taken): Likewise.
2592 2010-11-03 Joern Rennecke <joern.rennecke@embecosm.com>
2595 * targhooks.c (targhook_words_big_endian): New function.
2596 (targhook_float_words_big_endian): Likewise.
2597 * targhooks.h (targhook_words_big_endian): Declare.
2598 (targhook_float_words_big_endian): Likewise.
2599 * target.def (words_big_endian, float_words_big_endian): New hooks.
2601 2010-11-03 Jakub Jelinek <jakub@redhat.com>
2603 PR tree-optimization/46165
2604 * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
2605 a normal call into noreturn call.
2607 2010-11-03 Richard Guenther <rguenther@suse.de>
2610 * builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
2613 2010-11-03 Jakub Jelinek <jakub@redhat.com>
2615 PR tree-optimization/46107
2616 * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
2617 if cfg_hook_duplicate_loop_to_header_edge failed.
2619 2010-11-03 Ian Lance Taylor <iant@google.com>
2622 * config.gcc: Don't set lto_binary_reader.
2623 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
2624 (Configuration): Mention --disable-lto. Remove --with-libelf
2627 2010-11-03 Jakub Jelinek <jakub@redhat.com>
2630 * reload1.c (delete_dead_insn): Use prev_active_insn instead of
2632 * gcse.c (insert_insn_end_basic_block): Likewise.
2634 PR rtl-optimization/46034
2635 PR rtl-optimization/46212
2636 PR rtl-optimization/46248
2637 * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
2638 and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
2639 before i0dest -> i0src substitution and pass 1 instead of 0 as last
2640 argument to subst on i2pat.
2642 2010-11-02 Ian Lance Taylor <iant@google.com>
2644 * configure.ac: Use AC_SYS_LARGEFILE.
2645 * configure: Rebuild.
2646 * config.in: Rebuild.
2648 2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
2650 * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
2652 * c-typeck.c (build_function_call_vec): Likewise.
2653 * cfgexpand.c (expand_debug_expr): Likewise.
2654 * cgraphunit.c (assemble_thunk): Likewise.
2655 * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
2656 * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
2657 (fold_binary_loc, fold_ternary_loc): Likewise.
2658 * gimple-fold.c (get_symbol_constant_value): Likewise.
2659 * gimple-low.c (lower_builtin_setjmp): Likewise.
2660 * gimple.c (gimple_cond_get_ops_from_tree): Likewise.
2661 * gimplify.c (gimplify_init_constructor): Likewise.
2662 * lambda.h (build_linear_expr): Likewise.
2663 * omp-low.c (omp_reduction_init): Likewise.
2664 * tree-inline.c (remap_ssa_name): Likewise.
2665 * tree-object-size.c (compute_object_sizes): Likewise.
2666 * tree-sra.c (init_subtree_with_zero): Likewise.
2667 (sra_ipa_modify_assign): Likewise.
2668 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
2669 * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
2670 (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
2671 (undistribute_ops_list): Likewise.
2672 * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
2673 * tree-vect-stmts.c (vectorizable_call): Likewise.
2674 * tree.c (build_vector_from_ctor, build_one_cst): Likewise.
2675 (build_zero_cst): Handle more cases directly. Update comment.
2677 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
2679 * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
2680 * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
2682 * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
2683 and call ix86_split_call_vzeroupper instead of
2684 ix86_split_call_pop_vzeroupper.
2685 (*call_pop_1_vzeroupper): Likewise.
2686 (*sibcall_pop_1_vzeroupper): Likewise.
2687 (*call_value_pop_0_vzeroupper): Likewise.
2688 (*call_value_pop_1_vzeroupper): Likewise.
2689 (*sibcall_value_pop_1_vzeroupper): Likewise.
2691 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
2693 * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
2695 2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
2697 * basic-block.h (insert_insn_end_bb_new): Delete.
2698 * cfgrtl.c (insert_insn_end_bb_new): Likewise.
2700 2010-11-02 Uros Bizjak <ubizjak@gmail.com>
2701 H.J. Lu <hongjiu.lu@intel.com>
2703 * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
2704 (ix86_split_call_pop_vzeroupper): Likewise.
2706 * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
2707 (ix86_expand_call): Conditionally decorate calls with
2708 UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
2709 (ix86_split_call_vzeroupper): New.
2710 (ix86_split_call_pop_vzeroupper): Likewise.
2712 * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
2713 (*call_pop_0_vzeroupper): New insn_and_split pattern.
2714 (*call_pop_1_vzeroupper): Likewise.
2715 (*sibcall_pop_1_vzeroupper): Likewise.
2716 (*call_0_vzeroupper): Likewise.
2717 (*call_1_vzeroupper): Likewise.
2718 (*sibcall_1_vzeroupper): Likewise.
2719 (*call_1_rex64_vzeroupper): Likewise.
2720 (*call_1_rex64_ms_sysv_vzeroupper): Likewise.
2721 (*call_1_rex64_large_vzeroupper): Likewise.
2722 (*sibcall_1_rex64_vzeroupper): Likewise.
2723 (*call_value_pop_0_vzeroupper): Likewise.
2724 (*call_value_pop_1_vzeroupper): Likewise.
2725 (*sibcall_value_pop_1_vzeroupper): Likewise.
2726 (*call_value_0_vzeroupper): Likewise.
2727 (*call_value_0_rex64_vzeroupper): Likewise.
2728 (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
2729 (*call_value_1_vzeroupper): Likewise.
2730 (*sibcall_value_1_vzeroupper): Likewise.
2731 (*call_value_1_rex64_vzeroupper): Likewise.
2732 (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
2733 (*call_value_1_rex64_large_vzeroupper): Likewise.
2734 (*sibcall_value_1_rex64_vzeroupper): Likewise.
2736 2010-11-02 Ian Lance Taylor <iant@google.com>
2739 * config.gcc: Revert last patch: set lto_binary_reader.
2741 2010-11-02 Richard Guenther <rguenther@suse.de>
2743 PR tree-optimization/46149
2744 * tree-ssa-structalias.c (get_constraint_for_1): Properly handle
2745 non-indirect MEM_REF variants.
2747 2010-11-02 Richard Guenther <rguenther@suse.de>
2749 PR tree-optimization/46216
2750 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
2751 Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
2753 2010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2755 * configure.ac (*-*-irix6*): Disable set_have_as_tls.
2756 (*-*-osf*): Likewise.
2757 * configure: Regenerate.
2759 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
2761 * config/i386/driver-i386.c (host_detect_local_cpu): Updated
2762 for Intel Core 2 and Core i7.
2764 2010-11-02 Maxim Kuvyrkov <maxim@codesourcery.com>
2766 Model decoder of Core 2/i7 for multipass scheduling.
2768 * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
2769 New type to hold target-specific data for multipass scheduling.
2770 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
2771 * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
2773 (core2i7_secondary_decoder_max_insn_size,)
2774 (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
2775 New static variables.
2776 ([const_]ix86_first_cycle_multipass_data_t): New typedefs.
2777 ([_]ix86_first_cycle_multipass_data): New static variable.
2778 (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
2779 Implement targetm.sched hooks.
2780 (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
2782 (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
2783 Implement new targetm.sched hooks.
2784 (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
2785 targetm.sched hook to install multipass scheduling hooks on demand.
2787 * doc/tm.texi.in: Document new targetm.sched hooks.
2788 * doc/tm.texi: Regenerate.
2790 * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
2791 (first_cycle_multipass_data_t): New typedef.
2792 (struct choice_entry: target_data): New field.
2793 (max_issue): Add first_cycle_insn_p parameter. Call new target hooks
2794 to allow target model restrictions not represented in DFA.
2795 (choose_ready, schedule_block): Update.
2796 (sched_extend_ready_list, sched_finish_ready_list): Call new target
2797 hooks to initialize target-specific data for multipass scheduling.
2798 * sched-int.h (max_issue): Update declaration.
2799 * sel-sched.c (choose_best_insn): Update.
2800 * target.def (first_cycle_multipass_{begin, issue, backtrack},)
2801 (first_cycle_multipass_{init, fini}): Define and document new
2802 targetm.sched hooks.
2804 2010-11-02 Richard Guenther <rguenther@suse.de>
2806 PR tree-optimization/46184
2807 * tree-vect-loop.c (vectorizable_reduction): Try to obtain the
2808 input vector type from the reduction operand as well.
2810 2010-11-02 Richard Guenther <rguenther@suse.de>
2812 PR tree-optimization/46177
2813 * tree-loop-distribution.c (prop_phis): Use
2814 mark_virtual_phi_result_for_renaming.
2816 2010-11-02 Martin Jambor <mjambor@suse.cz>
2819 * tree.c (get_binfo_at_offset): Bail out on artificial
2820 fields. Identify primary bases according to their offsets.
2822 2010-11-02 Martin Jambor <mjambor@suse.cz>
2824 PR tree-optimization/45875
2825 * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
2826 (gimple_get_relevant_ref_binfo): Detect primary bases according to
2829 2010-11-02 Ian Lance Taylor <iant@google.com>
2831 * doc/install.texi (Configuration): Note in two places that Java
2832 is not enabled by default.
2834 2010-11-02 Ian Lance Taylor <iant@google.com>
2836 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
2837 (Configuration): Mention --disable-lto. Remove --with-libelf
2840 2010-11-02 Ian Lance Taylor <iant@google.com>
2842 * configure.ac: Remove elf_getshdrstrndx test. Don't substitute
2843 LTO_BINARY_READER or LTO_USE_LIBELF. Remove LIBELFLIBS and
2844 LIBELFINC. Remove HAVE_libelf.
2845 * config.gcc: Don't set lto_binary_reader.
2846 * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
2847 (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
2848 (LIBS): Remove $(LIBELFLIBS).
2849 (INCLUDES): Remove $(LIBELFINC).
2850 * configure: Rebuild.
2851 * config.in: Rebuild.
2853 2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
2855 * config/microblaze/microblaze-protos.h (function_arg): Delete.
2856 (function_arg_advance): Delete.
2857 * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
2858 (FUNCTION_ARG): Delete.
2859 * config/microblaze/microblaze.c (function_arg_advance): Rename to...
2860 (microblaze_function_arg_advance): ...this. Make static. Take a
2861 const_tree and a bool.
2862 (function-arg): Rename to...
2863 (microblaze_function_arg): ...this. Make static. Take a const_tree
2865 (microblaze_expand_prologue): Call targetm.calls.function_arg and
2866 targetm.calls.function_arg_advance.
2867 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2869 2010-11-02 Iain Sandoe <iains@gcc.gnu.org>
2871 Merge from FSF "apple/trunk" branch.
2873 * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
2874 * config/darwin.opt: .. to here.
2875 (matt-stubs): New option.
2876 * config/i386/darwin.opt: Delete.
2877 * config/i386/i386.h (MACHOPIC_ATT_STUB): New.
2878 (MACHO_DYNAMIC_NO_PIC_P): New.
2879 (MACHOPIC_INDIRECT): New.
2880 (MACHOPIC_PURE): New.
2881 * config/i386/darwin.h (DARWIN_X86) Define to 1.
2882 (MACHOPIC_ATT_STUB): New.
2883 (CC1_SPEC): Do not remove mdynamic-no-pic.
2884 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
2885 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
2886 (FUNCTION_PROFILER): Correct over-length line.
2887 (SUBTARGET_OVERRIDE_OPTIONS): New.
2888 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
2889 * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
2890 (legitimate_constant_p): Handle mdynamic-no-pic.
2891 (ix86_legitimate_address_p): Likewise.
2892 (ix86_legitimize_address): Likewise.
2893 (ix86_expand_move): Likewise.
2894 (machopic_output_stub): Update for ATT-style stubs and
2896 * config/darwin-protos.h (machopic_symbol_defined_p): New.
2897 * config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
2898 TARGET_DYNAMIC_NO_PIC: Remove.
2899 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
2900 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
2901 * config/rs6000/rs6000.c (darwin_rs6000_override_options):
2902 Remove handling of mdynamic-no-pic.
2903 * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
2905 (machopic_symbol_defined_p): Do not try to use current_function_decl
2906 when generating _get_pc thunks within stubs.
2907 (machopic_indirect_data_reference): Rework for direct conditionals
2908 rather than #ifdefs, add x86 mdynamic-no-pic
2909 (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
2911 (darwin_override_options): Handle mdynamic-no-pic here.
2912 * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
2913 (machopic_lazy_symbol_ptr3_section): New.
2914 (machopic_picsymbol_stub2_section): New.
2915 (machopic_picsymbol_stub3_section): New.
2916 * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
2917 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
2918 (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
2919 Moved common definition from x86 and rs6000.
2920 (MACHO_DYNAMIC_NO_PIC_P): Override value.
2921 (MACHOPIC_INDIRECT): Likewise.
2922 (MACHOPIC_PURE): Likewise.
2923 * config.gcc (x86-darwin-*): Remove darwin.opt.
2925 2010-11-02 Jakub Jelinek <jakub@redhat.com>
2928 * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
2929 instead of gsi_last_bb.
2931 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
2932 Maxim Kuvyrkov <maxim@codesourcery.com>
2934 * config/i386/i386.c (cpu_names): Add "corei7".
2935 * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
2937 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
2938 Maxim Kuvyrkov <maxim@codesourcery.com>
2940 Tune alignment for Intel Core i7
2942 * config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
2943 (enum processor_type): Update comment. Add entries for Core i7.
2944 * config/i386-c.c (ix86_target_macros_internal): Update.
2945 * config/i386.c (m_COREI7{_32,_64}): New macros.
2946 (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
2947 (processor_target_table): Tune alignment for Core i7.
2948 (ix86_option_override_internal): Use PROCESSOR_COREI7_*.
2950 * doc/invoke.texi: Document "corei7" option value.
2952 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
2953 Maxim Kuvyrkov <maxim@codesourcery.com>
2954 H.J. Lu <hjl.tools@gmail.com>
2956 Basic support for Intel Core i7
2958 * i386.c (ix86_option_override_internal): Add entry for corei7, use
2959 generic tuning. Use generic32 when compiling for 32-bit ABI.
2961 2010-11-02 Iain Sandoe <iains@gcc.gnu.org>
2963 * config/darwin.c (darwin_asm_named_section): Check for __DWARF
2964 sections and call darwin_asm_dwarf_section() to handle them.
2965 (darwin_asm_dwarf_section): New.
2966 (darwin_file_start): Remove code emitting dwarf section symbols.
2968 2010-11-02 Chung-Lin Tang <cltang@codesourcery.com>
2970 * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
2971 explicitly disable stack protection when building libgcc.
2972 (CRTSTUFF_CFLAGS): Same, for crtbegin/end.
2974 2010-11-01 Jason Merrill <jason@redhat.com>
2976 * fold-const.c (fold_indirect_ref_1): Handle folding
2977 POINTER_PLUS_EXPR to ARRAY_REF.
2979 2010-11-01 Kaz Kojima <kkojima@gcc.gnu.org>
2981 * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2982 (sh_delegitimize_address): New function.
2984 2010-11-01 Joseph Myers <joseph@codesourcery.com>
2986 * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
2987 * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
2988 (CC1_SPEC): Don't handle -target.
2989 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
2991 * config/darwin.opt (Zallowable_client, Zbundle_loader,
2992 Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
2993 Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
2994 Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
2995 Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
2996 Zweak_reference_mismatches, client_name, compatibility_version,
2997 current_version, dylinker_install_name, pagezero_size,
2998 read_only_relocs, seg1addr, segs_read_only_addr,
2999 segs_read_write_addr, sub_library, sub_umbrella): New.
3000 * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
3001 * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
3002 * config/freebsd.opt: New.
3003 * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
3004 * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
3005 * config/rpath.opt: New.
3006 * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
3007 (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
3010 2010-11-01 Joseph Myers <joseph@codesourcery.com>
3012 * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
3013 * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
3014 (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
3015 * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
3016 (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
3017 Document that options in .opt files do not need to be included.
3018 * doc/tm.texi: Regenerate.
3019 * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
3020 * opts-common.c: Update comment on tm.h include.
3021 (decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
3022 * system.h (SWITCH_TAKES_ARG): Poison.
3023 * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
3024 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
3026 (LINK_COMMAND_SPEC_A): Don't include %{x}.
3027 * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
3028 * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
3029 * config/freebsd.h (SWITCH_TAKES_ARG): Remove.
3030 * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
3031 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
3032 * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
3033 * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options.
3034 * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
3035 * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
3036 * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
3037 * config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
3038 * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
3039 * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
3040 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
3041 * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
3042 * config/openbsd.h (SWITCH_TAKES_ARG): Remove.
3043 * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
3044 * config/score/score.h (SWITCH_TAKES_ARG): Remove.
3045 * config/sol2.h (SWITCH_TAKES_ARG): Remove.
3046 * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
3047 * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
3048 * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
3049 * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
3051 2010-11-01 Paul Koning <ni1d@arrl.net>
3053 * config/pdp11/pdp11.md: Use iterators.
3054 (addqi3, subqi3, iorsi3, xorsi3): Delete.
3056 2010-11-01 Steve Ellcey <sje@cup.hp.com>
3058 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
3060 * libgcov.c (__gcov_indirect_call_profiler): Set
3061 VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
3062 defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
3064 2010-11-01 Nathan Froyd <froydnj@codesourcery.com>
3066 PR tree-optimization/46259
3069 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
3070 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
3071 build_vector_from_val.
3073 2010-11-01 DJ Delorie <dj@redhat.com>
3075 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610
3076 as well as an assertion.
3078 2010-11-01 Paul Koning <ni1d@arrl.net>
3080 * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
3081 complex modes in memory.
3083 2010-11-01 Nathan Froyd <froydnj@codesourcery.com>
3085 * tree.c (build_vector_from_val): Use useless_type_conversion_p.
3087 2010-11-01 Jakub Jelinek <jakub@redhat.com>
3090 * var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
3091 (cfa_base_offset): New variable.
3092 (compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
3093 (adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
3095 (vt_init_cfa_base): Initialize cfa_base_offset.
3097 2010-11-01 Alan Modra <amodra@gmail.com>
3100 * config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
3101 and savres_strategy.
3102 (stack_info): New file scope var.
3103 (rs6000_init_machine_status): Init stack_info.
3104 (SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
3105 SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
3106 SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
3107 (SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
3108 SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
3109 REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this. Update all refs.
3110 (rs6000_savres_strategy): Rewrite.
3111 (rs6000_stack_info): Use "stack_info" in place of local "info".
3112 Return cached stack info when reload_completed unless ENABLE_CHECKING
3113 in which case confirm newly calculated stack info matches old info.
3114 Delay calculation of lr_save_p, set it for out of line gp save/restore
3115 as well as fp. Call rs6000_savres_strategy from here..
3116 (rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
3117 (rs6000_output_function_prologue): Use info->savres_strategy to
3118 determine whether fp save/restore externs need to be emitted.
3120 2010-10-31 Jason Merrill <jason@redhat.com>
3122 * tree.h (EXPR_LOC_OR_HERE): New macro.
3123 * builtins.c (c_strlen): Use it.
3124 * c-decl.c (build_enumerator): Likewise.
3125 * gimplify.c (internal_get_tmp_var): Likewise.
3126 (shortcut_cond_expr): Likewise.
3127 (gimplify_one_sizepos): Likewise.
3129 2010-10-31 Richard Henderson <rth@redhat.com>
3131 * config/i386/cygming.h (TARGET_SEH): New.
3132 (MAX_STACK_ALIGNMENT): New. Disable alignment for SEH.
3133 (TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
3134 TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
3135 (TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
3136 (ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
3137 (ASM_DECLARE_FUNCTION_SIZE): New.
3138 * config/i386/i386-protos.h: Update.
3139 * config/i386/i386.c (ix86_option_override_internal): Enable
3140 flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
3141 restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
3142 (ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
3143 (ix86_compute_frame_layout): For SEH, disable
3144 use_fast_prologue_epilogue, move frame pointer to the end of
3145 the frame. Initialize hfp_save_offset.
3146 (ix86_expand_prologue): Honor hfp_save_offset. Emit blockage
3147 at end of prologue for SEH.
3148 (ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
3149 emit blockage at beginning of epilogue.
3150 (ix86_expand_binary_operator): After reload, emit LEA if needed.
3151 (ix86_output_call_insn): New.
3152 * config/i386/i386.h (TARGET_SEH): New.
3153 (struct machine_function): Add member seh.
3154 * config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
3155 * config/i386/winnt.c (struct seh_frame_state): New.
3156 (i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
3157 seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
3158 seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
3159 i386_pe_start_function, i386_pe_end_function): New.
3161 * dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
3162 as CFA_STORE in rules 12 and 13.
3164 2010-10-31 Uros Bizjak <ubizjak@gmail.com>
3166 PR tree-optimization/46142
3167 * tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
3168 accommodate third function argument.
3170 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
3172 * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
3174 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
3176 * fold-const.c (build_zero_vector): Use build_vector_from_val.
3177 * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
3178 (get_initial_def_for_reduction): Likewise.
3179 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
3180 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
3181 * tree.c (build_one_cst): Likewise.
3182 (build_vector_from_val): Use types_compatible_p for assert.
3184 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
3186 * emit-rtl.c (mark_used_flags): New function.
3187 (set_used_flags, reset_used_flags): Call it.
3189 2010-10-30 Uros Bizjak <ubizjak@gmail.com>
3192 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
3193 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
3195 2010-10-30 H.J. Lu <hongjiu.lu@intel.com>
3198 * config/i386/i386.c (contains_aligned_value_p): Renamed to ...
3199 (ix86_compat_aligned_value_p): This.
3200 (ix86_old_function_arg_boundary): Renamed to ...
3201 (ix86_compat_function_arg_boundary): This. Updated.
3202 (ix86_contains_aligned_value_p): New.
3203 (ix86_function_arg_boundary): Align long double parameters on
3204 stack to 4byte in 32bit.
3206 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3208 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3209 * c-parser.c (c_parser_objc_at_property_declaration): Removed
3210 parsing of RID_COPIES and RID_IVAR. Updated call to
3211 objc_add_property_declaration.
3212 * c-typecheck.c (build_component_ref): Call
3213 objc_maybe_build_component_ref instead of objc_build_setter_call.
3214 Use objc_is_property_ref to improve Objective-C checks.
3215 (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
3216 of objc_build_getter_call.
3218 2010-10-29 Paul Koning <ni1d@arrl.net>
3220 * doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
3221 REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
3222 REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
3223 (REG_OK_STRICT): Move description.
3225 2010-10-29 Paul Koning <ni1d@arrl.net>
3227 * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
3229 2010-10-29 Paul Koning <ni1d@arrl.net>
3231 * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
3233 2010-10-29 Paul Koning <ni1d@arrl.net>
3236 * config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.
3238 2010-10-29 Richard Henderson <rth@redhat.com>
3241 * stmt.c (expand_asm_operands): Call do_pending_stack_adjust
3244 2010-10-29 Paul Koning <ni1d@arrl.net>
3246 * config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
3247 register to register move.
3249 2010-10-29 Paul Koning <ni1d@arrl.net>
3251 * config/pdp11/pdp11.c (print_operand_address): Correct handling
3252 of integer constant addresses, delete vax-only logic.
3254 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
3256 * config/picochip/picochip.c (picochip_is_short_branch): Simplify
3257 a conditional expression.
3259 2010-10-29 Paul Koning <ni1d@arrl.net>
3261 * config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
3262 instruction encoding.
3264 2010-10-29 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3265 Andrew Pinski <pinskia@gmail.com>
3267 * tree.h (build_vector_from_val): Declare.
3268 * tree.c (build_vector_from_val): New function.
3269 * c-typeck.c (build_binary_op): Handle vector shifting.
3270 * doc/extend.texi: Description of the vector shifting operation.
3272 2010-10-29 Paul Koning <pkoning@equallogic.com>
3274 * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
3275 pdp11_secondary_memory_needed): Declare.
3276 * config/pdp11/predicates.md (float_operand): New predicate.
3277 * config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
3278 (cbranchdf4, movdf): Change predicate.
3279 (movsf): Handle FPU register case.
3280 (truncdfsf2, extendsfdf2): Add FPU register case.
3281 * config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
3282 TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
3283 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3284 (pdp11_register_move_cost): Update cost matrix.
3285 (pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
3286 pdp11_preferred_output_reload_class, pdp11_secondary_reload,
3287 pdp11_secondary_memory_needed): New function.
3288 (pdp11_return_in_memory): Add other float types.
3289 * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types.
3290 (SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
3291 (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
3292 REGISTER_MOVE_COST): Delete.
3293 (BASE_RETURN_VALUE_REG): Add other float types.
3295 2010-10-29 Nick Clifton <nickc@redhat.com>
3297 * doc/invoke.texi: Document -mam34 and -mtune options.
3298 * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
3299 (mn10300_tune_cpu): New variable.
3300 (mn10300_handle_option): Handle -mam34 and -mtune options.
3301 (mn10300_option_override): Convert tune string into tune cpu variable.
3302 (mn10300_legitimate_constant_p): Delete unused local variable.
3303 (is_load_insn): New function.
3304 (is_store_insn): New function.
3305 (mn10300_adjust_schedule_cost): New function.
3306 (TARGET_SCHED_ADJUST_COST): Define.
3307 * config/mn10300/mn10300.opt (mam34): New option.
3308 (mtune): New option.
3309 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support.
3310 (enum processor_type): Add AM34.
3311 (TARGET_AM34): Define.
3312 * config/mn10300/mn10300.md (attr cpu): Add am34.
3313 Add pipeline description.
3314 (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates.
3315 Remove unneeded alternatives. Add timing attribute.
3316 (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
3317 mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
3318 mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
3319 mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
3320 mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
3321 bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
3322 bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
3323 float_conditional_branch, jump, indirect_jump, tablejump,
3324 call_internal, call_value_internal, zero_extendqisi2_am33,
3325 zero_extendqisi2_mn10300, zero_extendhisi2_am33,
3326 zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
3327 extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
3328 mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
3329 mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
3330 addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
3331 fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
3332 return_internal_regs, store_movm, return, call_next_insn):
3333 Add timing attribute.
3334 (am33_subsi3): Add missing clobber of CC_REG.
3335 (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
3336 (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
3337 subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
3338 extendqisi2): Fix predicates.
3339 (call_internal, call_internal_value): Separate alternatives.
3340 * config/mn10300/t-mn10300: Add AM34 multilib.
3342 2010-10-29 Paolo Bonzini <bonzini@gnu.org>
3344 * config/sh/sh.c (sh_promote_function_mode): Use
3345 default_promote_function_mode if !sh_promote_prototypes.
3347 2010-10-28 Paolo Bonzini <bonzini@gnu.org>
3349 * recog.c (split_all_insns): Remove dead code.
3351 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3353 * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3355 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3357 * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
3358 (FUNCTION_ARG_ADVANCE): Delete.
3359 * config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
3361 (cris_function_incoming_arg, cris_function_arg_advance): New functions.
3362 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
3363 (TARGET_FUNCTION_ARG_ADVANCE): Define.
3365 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3367 * config/lm32/lm32-protos.h (lm32_function_arg): Delete.
3368 * config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3369 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
3370 Take a const_tree and a bool.
3371 (mcore_function_arg_advance): New function.
3372 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3374 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3376 * config/mcore/mcore-protos.h (mcore_function_arg): Delete.
3377 * config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3378 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
3379 Take a const_tree and a bool.
3380 (mcore_function_arg_advance): New function.
3381 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3383 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3385 * config/h8300/h8300-protos.h (function_arg): Delete.
3386 * config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3387 * config/h8300/h8300.c (function_arg): Rename to...
3388 (h8300_function_arg): ...this. Make static. Take a const_tree and
3390 (h8300_function_arg_advance): New function.
3391 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3393 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3395 * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
3397 * config/arc/arc.c (arc_function_arg): ...here and...
3398 (arc_function_arg_advance): ...here. New functions.
3399 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3401 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3403 * config/crx/crx-protos.h (crx_function_arg): Delete.
3404 (crx_function_arg_advance): Delete.
3405 * config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3406 * config/crx/crx.c (crx_function_arg): Make static. Take a
3407 const_tree and a bool.
3408 (crx_function_arg_advance): Make static. Take a const_tree and a bool.
3409 (enough_regs_for_param): Take a const_tree.