1 2010-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
3 * doc/extend.texi (Function attributes): Document PowerPC target
4 attributes that are supported.
5 (Pragmas): Document that PowerPC now supports target pragmas.
7 * doc/options.texi (TargetVariable): Document TargetVariable,
8 HeaderInclude, and SourceInclude.
10 * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
11 mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
14 * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
15 SourceInclude directives. Fix a cut+paste error with target save
16 enum variables. Sort enums in the structures after ints and
18 * opth-gen.awk: Ditto.
20 * configure.ac: Add support for HeaderInclude and SourceInclude
21 option directives to add the appropriate files to the dependency
23 * configure: Regenerate.
24 * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
25 (OPTIONS_C_EXTRA): New variable for SourceInclude.
26 (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
27 (options.o): Add $(OPTIONS_C_EXTRA) dependency.
28 (gcc-options.o): Ditto.
29 * opt-include.awk: New awk script to handle HeaderInclude and
32 * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
33 gets saved in the target options.
34 * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
35 * config/rs6000/sysv4.opt (-mbit-align): Ditto.
39 (-msecure-plt): Ditto.
41 * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
42 (-mpowerpc-gfxopt): Ditto.
58 (-mavoid-indexed-addresses): Ditto.
59 (-mtls-markers): Ditto.
60 (-msched-epilog): Ditto.
61 (-msched-prolog): Ditto.
62 (-maix-struct-return): Ditto.
63 (-msvr4-struct-return): Ditto.
65 (-mrecip-precision): Ditto.
67 (-msum-in-toc): Ditto.
69 (-mblock-move-inline-limit=): Ditto.
73 (-mgen-cell-microcode): Ditto.
74 (-mwarn-cell-microcode): Ditto.
75 (-mwarn-altivec-long): Ditto.
76 (-mprioritize-restricted-insns=): Ditto.
77 (-msingle-float): Ditto.
78 (-mdouble-float): Ditto.
79 (-msimple-fpu): Ditto.
80 (-mxilinx-fpu): Ditto.
81 * config/rs6000/aix64.opt (-mpe): Ditto.
83 * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
84 (rs6000_cpu): Move variable to be a target variable. Rename
85 cmodel to rs6000_current_cmodel because of macro conflict. Merge
86 -mdebug=<xxx> variables into a single int.
87 (rs6000_always_hint): Ditto.
88 (rs6000_sched_groups): Ditto.
89 (rs6000_align_branch_targets): Ditto.
90 (rs6000_sched_costly_dep): Ditto.
91 (rs6000_sched_insert_nops): Ditto.
92 (rs6000_long_double_type_size): Ditto.
93 (rs6000_ieeequad): Ditto.
94 (rs6000_altivec_abi): Ditto.
96 (rs6000_spe_abi): Ditto.
97 (rs6000_float_gprs): Ditto.
98 (rs6000_darwin64_abi): Ditto.
99 (can_override_loop_align): Ditto.
100 (rs6000_sdata): Ditto.
101 (rs6000_tls_size): Ditto.
102 (rs6000_current_abi): Ditto.
103 (rs6000_traceback): Ditto.
104 (rs6000_alignment_flags): Ditto.
105 (rs6000_current_cmodel): Ditto.
106 (rs6000_recip_control): Ditto.
107 (rs6000_cpu_index): Ditto.
108 (rs6000_tune_index): Ditto.
109 (rs6000_debug): Ditto.
110 (rs6000_target_flags_explict): Ditto.
112 * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
115 * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
116 cmodel. Change all uses.
118 * config/rs6000/rs6000.c (rs6000_always_hint): Move to
119 rs6000.opt. Combine -mdebug=<xxx> variables into a single int.
120 Rename cmodel to rs6000_current_cmodel.
121 (rs6000_sched_groups): Ditto.
122 (rs6000_align_branch_targets): Ditto.
123 (rs6000_sched_costly_dep): Ditto.
124 (rs6000_sched_insert_nops): Ditto.
125 (rs6000_long_double_type_size): Ditto.
126 (rs6000_ieeequad): Ditto.
127 (rs6000_altivec_abi): Ditto.
129 (rs6000_spe_abi): Ditto.
130 (rs6000_float_gprs): Ditto.
131 (rs6000_darwin64_abi): Ditto.
132 (can_override_loop_align): Ditto.
133 (rs6000_sdata): Ditto.
134 (rs6000_tls_size): Ditto.
135 (rs6000_current_abi): Ditto.
136 (rs6000_traceback): Ditto.
137 (rs6000_alignment_flags): Ditto.
138 (rs6000_current_cmodel): Ditto.
139 (rs6000_recip_control): Ditto.
140 (rs6000_cpu_index): Ditto.
141 (rs6000_tune_index): Ditto.
142 (rs6000_debug): Ditto.
143 (rs6000_target_flags_explict): Ditto.
144 (rs6000_sched_insert_nops_str): Make static.
145 (rs6000_sched_costly_dep_str): Ditto.
146 (rs6000_recip_name): Ditto.
147 (rs6000_abi_name): Ditto.
148 (rs6000_sdata_name): Ditto.
149 (enum rs6000_traceback_name): Move to rs6000-opts.h.
150 (rs6000_parse_tls_size_option): Delete.
151 (rs6000_valid_attribute_p): New function for target attributes and
153 (rs6000_function_specific_save): Ditto.
154 (rs6000_function_specific_restore): Ditto.
155 (rs6000_function_specific_print): Ditto.
156 (rs6000_can_inline_p): Ditto.
157 (rs6000_set_current_function): Ditto.
158 (rs6000_inner_target_options): Ditto.
159 (rs6000_debug_target_options): Ditto.
160 (rs6000_pragma_target_parse): Ditto.
161 (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
162 attributes and pragmas.
163 (TARGET_OPTION_SAVE): Ditto.
164 (TARGET_OPTION_RESTORE): Ditto.
165 (TARGET_OPTION_PRINT): Ditto.
166 (TARGET_CAN_INLINE_P): Ditto.
167 (TARGET_SET_CURRENT_FUNCTION): Ditto.
168 (POWER_MASKS): Move to file level scope from the
169 rs6000_option_override_internal function.
170 (POWERPC_MASKS): Ditto.
171 (ISA_*_MASKS): Ditto.
172 (struct rs6000_ptt): Ditto.
173 (processor_target_table): Ditto.
174 (rs6000_cpu_name_lookup): Map cpu name to an index in
175 processor_target_table.
176 (rs6000_debug_reg_global): Print more information on processor
177 options for -mdebug=reg.
178 (rs6000_init_hard_regno_mode_ok): Add support for target
179 attributes and pragmas. Merge all -mdebug=<xxx> fields into one.
180 Allow -mdebug=val1,val2. Rename cmodel variable.
181 (rs6000_option_override_internal): Ditto.
182 (rs6000_option_override): Ditto.
183 (rs6000_handle_option): Ditto.
184 (rs6000_conditional_register_usage): Add debug trace message.
185 (struct rs6000_opt_mask): New for target attribute/pragma
187 (rs6000_opt_masks): Ditto.
188 (struct rs6000_opt_var): Ditto.
189 (rs6000_opt_vars): Ditto.
190 (rs6000_previous_function): Ditto.
192 * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
193 wasn't already included.
194 (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
195 (enum processor_type): Ditto.
197 (enum fpu_type_t): Ditto.
199 (enum rs6000_dependence_cost): Ditto.
200 (enum rs6000_nop_insertion): Ditto.
201 (enum group_termination): Ditto.
202 (rs6000_long_double_type_size): Ditto.
203 (rs6000_ieeequad): Ditto.
204 (rs6000_altivec_abi): Ditto.
205 (rs6000_spe_abi): Ditto.
207 (rs6000_float_gprs): Ditto.
208 (rs6000_alignment_flags): Ditto.
209 (rs6000_sched_insert_nops): Ditto.
210 (enum rs6000_vector): Ditto.
211 (enum rs6000_abi): Ditto.
212 (rs6000_current_opt): Ditto.
213 (rs6000_debug_*): Delete.
214 (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
215 (TARGET_DEBUG*): Ditto.
217 * config/rs6000/rs6000-opts.h: New header file to define the enums
218 that are used in target variables that are now defined in
221 * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
223 (rs6000_sdata): Ditto.
224 (rs6000_abi_name): Delete.
225 (rs6000_sdata_name): Ditto.
226 (rs6000_tls_size_string): Ditto.
228 2010-11-19 Joseph Myers <joseph@codesourcery.com>
230 * common.opt (debug_struct_ordinary, debug_struct_generic): New
232 * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
233 should_emit_struct_debug): Move from opts.c.
234 * flag-types.h (enum debug_struct_file): Move from opts.c.
235 * flags.h (should_emit_struct_debug): Remove.
236 (base_of_path): Declare.
237 (set_struct_debug_option): Add gcc_options parameter.
238 * optc-gen.awk, opth-gen.awk: Handle array variables.
239 * opts.c (enum debug_struct_file, debug_struct_ordinary,
240 debug_struct_generic): Remove.
241 (set_struct_debug_option): Add gcc_options parameter.
242 (base_of_path): Remove static.
243 (main_input_basename, main_input_baselength, matches_main_base,
244 dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
246 * toplev.c (main_input_basename, main_input_baselength): Define
248 * toplev.h (main_input_basename, main_input_baselength): Declare
251 2010-11-19 Joseph Myers <joseph@codesourcery.com>
253 * common.opt (flag_instrument_functions_exclude_functions,
254 flag_instrument_functions_exclude_files): New Variable
256 * flags.h (flag_instrument_functions_exclude_p): Don't declare.
257 * gimplify.c (char_p): Declare type and vectors.
258 (flag_instrument_functions_exclude_p): Moved from opts.c. Make
260 * opts.c (flag_instrument_functions_exclude_functions,
261 flag_instrument_functions_exclude_files): Remove.
262 (add_comma_separated_to_vector): Take void **.
263 (flag_instrument_functions_exclude_p): Move to gimplify.c.
264 (common_handle_option): Use options structure for
265 -finstrument-functions-exclude- options.
267 2010-11-19 Joseph Myers <joseph@codesourcery.com>
269 * doc/options.texi (Var): Document effects of Defer.
271 * opt-functions.awk (var_type, var_set): Handle deferred options.
272 * opts-common.c (set_option): Handle CLVC_DEFER.
273 * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
274 fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
275 fstack-limit-symbol=): Mark as deferred.
276 * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
278 (print_filtered_help): Don't report state of CLVC_DEFER options.
279 (common_handle_option): Move code for OPT_fcall_used_,
280 OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
281 OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
282 OPT_fstack_limit_symbol_ to opts-global.c.
283 (option_enabled, get_option_state): Handle CLVC_DEFER.
284 * opts.h: Include vec.h.
285 (enum cl_var_type): Add CLVC_DEFER.
286 (cl_deferred_option): Define type and vectors.
287 (handle_common_deferred_options): Declare.
288 * opts-global.c: New.
289 * toplev.c (toplev_main): Call handle_common_deferred_options
290 * Makefile.in (OPTS_H): Include $(VEC_H).
291 (OBJS-common): Include opts-global.o.
292 (opts.o): Update dependencies.
293 (opts-global.o): Add dependencies.
295 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
297 * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
298 to objc_declare_protocols.
300 2010-11-19 Richard Guenther <rguenther@suse.de>
303 * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
304 IDENTIFIERs do not stream TREE_TYPE.
305 * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
307 2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com>
309 * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
311 2010-11-19 Jakub Jelinek <jakub@redhat.com>
314 * dwarf2out.c (const_ok_for_output_1): Don't complain about
315 non-delegitimized TLS UNSPECs.
317 2010-11-18 Jack Howarth <howarth@bromo.med.uc.edu>
318 Ian Lance Taylor <iant@google.com>
320 * config/darwin-c.c (darwin_additional_format_types): Export.
322 2010-11-18 Paul Koning <ni1d@arrl.net>
324 * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
327 2010-11-18 Paul Koning <ni1d@arrl.net>
329 * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
330 * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
331 * config/pdp11/pdp11.opt (-mabshi): Delete.
333 2010-11-19 Mingjie Xing <mingjie.xing@gmail.com>
335 * resource.h (struct resources): Fix typo in the comment.
337 2010-11-19 Uros Bizjak <ubizjak@gmail.com>
340 * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
342 2010-11-18 Richard Henderson <rth@redhat.com>
345 * function.c (maybe_copy_prologue_epilogue_insn): Rename from
346 maybe_copy_epilogue_insn; handle prologue insns as well.
347 * rtl.h, cfglayout.c: Update for rename.
348 * recog.c (peep2_attempt): Copy prologue/epilogue data for
349 RTX_FRAME_RELATED_P insns.
351 2010-11-18 Jakub Jelinek <jakub@redhat.com>
354 * builtins.c (fold_builtin_printf): Don't copy and modify string
355 before build_string_literal, instead modify what
356 build_string_literal returned.
358 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
361 * c-typeck.c (build_unary_op): Call build_real_imag_expr for
362 REALPART_EXPR and IMAGPART_EXPR.
364 2010-11-18 Richard Guenther <rguenther@suse.de>
366 PR tree-optimization/46172
367 * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
369 (slpeel_tree_peel_loop_to_edge): Call it.
371 2010-11-18 Jeff Law <law@redhat.com>
373 PR middle-end-optimization/46297
374 * postreload.c (reload_combine_note_store): Deal with embedded
375 side effects in MEM expressions.
377 2010-11-18 Richard Guenther <rguenther@suse.de>
380 * dwarf2out.c (add_AT_die_ref): Work around LTO losing types
381 when checking is not enabled.
383 2010-11-18 Richard Guenther <rguenther@suse.de>
386 * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
388 (gimple_register_canonical_type): Also cache the canoncial type
389 for non type leaders.
391 2010-11-18 Richard Guenther <rguenther@suse.de>
393 * lto-wrapper.c (run_gcc): Fix -flto=N parsing.
395 2010-11-18 Alexander Monakov <amonakov@ispras.ru>
398 * sel-sched-ir.c (init_expr): Use the correct type for
400 * sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
402 2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
404 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
405 as well as -mrelocatable at the same time.
407 2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com>
410 * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
411 Call the clz builtin.
413 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
414 Steve Ellcey <sje@cup.hp.com>
417 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
418 if section attribute used.
420 2010-11-17 Jan Hubicka <jh@suse.cz>
422 * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
423 expand errno setting variant when optimizing for size.
425 2010-11-17 Eric Botcazou <ebotcazou@adacore.com>
427 * postreload.c (reload_combine): Call control_flow_insn_p only once.
428 Reverse backward loop. Fix formatting issues.
430 2010-11-17 Paolo Bonzini <bonzini@gnu.org>
432 * c-parser.c (c_token_is_qualifier,
433 c_parser_next_token_is_qualifier): New.
434 (c_parser_declaration_or_fndef, c_parser_struct_declaration):
435 Improve error message on specs->tagdef_seen_p.
436 (c_parser_struct_or_union_specifier): Improve error recovery.
437 (c_parser_declspecs): Move exit condition on C_ID_ID early.
438 Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
439 using c_parser_next_token_is_qualifier; extend it to cover
440 a ctsk_tagdef typespec and !typespec_ok in general.
442 2010-11-17 Richard Guenther <rguenther@suse.de>
444 * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
445 (gimple_mod_pow2_value_transform): Likewise.
446 (gimple_mod_subtract_transform): Likewise.
448 2010-11-17 Richard Guenther <rguenther@suse.de>
451 * gimple.c (gimple_register_canonical_type): Make sure to only
452 make type leaders canonical types.
454 2010-11-17 Michael Matz <matz@suse.de>
456 * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
457 TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
458 TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
459 TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
460 * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
461 (pass_build_ssa): ... but here.
462 * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
463 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
464 * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
465 * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
466 * predict.c (rebuild_frequencies): Ditto.
467 * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
468 * emit-rtl.c (verify_rtl_sharing): Ditto.
469 * tree-cfgcleanup.c (repair_loop_structures): Ditto.
470 * tree-ssa-live.c (remove_unused_locals): Ditto.
471 * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
472 * tree-ssa.c (pass_early_warn_uninitialized,
473 execute_update_addresses_taken, pass_update_address_taken): Ditto.
474 * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
475 pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
476 * passes.c (pass_postreload, execute_todo): Ditto.
477 * tree-ssanames.c (pass_release_ssa_names): Ditto.
479 2010-11-17 Joseph Myers <joseph@codesourcery.com>
481 * doc/invoke.texi (-dy): Remove.
482 * langhooks-def.h (lhd_do_nothing_i): Don't declare.
483 (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
484 * langhooks.c (lhd_do_nothing_i): Remove.
485 * langhooks.h (lang_hooks.parse_file): Take no arguments.
486 * toplev.c (set_yydebug): Remove.
487 (compile_file): Update call to lang_hooks.parse_file.
488 (decode_d_option): Don't handle -dy.
490 2010-11-17 Jakub Jelinek <jakub@redhat.com>
492 PR rtl-optimization/46440
493 * combine.c (update_cfg_for_uncondjump): When changing
494 an indirect jump into unconditional jump, remove BARRIERs
497 2010-11-17 Joseph Myers <joseph@codesourcery.com>
499 * opts.c (target_handle_option): Do not assert that loc ==
502 2010-11-17 Jakub Jelinek <jakub@redhat.com>
503 Richard Guenther <rguenther@suse.de>
506 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
507 call_may_clobber_ref_p_1): Return true for __sync_* and some
508 OpenMP builtins that act as threading barriers.
510 2010-11-17 Richard Guenther <rguenther@suse.de>
512 PR tree-optimization/46498
513 * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
515 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
517 * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
518 (xtensa_function_arg_boundary): ...this.
519 * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
520 thinko in declaration.
521 (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
522 number of parameters to picochip_function_arg_boundary.
523 (picochip_arg_advance): Likewise.
525 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
528 * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
529 under check for type.
531 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
533 * ifcvt.c (dead_or_predicable): Fix typo.
535 2010-11-16 Richard Henderson <rth@redhat.com>
537 * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
538 * config/s390/s390.opt (mfused-madd): Remove.
539 * config/s390/s390.c (s390_rtx_costs): Handle FMA.
540 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
541 * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
542 (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
544 2010-11-16 Richard Henderson <rth@redhat.com>
546 * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
547 * config/rs6000/rs6000.opt (mfused-madd): Remove.
548 * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
549 (*altivec_vmaddfp_1): Remove.
550 (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
551 (altivec_mulv4sf3): Expand to FMA directly.
552 (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
553 (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
554 * config/rs6000/paired.md (paired_madds0): Use FMA.
555 (paired_madds1): Likewise.
556 (*paired_madd): Rename from paired_madd; use FMA.
557 (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
558 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
559 consider TARGET_FUSED_MADD wrt rs6000_recip_control.
560 (bdesc_3arg): Update CODE_FOR_* for pattern renames.
561 (rs6000_emit_madd): Use fma_optab.
562 (rs6000_emit_msub): Use fms_optab.
563 (rs6000_emit_nmsub): Expand the FMA pattern directly.
564 * config/rs6000/rs6000.md (FMA_F): New mode iterator.
565 (*fmasf4_fpr): Rename from fmasf4_fpr.
566 (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
567 (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
568 (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
569 (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
570 (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
571 (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
572 (*fmadf4_fpr): Rename from fmadf4_fpr.
573 (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
574 (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
575 (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
576 (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
577 (fmasf4, fmadf4): Macroize into...
578 (fma<FMA_F>4): ... here.
579 (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
580 (nfma<FMA_F>4, nfms<FMA_F>4): New.
581 * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
583 * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
584 (*vsx_fmadd<mode>4_1): Remove.
585 (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
586 (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
587 (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
588 (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
589 (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
590 (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
591 (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
593 2010-11-16 Richard Henderson <rth@redhat.com>
595 * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
596 (fmasf4, fnmadf4, fnmasf4): Likewise.
597 (unnamed plus+mult insns and splitters): Delete.
599 2010-11-16 Richard Henderson <rth@redhat.com>
601 * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
602 (fnma<VSF>4): Rename from fnms_<VSF>.
603 (fms<VSF>4): Rename from fms_<VSF>.
604 (fma<VDF>4): Rename from fma_<VDF>.
605 (fms<VDF>4): Rename from fms_<VDF>.
606 (nfma<VDF>4): Rename from fnma_<VDF>.
607 (nfms<VDF>4): Rename from fnms_<VDF>.
608 (fnma<VDF>4, fnms<VDF>4): New expanders.
609 (floatunsdisf2): Update for the renames.
610 (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
611 * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
613 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
615 PR rtl-optimization/46490
616 * combine.c (expand_compound_operation): Fix thinko.
618 2010-11-16 Richard Henderson <rth@redhat.com>
621 * recog.c (peep2_attempt): Convert frame-related info when possible.
622 (peep2_fill_buffer): Allow frame-related insns into the buffer.
623 (peephole2_optimize): Allow peep2_attempt to fail.
625 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
627 PR rtl-optimization/46315
628 * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
629 * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
631 * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into...
632 (remove_reg_equal_equiv_notes_for_defs): ...this.
633 (delete_unmarked_insns): Adjust to above renaming.
634 * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
635 referring to registers set in the insns being moved, if any.
637 * df-core.c (df_ref_dump): New function extracted from...
638 (df_refs_chain_dump): ...here. Call it.
639 (df_regs_chain_dump): Likewise.
640 * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
641 * df-scan.c (df_scan_start_dump): Likewise. Fix long line.
643 2010-11-16 Andreas Schwab <schwab@linux-m68k.org>
645 PR rtl-optimization/46395
646 * postreload.c (reload_combine): Invalidate register use
647 information on all control flow insns.
649 * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
650 LABEL_REF in UNSPEC operand.
652 2010-11-16 Jan Hubicka <jh@suse.cz>
654 * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
655 when !flag_toplevel_reorder do not remove unless variable is
656 COMDAT or ARTIFICIAL.
657 * ipa.c (varpool_can_remove_if_no_refs): ... here.
658 (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
659 * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
660 * varpool.c (decide_is_variable_needed): Do not handle visibility
662 (varpool_finalize_decl): Likewise.
663 (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
664 update outdated comment on DECL_RTL_SET_P check.
666 2010-11-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
668 * config/sol2.h (NM_FLAGS): Define.
669 * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
670 * doc/tm.texi: Update.
672 2010-11-16 Nick Clifton <nickc@redhat.com>
674 * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
675 (msubsf4): Rename to fmssf4, and use fma.
676 (nmaddsf4): Rename to fnmasf4 and use fma.
677 (nmsubsf4): Rename to fnmssf4 and use fma.
679 2010-11-16 Joern Rennecke <amylaar@spamcop.net>
682 * config/score/score3.c (score3_return_in_memory): Constify arguments.
683 (score3_in_small_data_p, score3_function_value): Likewise.
684 (score3_trampoline_init): Use LCT_NORMAL.
685 (score3_print_operand): Initialize code as UNKNOWN.
686 * config/score/predicates.md (score_load_multiple_operation):
687 Remove unused variable.
688 (score_store_multiple_operation): Likewise.
689 * config/score/score7.c (score7_return_in_memory): Constify arguments.
690 (score7_in_small_data_p, score7_function_value): Likewise.
691 (score7_trampoline_init): Use LCT_NORMAL.
692 (score7_print_operand): Initialize code as UNKNOWN.
693 * config/score/score3.h (score3_return_in_memory): Update prototype.
694 (score3_in_small_data_p, score3_function_value): Likewise.
695 * config/score/score-protos.h (score_function_value): Likewise.
696 * config/score/score7.h (score7_return_in_memory): Update prototype.
697 (score7_in_small_data_p, score7_function_value): Likewise.
698 * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
699 (score_return_in_memory, score_pass_by_reference): Constify arguments.
700 (score_output_mi_thunk, score_function_prologue): Don't return a value.
701 (score_function_epilogue, score_in_small_data_p): Likewise.
702 (score_option_override, score_asm_trampoline_template): Likewise.
703 (score_trampoline_init, score_print_operand): Likewise.
704 (score_print_operand_address, score_prologue): Likewise.
705 (score_epilogue, score_call, score_call_value): Likewise.
706 (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
707 (score_function_arg_advance): Likewise. Make static.
708 (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
709 (score_function_arg, score_legitimate_address_p): Make static.
710 (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
711 * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
712 * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
713 Allow (W) == HOST_BITS_PER_WIDE_INT.
716 * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
717 * config/t-pnt16-warn (java/constants.o-warn): Likewise.
719 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
721 * config/arc/arc.c: Delete pasto.
722 * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
724 2010-11-16 Anatoly Sokolov <aesok@post.ru>
726 * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
727 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
728 * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
729 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
730 (mn10300_preferred_reload_class,
731 mn10300_preferred_output_reload_class): New functions.
733 2010-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
735 * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
736 (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
737 (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
738 (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
740 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
742 * builtins.c (std_gimplify_va_arg_expr): Use
743 targetm.calls.function_arg_boundary.
744 * function.c (assign_parms, locate_and_pad_parm): Likewise.
745 * calls.c (struct arg_data): Update comment.
746 * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
747 * target.def (function_arg_boundary): Define.
748 * targhooks.h (default_function_arg_boundary): Declare.
749 * targhooks.c (default_function_arg_boundary): Define.
750 * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
751 TARGET_FUNCTION_ARG_BOUNDARY.
752 (FUNCTION_ARG_BOUNDARY): Delete.
753 (TARGET_FUNCTION_ARG_BOUNDARY): New.
754 * doc/tm.texi: Regenerate.
755 * system.h (FUNCTION_ARG_BOUNDARY): Poison.
756 * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
757 * config/arc/arc.c (arc_function_arg_boundary): Define.
758 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
759 * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
760 * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
761 * config/arm/arm.c (arm_needs_doubleword_align): Make static.
762 (arm_function_arg_boundary): Define.
763 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
764 * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
765 * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
766 * config/frv/frv.c (frv_function_arg_boundary): Make static.
767 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
768 * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
769 * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
770 * config/i386/i386.c (ix86_function_arg_boundary): Make static.
771 (ix86_compat_function_arg_boundary): Take and return unsigned int.
772 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
773 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
774 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
775 * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
776 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
777 * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
778 * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
779 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
780 * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
781 * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
782 * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
783 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
784 * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
785 * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
786 * config/mips/mips.c (mips_function_arg_boundary): Make static.
787 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
788 * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
789 * config/pa/pa.c (pa_function_arg_boundary): Define.
790 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
791 * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
792 * config/picochip/picochip-protos.h
793 (picochip_get_function_arg_boundary): Delete.
794 * config/picochip/picochip.c (picochip_get_function_arg_boundary):
796 (picochip_function_arg_boundary): ...this. Make static.
797 (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
798 (picochip_arg_advance): Adjust.
799 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
800 * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
801 * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
802 * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
803 (rs6000_function_arg_boundary): ...this. Make static.
804 (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
805 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
806 * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
807 * config/rx/rx.c (rx_function_arg_boundary): Define.
808 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
809 * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
810 * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
811 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
812 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
813 * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
814 * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
815 (xtensa_function_arg_boundary): ...this. Make static.
816 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
818 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
820 * expr.c (alignment_for_piecewise_move): New function.
821 (widest_int_mode_for_size): New function.
822 (move_by_pieces, move_by_pieces_ninsns): Call them.
823 (can_store_by_pieces, store_by_pieces_1): Likewise.
825 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
827 * gcc.c (char_p): Define. Define a VEC of it.
828 (n_linker_options, n_assembler_options, n_preprocessor_options):
830 (linker_options, assembler_options, preprocessor_options): Convert
832 (add_preprocessor_option): Adjust.
833 (add_assembler_option): Adjust.
834 (add_linker_option): Adjust.
835 (do_specs_vec): New function.
836 (do_spec_1): Call it. Adjust for new types.
838 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
840 * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
841 (sreal.o, statistics.o, stringpool.o): Likewise.
843 2010-11-16 Richard Guenther <rguenther@suse.de>
845 PR tree-optimization/44545
846 * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
847 statements are not reassociatable.
848 (reassociate_bb): Likewise.
850 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
852 * bitmap.c: Delete unnecessary includes.
853 * ebitmap.c: Likewise.
854 * et-forest.c: Likewise.
856 * statistics.c: Likewise.
857 * stringpool.c: Likewise.
858 * double-int.c: Add comment for inclusion of tm.h.
860 2010-11-16 Richard Guenther <rguenther@suse.de>
862 * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
863 (visit_nary_op): ... this.
864 (visit_binary_op): Remove.
865 (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
867 2010-11-16 Richard Guenther <rguenther@suse.de>
870 * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
872 2010-11-16 Nick Clifton <nickc@redhat.com>
874 * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
877 2010-11-15 Richard Henderson <rth@redhat.com>
879 * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
880 WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
883 2010-11-15 Richard Henderson <rth@redhat.com>
885 * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
886 from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively. Use
889 2010-11-15 Richard Henderson <rth@redhat.com>
891 * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
892 and *mulsubsf4 respectively. Use fma rtx_code.
894 2010-11-15 Joseph Myers <joseph@codesourcery.com>
896 * gcc.c: Include "vec.h".
897 (argbuf): Make into a VEC.
898 (argbuf_length, argbuf_index): Remove.
899 (alloc_args, clear_args, store_arg, execute, insert_wrapper,
900 do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
901 compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
902 * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
903 (gcc.o): Depend on $(VEC_H).
905 2010-11-15 Richard Henderson <rth@redhat.com>
907 * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
908 via FMA if unsafe math.
909 (insert_var_expansion_initialization): Handle FMA.
910 (combine_var_copies_in_loop_exit): Likewise.
912 2010-11-15 Richard Henderson <rth@redhat.com>
914 * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
915 * config/ia64/ia64.opt: Remove mfused-madd.
916 * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
917 * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
918 * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
919 * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
920 * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
921 * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
922 (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
923 (fmav2sf4): Rename from fpma; use FMA code.
924 (fmsv2sf4): Rename from fpms; use FMA code.
925 (fnmav2sf4): Rename from *fpnma; use FMA code.
926 * config/ia64/ia64.md (MODE_SDF): New iterator.
927 (suffix): New mode attribute.
928 (*maddsf4, *msubsf4, *nmaddsf4): Remove.
929 (fmssf4): Rename from *fmssf4.
930 (fnmasf4): Rename from *nfmasf4.
931 (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
932 (*nmadddf4, *nmadddf4_truncsf): Remove.
933 (fmsdf4): Rename from *fmsdf4.
934 (fnmadf4): Rename from *nfmadf4.
935 (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
936 (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
937 (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
938 (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
939 (fmsxf4): Rename from *fmsxf4.
940 (fnmaxf4): Rename from *nfmaxf4.
941 (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
942 (*fnmaxf_trunc_<MODE_SDF>): New.
944 2010-11-15 Jakub Jelinek <jakub@redhat.com>
946 PR tree-optimization/46461
947 * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
950 2010-11-15 Ian Lance Taylor <iant@google.com>
952 * godump.c: New file.
953 * common.opt (fdump-go-spec=): New option.
954 * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
955 (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
956 (TYPE_SYMTAB_IS_DIE): Define.
957 (struct tree_type): Change GTY for symtab field to use
958 TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
959 to pick the union field.
960 * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
961 (dump_go_spec_init): Declare.
962 * toplev.c (process_options): Handle flag_dump_go_spec.
963 * debug.c: Include "tree.h".
964 (do_nothing_debug_hooks): Set tree_type_symtab_field.
965 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
966 * dbxout.c (dbx_debug_hooks): Likewise.
967 (xcoff_debug_hooks): Likewise.
968 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
969 * sdbout.c (sdb_debug_hooks): Likewise. Do not define if
970 SDB_DEBUGGING_INFO is not defined.
971 * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
972 (Overall Options): Document -fdump-go-spec.
973 * Makefile.in (OBJS-common): Add godump.o.
974 (debug.o): Add dependency on $(TREE_H).
975 (godump.o): New target.
976 (GTFILES): Add $(srcdir)/godump.c.
978 2010-11-15 Jakub Jelinek <jakub@redhat.com>
981 * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
982 marking r11 set RTX_FRAME_RELATED_P if offset is too large for
983 style < 0, add REG_FRAME_RELATED_EXPR.
986 * rtl.h (vt_equate_reg_base_value): New prototype.
987 * alias.c (vt_equate_reg_base_value): New function.
988 * var-tracking.c (vt_init_cfa_base): Use it.
990 2010-11-15 Jan Hubicka <jh@suse.cz>
991 Diego Novillo <dnovillo@google.com>
995 * doc/gccint.texi: Add reference to lto.texi.
996 * doc/invoke.texi: Update user documentation for LTO.
997 Move internal flags to lto.texi
999 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
1001 * c-typeck.c (build_unary_op): Use
1002 objc_build_incr_expr_for_property_ref to build the pre/post
1003 increment/decrement of an Objective-C property ref, and skip the
1004 lvalue_or_else check in that case.
1006 2010-11-15 Martin Jambor <mjambor@suse.cz>
1008 PR tree-optimization/46349
1009 * tree-sra.c (contains_bitfld_comp_ref_p): New function.
1010 (contains_vce_or_bfcref_p): Likewise.
1011 (sra_modify_assign): Use them.
1013 2010-11-15 Richard Guenther <rguenther@suse.de>
1015 PR tree-optimization/46467
1016 * tree-ssa-structalias.c (do_structure_copy): Properly treat
1017 variables without subvars.
1019 2010-11-15 Hariharan Sandanagobalane <hariharan@picochip.com>
1021 * config/picochip/picochip.c (file header): Picochip name change.
1022 * config/picochip/picochip.md (file header): Likewise.
1023 * config/picochip/predicates.md (file header): Likewise.
1024 * config/picochip/dfa_space.md (file header): Likewise.
1025 * config/picochip/dfa_speed.md (file header): Likewise.
1026 * config/picochip/picochip.h(file header): Likewise.
1027 * config/picochip/constraints.md (file header): Likewise.
1028 * config/picochip/picochip-protos.h (file header): Likewise.
1029 * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
1030 * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
1031 * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
1032 * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
1033 * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
1034 * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
1035 * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
1036 * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
1037 * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
1038 * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
1039 * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
1040 * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
1041 * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
1042 * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
1044 2010-11-15 Richard Guenther <rguenther@suse.de>
1047 * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
1049 2010-11-15 Nick Clifton <nickc@redhat.com>
1051 * config/stormy16/stormy16.c (direct_return): Do not generate a
1052 direct return for interrupt handlers.
1054 2010-11-15 Joern Rennecke <amylaar@spamcop.net>
1056 * Makefile.in (tm.texi): Replace with rule for:
1057 ($(srcdir)/doc/tm.texi).
1058 (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
1059 $(srcdir)/doc/tm.texi .
1060 (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
1064 * config/m32r/m32r.c: Remove unused variables frame_size and insn.
1067 * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
1068 (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
1071 * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
1073 2010-11-15 Richard Guenther <rguenther@suse.de>
1076 * lto-opts.c (lto_write_options): Write -fexceptions even if
1077 not set by the user.
1079 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
1082 * c-decl.c (declspecs_add_type): Make variables with error types
1084 * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
1085 do not start a declaration before an Objective-C foreach.
1086 (c_parser_declaration_or_fndef): Improve recovery after unknown
1088 (c_parser_for_statement): Hoist entrance of "foreach context"
1089 before ifs, add corresponding reset where it was missing. Do
1090 not set objc_could_be_foreach_context for C.
1092 2010-11-14 Eric Botcazou <ebotcazou@adacore.com>
1094 PR tree-optimization/45722
1095 * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
1096 this is a reference to a component.
1097 * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
1098 (ipa_note_param_call): Adjust comment.
1100 2010-11-14 Richard Sandiford <rdsandiford@googlemail.com>
1102 * config/mips/mips.c (machine_function): Remove
1103 initialized_mips16_gp_pseudo_p.
1104 (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
1105 detect whether a pseudo has already been created. Unconditionally
1106 create a new one if not.
1107 (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
1108 expanding to rtl. Create a new pseudo otherwise, if allowed.
1110 2010-11-13 Richard Earnshaw <rearnsha@arm.com>
1113 * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
1114 * tm.texi: Regenerated.
1115 * output.h (decode_reg_name_and_count): Declare.
1116 * varasm.c (decode_reg_name_and_count): New function.
1117 (decode_reg_name): Reimplement using decode_reg_name_and_count.
1118 * reginfo.c (fix_register): Use decode_reg_name_and_count and
1119 iterate over all regs used.
1120 * stmt.c (expand_asm_operands): Likewise.
1121 * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
1122 (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
1123 multiple machine registers.
1125 2010-11-13 Eric Botcazou <ebotcazou@adacore.com>
1127 * stor-layout.c (place_union_field): Do not put location information
1128 on offset expressions.
1129 (place_field): Likewise.
1130 (finalize_record_size): Likewise on size expressions.
1131 (finalize_type_size): Likewise.
1132 (layout_type): Likewise.
1134 2010-11-13 Alexandre Oliva <aoliva@redhat.com>
1137 * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
1138 * df-core.c (df_set_bb_dirty_nonrl): Remove.
1139 * df.h (df_set_bb_dirty_nonlr): Likewise.
1141 2010-11-13 Uros Bizjak <ubizjak@gmail.com>
1143 * config/mips/mips.md (call_internal): Pass curr_insn to
1145 (call_internal_direct): Ditto.
1146 (call_value_internal): Ditto.
1147 (call_value_internal_direct): Ditto.
1148 (call_value_multiple_internal): Ditto.
1149 * config/mips/mips.c (mips_split_call): Do not copy
1150 CALL_INSN_FUNCTION_USAGE here.
1152 2010-11-13 Mingming Sun <mingm.sun@gmail.com>
1154 * doc/invoke.texi (MIPS Options): Add loongson3a processor.
1155 * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
1156 (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
1157 * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
1158 (TUNE_LOONGSON_3A): Define.
1159 (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
1160 (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
1161 * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
1162 (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
1163 (mips_rtx_cost_data): Add Loongson-3A.
1165 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
1167 * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
1170 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
1172 * dwarf2out.c (macinfo_entry): New struct.
1173 (output_comp_unit): Emit the section start label here and flag that we
1174 will emit an info section.
1175 (dwarf2out_start_source_file): Save data in a macinfo entry rather than
1177 (dwarf2out_end_source_file): Likewise.
1178 (dwarf2out_define): Likewise.
1179 (dwarf2out_undef): Likewise.
1180 (output_macinfo): New.
1181 (dwarf2out_init): Do not emit debug section switches here, allocate a
1182 vec for macinfo, when required.
1183 (dwarf2out_finish): First switch to debug_abbrev_section here.
1184 debug_line_section, debug_macinfo_section, Likewise.
1185 Check that the pubtypes table has at least one unpruned entry before
1188 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
1191 * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
1192 (c_parser_next_tokens_start_declaration): ... this. Handle 2nd
1194 (c_parser_compound_statement_nostart, c_parser_label,
1195 c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
1196 (c_parser_declaration_or_fndef): Detect the case now matched by
1197 c_parser_next_tokens_start_declaration, give error and correct it.
1199 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
1201 * c-tree.h (enum c_typespec_kind): Add ctsk_none.
1202 (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
1204 * c-decl.c (build_null_declspecs): Initialize typespec_kind.
1205 (shadow_tag_warned, check_compound_literal_type): Adjust
1206 uses of tag_defined_p.
1207 (declspecs_add_type): Set typespec_kind.
1208 * c-parser.c (c_parser_declaration_or_fndef,
1209 c_parser_declspecs, c_parser_struct_declaration,
1210 c_parser_parameter_declaration, c_parser_type_name,
1211 c_parser_objc_diagnose_bad_element_prefix): Adjust uses
1213 * c-typeck.c (c_cast_expr): Use typespec_kind instead of
1214 tag_defined_p, pass ctsk_firstref through.
1216 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
1218 * c-format.c (enum format_specifier_kind, kind_descriptions): New.
1219 (struct format_wanted_type): Replace field "name" with "kind", add
1220 "format_start" and "format_length".
1221 (check_format_info_main): Fill in new fields. Fill in
1222 FORMAT_WANTED_TYPES even for missing arguments. Move checks
1223 after the final NUL outside the while loop. Do not include
1224 width and precision modifiers in the format_start/format_length
1226 (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
1227 arguments. Compute WANTED_TYPE first so that format_type_warning
1228 can be called for missing arguments. Adjust calls to
1229 format_type_warning.
1230 (format_type_warning): Fetch as much information as possible
1231 from format_wanted_type. Adjust printing now that every
1232 warning has a "descr", as well as for missing argument warnings
1233 and to include % sign for format specifiers.
1235 2010-11-12 Alexander Monakov <amonakov@ispras.ru>
1237 PR rtl-optimization/46204
1238 * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
1239 Update all callers. Do not recompute topological order. Adjust
1240 fallthrough edges following a degenerate conditional jump.
1242 2010-11-12 Joseph Myers <joseph@codesourcery.com>
1244 * opts-common.c (control_warning_option): New.
1245 * opts.c (set_default_handlers): New.
1246 (decode_options): Use set_default_handlers and
1247 control_warning_option.
1248 (common_handle_option): Update call to enable_warning_as_error.
1249 (enable_warning_as_error): Take gcc_options parameters. Use
1250 control_warning_option.
1251 * opts.h (set_default_handlers, control_warning_option): Declare.
1253 2010-11-12 Joseph Myers <joseph@codesourcery.com>
1255 * Makefile.in (OPTS_H): Define.
1256 (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
1257 c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
1258 cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
1259 opts-common.o, toplev.o, passes.o, matrix-reorg.o,
1260 ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
1261 * gcc.c (driver_handle_option): Take location_t parameter.
1262 (process_command, do_self_spec): Update calls to
1263 read_cmdline_option.
1264 * langhooks-def.h (lhd_handle_option): Take location_t parameter.
1265 * langhooks.c (lhd_handle_option): Take location_t parameter.
1266 * langhooks.h (handle_option): Take location_t parameter.
1267 * lto-opts.c (lto_reissue_options): Update call to set_option.
1268 * opts-common.c (handle_option): Make static. Take location_t
1269 parameter and pass it to other functions.
1270 (handle_generated_option): Take location_t parameter and pass it
1272 (read_cmdline_option): Take location_t parameter and pass it to
1273 other functions. Use warning_at and error_at.
1274 (set_option): Take location_t parameter and pass it to other
1276 * opts.c (common_handle_option): Take location_t parameter and
1277 pass it to other functions.
1278 (enable_warning_as_error): Make static. Take location_t parameter
1279 and pass it to other functions.
1280 (lang_handle_option): Take location_t parameter and pass it to
1282 (target_handle_option): Take location_t parameter.
1283 (read_cmdline_options, maybe_default_option,
1284 maybe_default_options, default_options_optimization,
1285 decode_options): Take location_t parameter and pass it to other
1287 * opts.h: Include input.h.
1288 (struct cl_option_handler_func, decode_options, set_option,
1289 handle_generated_option, read_cmdline_option): Take location_t
1291 (handle_option, enable_warning_as_error): Remove.
1292 * toplev.c (toplev_main): Update call to decode_options.
1294 2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
1296 * graphite-cloog-util.c (oppose_constraint,
1297 cloog_matrix_to_ppl_constraint,
1298 new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
1299 CLooG isl uses unsigned integers. This triggered a warning.
1301 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
1304 * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
1305 (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
1306 (xtensa_function_arg_1): De-constify cum.
1307 (xtensa_expand_prologue): Use add_reg_note.
1310 * config/cris/cris.c (saved_regs_mentioned): Delete.
1311 (cris_reload_address_legitimized): Cast itype to enum reload_type.
1312 Remove unused variable op0p.
1313 (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
1314 (cris_emit_movem_store): Use add_reg_note.
1317 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
1319 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
1321 * function.c (expand_function_end): Set the locator of the prologue on
1322 the stack checking insns.
1324 2010-11-12 Richard Henderson <rth@redhat.com>
1326 * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
1327 * config/xtensa/xtensa.opt (mfused-madd): Remove.
1328 * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
1330 * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
1331 (fnmasf4): Rename from mulsubsf3; use fma.
1333 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
1334 Richard Henderson <rth@redhat.com>
1337 * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
1338 * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
1341 2010-11-12 Pat Haugen <pthaugen@us.ibm.com>
1343 * opts-common.c (decode_cmdline_option): Initialize separate_args.
1345 2010-11-12 Jan Hubicka <jh@suse.cz>
1347 * doc/invoke.texi (early-inlining-insns): Update default.
1348 * params.def (early-inlining-insns): Default to 10.
1350 2010-11-12 Olivier Hainque <hainque@adacore.com>
1352 * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
1354 2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1356 * config/mips/iris6.h [!IRIX_USING_GNU_LD]
1357 (SUPPORTS_INIT_PRIORITY): Define.
1359 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
1362 * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
1363 * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
1364 (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
1365 (avr_device_to_devicelib): Likewise.
1366 * config/avr/avr.md (zero_extendqihi2): Put variable declarations
1368 (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
1369 (zero_extendhidi2, zero_extendsidi2): Likewise.
1370 * config/avr/avr.c (avr_num_arg_regs): Constify type.
1371 (avr_return_addr_rtx): De-constify tem.
1372 (avr_rotate_bytes): Move declarations to start of block.
1373 Don't use variable length array. Put nested if/else into block.
1375 PR rtl-optimization/46433
1376 * var-tracking.c: Include tm_p.h .
1380 * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
1382 (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
1383 * doc/tm.texi: Regenerate.
1386 * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
1387 * config/bfin/bfin.c: Include sel-sched.h .
1388 (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
1389 (expand_interrupt_handler_prologue): Remove unused variable insn.
1390 (bfin_load_pic_reg): Likewise.
1391 (bfin_rtx_costs): Make code / outer_code variables of type
1392 enum rtx_code, copied from re-named parameters.
1393 (bfin_local_alignment): Change align argument and return type
1395 (bfin_adjust_cost): Remove unused variable insn_type.
1396 Declare variables at start of block.
1397 (struct loop_info): Rename to...
1398 (struct loop_info_d).
1399 (workaround_rts_anomaly): Change type of icode to int.
1400 (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
1401 with int-typed variable.
1402 (note_np_check_stores): Likewise.
1403 (trapping_loads_p): Remove unused variable pat.
1404 (bfin_expand_binop_builtin): Use expand_normal.
1405 (bfin_expand_unop_builtin): Likewise.
1406 (bfin_expand_builtin): Likewise. Set tmode before use.
1409 * final.c (split_double): Don't use BITS_PER_WORD directly in
1413 * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
1417 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
1419 (xstormy16_function_arg): Dereference cum.
1420 (xstormy16_expand_builtin): Use expand_normal.
1421 Change type of omode to enum machine_mode.
1422 (combine_bnp): Rename and to and_insn.
1425 * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
1428 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
1431 * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
1433 2010-11-11 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
1436 * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
1438 2010-11-11 Nathan Froyd <froydnj@codesourcery.com>
1441 * common.opt (fmax-errors=): New option.
1442 * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
1443 * diagnostic.h (struct diagnostic_context): Add max_errors field.
1444 * diagnostic.c (diagnostic_initialize): Initialize it.
1445 (diagnostic_action_after_output): Exit if more than max_errors
1447 * doc/invoke.texi (Warning Options): Add -fmax-errors.
1448 (-fmax-errors): Document.
1450 2010-11-11 Richard Henderson <rth@redhat.com>
1452 * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
1454 2010-11-11 Richard Henderson <rth@redhat.com>
1456 * config/fused-madd.opt: New file.
1457 * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
1458 * config/i386/i386.c (ix86_extra_costs): Handle FMA.
1459 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
1460 * config/i386/i386.opt (mfused-madd): Remove.
1461 * config/i386/sse.md (split_fma): Remove.
1462 (split_fms, split_fnma, split_fnms): Remove.
1464 2010-11-12 Jakub Jelinek <jakub@redhat.com>
1467 * config/i386/i386.md (*ashl<mode>3_cconly,
1468 *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
1469 change nonimmediate_operand predicate to register_operand.
1471 2010-11-11 Paolo Bonzini <bonzini@gnu.org>
1473 * Makefile.in (gengtype-lex.c): Include bconfig.h first.
1475 2010-11-11 Jan Hubicka <jh@suse.cz>
1477 * opts.c (finish_options): Do not error on -flto-partition alone.
1479 * doc/invoke.texi (-fwhopr): Merge into -flto section.
1480 (-flto-partition): Document none.
1481 * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
1482 * lto-wrapper.c: Update comment.
1483 (run_gcc): Update LTO option parsing.
1484 * opts.c (finish_options): add support -flto-partition=none
1485 (common_handle_option): Remove fwhopr.
1486 * common.opt: Turn fwhopr into flto.
1487 * collect2.c (main): Update option handling.
1488 * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
1489 * ipa-split.c (execute_split_functions): Remove flag_whopr.
1490 * ipa.c (function_and_variable_visibility): Remove flag_whopr.
1491 * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
1492 * varpool.c (decide_is_variable_needed): Remove flag_whopr.
1494 2010-11-11 Jan Hubicka <jh@suse.cz>
1496 PR tree-optimize/40436
1497 * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
1498 (eliminated_by_inlining_prob): ... this one; return 50% probability
1500 (estimate_function_body_sizes): Update use of
1501 eliminated_by_inlining_prob; estimate static function size
1504 2010-11-11 Joern Rennecke <amylaar@spamcop.net>
1507 * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
1508 declare. Change type of argument four to type int.
1509 (mep_secondary_input_reload_class): Returns enum reg_class.
1510 (mep_secondary_output_reload_class): Likewise.
1511 (mep_function_value): Change types of arguments to cont_tree.
1512 * config/mep/mep.c (mep_legitimize_reload_address): Change type of
1513 argument four to type int.
1514 (mep_secondary_input_reload_class): Returns enum reg_class.
1515 (mep_secondary_output_reload_class): Likewise.
1516 (mep_function_value): Change types of arguments to cont_tree.
1517 * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
1518 mep_regno_reg_class to enum reg_class.
1520 2010-11-11 Richard Henderson <rth@redhat.com>
1522 * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
1523 that the target has the exact fma operation that we matched.
1525 2010-11-11 Joseph Myers <joseph@codesourcery.com>
1527 * reginfo.c (fix_register): Avoid inserting English word in
1528 diagnostic sentence. Use %qs for quoting and %'.
1530 2010-11-11 H.J. Lu <hongjiu.lu@intel.com>
1532 * config/i386/driver-i386.c (host_detect_local_cpu): Support
1533 Intel processor family 6, model 0x2c.
1535 2010-11-11 Joseph Myers <joseph@codesourcery.com>
1537 * opts.c (warning_as_error_callback,
1538 register_warning_as_error_callback): Remove.
1539 (enable_warning_as_error): Don't use warning_as_error_callback.
1540 * opts.h (register_warning_as_error_callback): Remove.
1542 2010-11-11 Richard Henderson <rth@redhat.com>
1544 * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
1545 in between the MULT and the PLUS/MINUS.
1547 2010-11-11 Jakub Jelinek <jakub@redhat.com>
1550 * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
1551 BLKmode mode for it.
1552 (expand_expr_real_1): Similarly for op0.
1554 2010-11-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1556 * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
1557 Document optional target selector.
1559 2010-11-11 Dave Korn <dave.korn.cygwin@gmail.com>
1561 * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
1562 assembling high and low parts of size if not using 32-bit HWINT; else
1563 use DECL_SIZE_UNITS, not DECL_SIZE.
1565 2010-11-11 Martin Jambor <mjambor@suse.cz>
1567 PR tree-optimization/46383
1568 * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
1570 (compute_complex_ancestor_jump_func): Likewise.
1571 * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
1573 2010-11-11 Jakub Jelinek <jakub@redhat.com>
1576 * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
1577 true if expr1->hash != expr2->hash.
1579 2010-11-10 Joseph Myers <joseph@codesourcery.com>
1581 * cfgloop.c (verify_loop_structure): Use %' in diagnostics. Start
1582 diagnostics with lowercase letters.
1583 * cgraphunit.c (verify_cgraph_node): Start diagnostics with
1585 * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
1587 * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1588 * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
1590 * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1591 Remove trailing ' ' from diagnostic.
1592 * config/avr/avr.c (print_operand_address): Start diagnostic with
1593 a lowercase letter and remove trailing '.'.
1594 * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
1595 * config/bfin/bfin.c (bfin_option_override): Start diagnostics
1596 with lowercase letters. Use %' in diagnostics. Remove trailing
1597 '.' from diagnostics.
1598 (bfin_handle_longcall_attribute): Use %' in diagnostic.
1599 * config/cris/cris.c (cris_split_movdx,
1600 cris_expand_pic_call_address): Start diagnostics with lowercase
1602 (cris_asm_output_label_ref): Use %' in diagnostic.
1603 * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
1605 * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
1607 * config/darwin-c.c (version_as_macro): Start diagnostic with a
1609 * config/darwin-driver.c (darwin_default_min_version): Use %' in
1611 * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
1613 * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1614 * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
1616 * config/i386/i386.c (ix86_option_override_internal): Write
1617 diagnostic as a single sentence without trailing '.'. Use %' in
1619 (ix86_function_sseregparm, classify_argument): Start diagnostics
1620 with lowercase letters.
1621 (ix86_expand_prologue): Use %' in diagnostic.
1622 * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
1624 * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
1626 * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
1628 * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1629 * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
1631 * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
1633 * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
1635 * config/microblaze/microblaze.c (microblaze_handle_option):
1636 Remove trailing '.' from diagnostic.
1637 (print_operand): Start diagnostic with a lowercase letter.
1638 * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
1639 lowercase letters. Avoid '`' in diagnostics.
1640 * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
1641 lowercase letters. Avoid '`' in diagnostics.
1642 * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
1643 lowercase letters. Avoid '`' in diagnostics.
1644 * config/picochip/picochip.c (picochip_option_override,
1645 picochip_emit_save_register, picochip_function_arg,
1646 picochip_output_label, picochip_output_internal_label,
1647 picochip_asm_output_opcode, picochip_output_cbranch,
1648 picochip_output_compare, picochip_output_branch,
1649 picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
1650 diagnostics. Start diagnostics with lowercase letters. Use %' in
1652 * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
1653 "SPE" capitalization. Start diagnostic with a lowercase letter.
1654 (rs6000_handle_option): Start diagnostics with lowercase letters.
1655 (def_builtin): Remove trailing '.' from diagnostic.
1656 (rs6000_savres_routine_name): Start diagnostic with a lowercase
1658 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
1660 * config/rx/rx.c (rx_handle_option): Start diagnostic with a
1662 * config/s390/s390.c (s390_option_override) Start diagnostics with
1663 lowercase letters. Use %' in diagnostic.
1664 * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
1666 * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
1668 * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
1670 * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
1672 * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1673 * config/spu/spu.c (spu_option_override): Start diagnostics with
1674 lowercase letters. Use %qs for quoting in diagnostics.
1675 (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
1676 Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
1677 * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
1679 * convert.c (convert_to_integer, convert_to_vector): Use %' in
1681 * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
1682 letter and use "cannot" spelling.
1683 * expmed.c (extract_fixed_bit_field): Start diagnostic with
1684 lowercase letter and format as a single sentence without '.'.
1685 * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
1686 Use %' in diagnostics.
1687 * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
1688 Use %' in diagnostics.
1689 * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
1690 Use %' in diagnostics.
1691 * graph.c (clean_graph_dump_file): Use %' in diagnostic.
1692 * graphite-poly.c (graphite_read_scop_file): Start diagnostics
1693 with lowercase letters and remove tailing '.' and '\n'.
1694 * lto-cgraph.c (input_profile_summary): Start diagnostic with
1695 lowercase letter and remove trailing '.'.
1696 (input_cgraph): Start diagnostics with lowercase letters and
1697 remove trailing '\n'.
1698 * opts.c (finish_options, common_handle_option): Start diagnostics
1699 with lowercase letters and remove trailing '.'. Fix typo in
1701 * passes.c (position_pass): Start diagnostic with lowercase letter.
1702 * plugin.c (add_new_plugin, parse_plugin_arg_opt,
1703 register_callback, try_init_one_plugin): Start diagnostics with
1705 * reload1.c (spill_failure): Use %' in diagnostic.
1706 (gen_reload): Start diagnostic with a lowercase letter.
1707 * stor-layout.c (place_field): Start diagnostic with a lowercase
1709 * toplev.c (open_auxiliary_file): Use %' in diagnostic.
1710 * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
1711 verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
1712 Start diagnostics with lowercase letters, remove trailing '.' and
1713 use %' in diagnostics.
1714 * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
1715 (verify_ssa): Don't split diagnostic across two error calls.
1716 Spell out "number" and use %' in diagnostic.
1717 * value-prof.c (visit_hist, check_counter): Start diagnostics with
1720 2010-11-10 Uros Bizjak <ubizjak@gmail.com>
1723 * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
1724 (_mm_cvtpu16_ps): Ditto.
1726 2010-11-10 Joseph Myers <joseph@codesourcery.com>
1728 * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
1729 warn_larger_than, larger_than_size, warn_frame_larger_than,
1730 frame_larger_than_size, flag_gen_aux_info, flag_shlib,
1731 default_visibility, flag_tls_default): New Variable declarations.
1732 (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
1733 falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
1734 (v): Declare as Common and document here.
1735 * flags.h (default_visibility, flag_generate_lto,
1736 warn_larger_than, larger_than_size, warn_frame_larger_than,
1737 frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
1738 flag_shlib, flag_excess_precision_cmdline): Remove.
1739 (set_Wstrict_aliasing): Update prototype.
1740 * gcc.c (verbose_flag): Remove.
1741 (driver_handle_option): Add diagnostic_context parameter. Don't
1742 handle OPT_v explicitly here. Set verbose_flag to 1 rather than
1744 * opts-common.c (handle_option): Pass dc to handler.
1745 * opts.c (warn_larger_than, larger_than_size,
1746 warn_frame_larger_than, frame_larger_than_size,
1747 default_visibility): Remove.
1748 (common_handle_option): Add diagnostic_context parameter.
1749 (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
1750 gcc_options parameters.
1751 (lang_handle_option, target_handle_option, read_cmdline_options,
1752 decode_options): Add diagnostic_context parameters.
1753 (finish_options): Access option state through opts pointer where
1755 (common_handle_option): Access option state through opts pointer
1756 where possible. Do not set local static variable verbose. Do not
1757 explicitly handle OPT_v, OPT_Wstrict_aliasing_,
1758 OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
1759 OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
1760 OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
1761 OPT_fwhopr_. Do not explicitly set .opt file variables for
1762 OPT_aux_info or OPT_pedantic_errors. Use dc for diagnostic context.
1763 (set_Wstrict_aliasing): Add gcc_options parameter.
1764 * opts.h (struct cl_option_handler_func): Add diagnostic_context
1765 parameter to handler.
1766 (decode_options): Add diagnostic_context parameter.
1767 * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
1768 asm_file_name, flag_generate_lto, flag_gen_aux_info,
1769 aux_info_file_name, flag_shlib, flag_tls_default,
1770 flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
1771 (toplev_main): Pass global_dc to decode_options.
1772 * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
1773 aux_info_file_name, asm_file_name): Remove.
1774 * tree.h (flag_tls_default): Remove.
1776 2010-11-10 Eric Botcazou <ebotcazou@adacore.com>
1778 * config/sparc/sparc.c (sparc_delegitimize_address): New function.
1779 (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
1781 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
1783 * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
1784 (x86_64-*-*): Likewise.
1785 * config/i386/cpuid.h: Define TBM bit.
1786 * config/i386/driver-i386.c (host_detect_local_cpu): Define
1788 * config/i386/i386-c.c (ix86_target_macros_internal): Check
1790 * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
1791 (OPTION_MASK_ISA_TBM_UNSET): New.
1792 (ix86_handle_option): Handle -mtbm.
1793 (isa_opts): Add -mtbm.
1794 (enum pta_flags): Add PTA_TBM.
1795 (ix86_option_override_internal): Add TBM support.
1796 (ix86_valid_target_attribute_inner_p): Handle -mtbm.
1797 (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
1798 (IX86_BUILTIN_BEXTRI64): Likewise.
1799 (bdesc_args): Add TBM intrinsics.
1800 (ix86_expand_builtin): Add TBM specific case.
1801 * config/i386/i386.h (TARGET_TBM): New for TBM.
1802 * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
1803 (tbm_bextri_<mode>): Likewise.
1804 (*tbm_blcfill_<mode>): Likewise.
1805 (*tbm_blci_<mode>): Likewise.
1806 (*tbm_blcic_<mode>): Likewise.
1807 (*tbm_blcmsk_<mode>): Likewise.
1808 (*tbm_blcs_<mode>): Likewise.
1809 (*tbm_blsfill_<mode>): Likewise.
1810 (*tbm_blsic_<mode>): Likewise.
1811 (*tbm_t1mskc_<mode>): Likewise.
1812 (*tbm_tzmsk_<mode>): Likewise.
1813 * config/i386/i386.opt: Add -mtbm.
1814 * config/i386/tbmintrin.h (__bextri_u32): New.
1815 (__blcfill_u32): Likewise.
1816 (__blci_u32): Likewise.
1817 (__blcic_u32): Likewise.
1818 (__blcmsk_u32): Likewise.
1819 (__blcs_u32): Likewise.
1820 (__blsfill_u32): Likewise.
1821 (__blsic_u32): Likewise.
1822 (__t1mskc_u32): Likewise.
1823 (__tzmsk_u32): Likewise.
1824 (__bextri_u64): Likewise.
1825 (__blcfill_u64): Likewise.
1826 (__blci_u64): Likewise.
1827 (__blcic_u64): Likewise.
1828 (__blcmsk_u64): Likewise.
1829 (__blcs_u64): Likewise.
1830 (__blsfill_u64): Likewise.
1831 (__blsic_u64): Likewise.
1832 (__t1mskc_u64): Likewise.
1833 (__tzmsk_u64): Likewise.
1834 * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
1835 * doc/invoke.texi: Document -mtbm.
1836 * doc/extend.texi: Document TBM built-in functions.
1838 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
1840 * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
1841 (x86_64-*-*): Likewise.
1842 * config/i386/cpuid.h: Define BMI bit.
1843 * config/i386/driver-i386.c (host_detect_local_cpu): Define
1845 * config/i386/i386-c.c (ix86_target_macros_internal): Check
1847 * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
1848 (OPTION_MASK_ISA_BMI_UNSET): New.
1849 (ix86_handle_option): Handle -mbmi.
1850 (isa_opts): Add -mbmi.
1851 (enum pta_flags): Add PTA_BMI.
1852 (ix86_option_override_internal): Add BMI support.
1853 (ix86_valid_target_attribute_inner_p): Handle -mbmi.
1854 (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
1855 (IX86_BUILTIN_BEXTR64): Likewise.
1856 (IX86_BUILTIN_CTZS): Likewise.
1857 (bdesc_args): Add BMI intrinsics.
1858 (ix86_expand_args_builtin): Add BMI specific cases.
1859 * config/i386/i386.h (TARGET_BMI): New for BMI.
1860 (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
1861 (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
1862 * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
1863 (UNSPEC_TZCNT): Likewise.
1864 (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
1865 (bmi_andn_<mode>): New for BMI.
1866 (bmi_bextr_<mode>): Likewise.
1867 (bmi_blsi_<mode>): Likewise.
1868 (bmi_blsmsk_<mode>): Likewise.
1869 (bmi_blsr_<mode>): Likewise.
1870 * config/i386/i386.opt: Add -mbmi.
1871 * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
1872 * config/i386/bmiintrin.h (__lzcnt_u16): New.
1873 (__tzcnt_u16): Likewise.
1874 (__andn_u32): Likewise.
1875 (__bextr_u32): Likewise.
1876 (__blsi_u32): Likewise.
1877 (__blsmsk_u32): Likewise.
1878 (__blsr_u32): Likewise.
1879 (__lzcnt_u32): Likewise.
1880 (__tzcnt_u32): Likewise.
1881 (__andn_u64): Likewise.
1882 (__bextr_u64): Likewise.
1883 (__blsi_u64): Likewise.
1884 (__blsmsk_u64): Likewise.
1885 (__blsr_u64): Likewise.
1886 (__lzcnt_u64): Likewise.
1887 (__tzcnt_u64): Likewise.
1888 * doc/invoke.texi: Document -mbmi and -mno-bmi.
1889 * doc/extend.texi: Document BMI built-in functions.
1891 2010-11-10 Jan Hubicka <jh@suse.cz>
1893 PR tree-optimize/46228
1894 * doc/invoke.texi (comdat-sharing-probability): Document.
1895 * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
1896 * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
1898 2010-11-10 Jan Hubicka <jh@suse.cz>
1900 PR tree-optimize/46228
1901 * cgraph.c (cgraph_propagate_frequency): Fix typo.
1903 2010-11-10 H.J. Lu <hongjiu.lu@intel.com>
1905 PR tree-optimization/46414
1906 * tree-inline.c (estimate_move_cost): Check preferred vector
1907 mode for vector type.
1909 2010-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1911 * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
1913 2010-11-10 Sebastian Pop <sebastian.pop@amd.com>
1915 PR tree-optimization/45971
1916 * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
1917 for phi nodes analyzable by scev.
1919 2010-11-10 Richard Guenther <rguenther@suse.de>
1921 PR tree-optimization/44964
1922 * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
1924 2010-11-10 Martin Jambor <mjambor@suse.cz>
1926 PR tree-optimization/46351
1927 PR tree-optimization/46377
1928 * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
1929 aggregate bit-fields.
1931 2010-11-10 Joseph Myers <joseph@codesourcery.com>
1933 * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1934 * doc/tm.texi: Regenerate.
1935 * opts-common.c (tm.h): Don't include.
1936 (target_option_translations): Remove.
1937 (decode_cmdline_options_to_array): Don't handle translating options.
1938 * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
1939 * config/darwin-driver.c: Don't condition includes on
1940 CROSS_DIRECTORY_STRUCTURE.
1941 (darwin_default_min_version): Make static.
1942 (darwin_driver_init): New. Call darwin_default_min_version if not
1943 CROSS_DIRECTORY_STRUCTURE.
1944 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1945 (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
1946 (ASM_SPEC): Add %{static}.
1947 (darwin_default_min_version): Don't declare.
1948 (darwin_driver_init): Declare.
1949 (GCC_DRIVER_HOST_INITIALIZATION): Define to call
1950 darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
1951 * config/darwin.opt (all_load, allowable_client,
1952 arch_errors_fatal, bind_at_load, bundle, bundle_loader,
1953 dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
1954 exported_symbols_list, filelist, findirect-virtual-calls,
1955 flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
1956 framework, fterminated-vtables, gfull, gused, image_base, init,
1957 install_name, multi_module, multiply_defined,
1958 multiply_defined_unused, no_dead_strip_inits_and_terms,
1959 seg_addr_table, seg_addr_table_filename, segaddr,
1960 segs_read_only_addr, segs_read_write_addr, single_module,
1961 umbrella, unexported_symbols_list, weak_reference_mismatches,
1962 Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
1963 Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
1964 Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
1965 Zno_dead_strip_inits_and_terms, Zsingle_module): New.
1966 * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
1967 (ASM_SPEC): Add %{static}.
1968 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
1969 * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1970 (DRIVER_SELF_SPECS): Handle options formerly in
1971 TARGET_OPTION_TRANSLATE_TABLE.
1972 * config/mep/mep.opt (mfar): New.
1973 * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1974 (DRIVER_SELF_SPECS): Define. Handle options formerly in
1975 TARGET_OPTION_TRANSLATE_TABLE.
1976 * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
1977 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
1978 * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
1979 ffix-and-continue, findirect-data): New.
1980 * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1981 * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
1982 (mnofpu): Define mask and use Report here.
1984 2010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1986 * config/s390/s390.c (s390_emit_prologue): Report the stack
1987 size if -fstack-usage is used.
1989 2010-11-10 Richard Guenther <rguenther@suse.de>
1991 PR tree-optimization/46398
1992 * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
1994 2010-11-10 Joern Rennecke <amylaar@spamcop.net>
1997 * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
1998 (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
1999 GP_REG_OR_PSEUDO_STRICT_P.
2000 * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
2001 unexpected alternative.
2002 (*movsf_internal): Likewise.
2003 (indirect_jump): Replace call to non-existant function with call to
2005 (tablejump): Likewise.
2006 * config/iq2000/iq2000.c: Include df.h .
2007 (iq2000_function_arg_advance): Use CONST_CAST2.
2008 (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
2009 (iq2000_can_eliminate): Call leaf_function_p instead of testing for
2010 a non-zero function address.
2011 (iq2000_initial_elimination_offset): Add gcc_unreachable for
2012 unexpected value of FROM.
2013 (symbolic_expression_p): Delete.
2014 (iq2000_function_value): Constify func.
2015 (expand_one_builtin): Use expand_normal.
2016 (iq2000_print_operand): Don't print VALUE if calculating it failed.
2018 PR rtl-optimization/44764
2019 * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
2022 * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
2023 * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
2024 with ATTRIBUTE_UNUSED.
2025 (valid_psw_flag): Constify parameter which.
2026 (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
2029 * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
2030 (mmix_dbx_register_number): Likewise.
2031 * config/mmix/mmix.c: Include df.h .
2032 (mmix_local_alignment): Change argument basic_align and return type
2034 (mmix_dbx_register_number): Change argument and return type to
2036 (mmix_expand_prologue): Use add_reg_note.
2039 * config/spu/spu.c (spu_expand_insv): Remove unused variables.
2040 (spu_split_store): Use aform.
2041 (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
2043 2010-11-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2046 * doc/gty.texi (GTY Options): Clarify that variable_size produces
2047 allocators taking size in bytes, compare with length option. Add
2048 size calculation example.
2049 (Invoking the garbage collector): Ensure that sentences are
2050 followed by two spaces. Describe that pointer fields must be
2051 initialized at ggc_collect call.
2052 (Troubleshooting): New section.
2054 2010-11-09 Jan Hubicka <jh@suse.cz>
2056 PR tree-optimization/40436
2057 * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
2058 * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
2059 normal instructions; be sure bultin is not implemented in this file;
2060 compute non-zero return cost.
2061 (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
2062 * tree-inline.h (eni_weights_d): Add return cost.
2064 2010-11-09 Joseph Myers <joseph@codesourcery.com>
2066 * c-parser.c (c_parser_struct_declaration): Handle declaration
2067 specifiers followed by CPP_CLOSE_BRACE.
2069 2010-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
2071 * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
2072 split occurs before reload, and we allocate memory at the time of
2073 the split, not during expansion. Add attributes.
2074 (floatsi<mode>2_lfiwax_mem): Ditto.
2075 (floatunssi<mode>2_lfiwzx): Ditto.
2076 (floatunssi<mode>2_lfiwzx_mem): Ditto.
2077 (floatsidf2): Ditto.
2078 (floatunssisf2): Ditto.
2079 (floatunssidf2): Ditto.
2080 (fix_trunc<mode>si2): Ditto.
2081 (fix_trunc<mode>si2_stfiwx): Ditto.
2082 (fix_trunc<mode>si2_internal): Ditto.
2083 (fix_trunc<mode>si2): Ditto.
2084 (fix_trunc<mode>di2): Ditto.
2085 (fixuns_trunc<mode>si2_stfiwx): Ditto.
2086 (floatsisf2): Ditto.
2087 (floatdidf2_mem): Ditto.
2088 (floatunsdidf2_mem): Ditto.
2089 (floatunsdidf2): Ditto.
2090 (floatdisf2_internal1): Ditto.
2091 (floatdisf2_mem): Ditto.
2092 (floatunsdisf2_mem): Ditto.
2093 (floatsi<mode>2_lfiwax_mem2): Delete.
2094 (floatunssi<mode>2_lfiwzx_mem2): Ditto.
2095 (fix_trunc<mode>si2_mem): Ditto.
2096 (fixuns_trunc<mode>si2_mem): Ditto.
2097 (round32<mode>2_fprs): New combiner insn to combine (double)(int)
2098 type operations to reduce copying the values to multiple memory slots.
2099 (roundu32<mode>2_fprs): Ditto.
2101 * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
2102 PRE_INC, PRE_DEC, PRE_MODIFY.
2103 (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
2105 * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
2108 2010-11-09 Jakub Jelinek <jakub@redhat.com>
2111 * cfgexpand.c (partition_stack_vars): Call
2112 update_alias_info_with_stack_vars unconditionally.
2113 (update_alias_info_with_stack_vars): Allow unused
2114 unreferenced vars when not optimizing.
2116 2010-11-09 Sebastian Pop <sebastian.pop@amd.com>
2118 PR tree-optimization/46036
2119 * tree-if-conv.c (predicate_bbs): Call unshare_expr before
2120 add_to_dst_predicate_list.
2122 2010-11-09 Jakub Jelinek <jakub@redhat.com>
2125 * df-problems.c (struct dead_debug_use, struct dead_debug): Move
2127 (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
2128 argument, call dead_debug_reset when adding REG_UNUSED note.
2129 (dead_debug_reset): New function.
2130 (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
2131 df_create_unused_note callers.
2133 2010-11-09 Anatoly Sokolov <aesok@post.ru>
2135 * config/fr30/fr30.c: Include "df.h".
2137 2010-11-09 Richard Guenther <rguenther@suse.de>
2139 PR tree-optimization/46355
2140 * tree-loop-distribution.c (tree_loop_distribution): Do not
2141 distribute loops without a single exit.
2143 2010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2145 PR rtl-optimization/46237
2146 * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
2147 saved hard regs if they might get partially clobbered.
2149 2010-11-09 Paul Koning <ni1d@arrl.net>
2151 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
2153 2010-11-09 Richard Guenther <rguenther@suse.de>
2155 PR tree-optimization/46177
2156 * tree-loop-distribution.c (prop_phis): Remove.
2157 (generate_builtin): Re-use the old loop exit edge to avoid
2158 needing to update PHI nodes.
2160 2010-11-09 Joern Rennecke <amylaar@spamcop.net>
2162 * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
2163 type of args_size to unsigned HOST_WIDE_INT.
2166 * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
2167 * config/t-pnt16-warn: New file.
2168 * config/picochip/picochip.c (picochip_emit_stack_allocate):
2170 (picochip_emit_save_register): Likewise.
2171 (picochip_emit_restore_register): Remove variable insn.
2172 (picochip_legitimize_address): Don't use C++ style comments.
2173 (picochip_legitimize_reload_address): Likewise.
2174 (reorder_var_tracking_notes): Remove variable vliw_start.
2175 (picochip_reorg): Cast first arguemnt to emit_note_after to
2177 (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
2178 (picochip_expand_builtin_3op): Likewise.
2179 (picochip_expand_builtin_2opvoid): Likewise.
2180 (picochip_expand_array_get, picochip_expand_array_put): Likewise.
2181 (picochip_expand_array_testport): Likewise.
2182 (picochip_init_builtins): Remove unused variables.
2183 * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
2184 to unsigned long, and output it as such.
2185 (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
2186 * config/picochip/picochip.md (movhicc): Remove nonsense statement.
2187 (schedType): Cast result of picochip_schedule_type to
2188 enum attr_schedType.
2191 * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
2192 conditional to type of S.
2193 (mn10300_function_arg): Remove unused variable align.
2194 (mn10300_arg_partial_bytes): Likewise.
2195 * config/mn10300/mn10300.md (attribute cpu): Cast value to
2198 2010-11-09 H.J. Lu <hongjiu.lu@intel.com>
2201 * gengtype-parse.c (type): Call get_input_file_name to get file name.
2203 2010-11-09 Eric Botcazou <ebotcazou@adacore.com>
2205 * tree.h (contains_placeholder_p): Fix comment.
2206 (type_contains_placeholder_p): Adjust comment.
2207 * tree.c (contains_placeholder_p): Fix comment.
2208 (type_contains_placeholder_1): Do not recurse on pointed-to types and
2210 (type_contains_placeholder_p): Add comment.
2212 2010-11-09 Paul Koning <ni1d@arrl.net>
2214 * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
2215 output of byte values.
2217 2010-11-09 Jakub Jelinek <jakub@redhat.com>
2220 * tree-ssa-propagate.c (update_call_from_tree): Fix for use
2223 2010-11-09 Richard Guenther <rguenther@suse.de>
2226 * varasm.c (compute_visible_aliases): New function.
2227 (remove_unreachable_alias_pairs): Aliases make a target available
2228 even though we reclaimed the cgraph node.
2229 (finish_aliases_1): Likewise.
2230 * Makefile.in (varasm.o): Add pointer-set.h dependency.
2232 2010-11-09 Nick Clifton <nickc@redhat.com>
2234 * config/mn10300/mn10300-modes.def: New file.
2236 2010-11-09 Basile Starynkevitch <basile@starynkevitch.net>
2237 Jeremie Salvucci <jeremie.salvucci@free.fr>
2239 * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
2240 (plugin_files, get_file_basename, get_file_realbasename)
2241 (get_file_langdir, error_at_line, gt_files, this_file)
2242 (system_h_file, read_input_list, create_field_all)
2243 (get_file_srcdir_relative_path, get_file_basename)
2244 (get_file_langdir, get_file_gtfilename)
2245 (get_output_file_with_visibility, get_output_file_name)
2246 (struct flist, put_mangled_filename, walk_type)
2247 (put_mangled_filename, finish_root_table, write_roots): Use
2249 (lang_dir_names, num_lang_dirs): Remove static.
2250 (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
2251 (main): Use input_file-s.
2253 * gengtype.h: (struct input_file_st, input_file): New type.
2254 (struct fileloc): Use it.
2255 (gt_files, num_gt_files, this_file, system_h_file)
2256 (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
2257 (get_input_file_name): New function.
2258 (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
2260 (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
2261 (get_output_file_name): Ditto.
2263 * gengtype-lex.l (yybegin): Use input_file.
2265 * gengtype-parse.c (parse_error): Use input_file.
2267 2010-11-08 Xinliang David Li <davidxl@google.com>
2269 PR tree-optimization/46316
2270 * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
2271 * double-int.h (double_int_mul_with_sign): New function.
2272 * double-int.c (double_int_mul_with_sign): New function.
2274 2010-11-08 Paul Koning <ni1d@arrl.net>
2276 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
2278 2010-11-08 Paul Koning <ni1d@arrl.net>
2280 * config/pdp11/pdp11.md (negsi2): Fix wrong code.
2282 2010-11-08 Paul Koning <ni1d@arrl.net>
2284 * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
2287 2010-11-08 Michael Meissner <meissner@linux.vnet.ibm.com>
2290 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2291 turn on ISA 2.04 rounding instructions for power5.
2293 * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
2297 * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
2299 (movdi_low_st): Ditto.
2301 2010-11-08 Joern Rennecke <amylaar@spamcop.net>
2302 Richard Henderson <rth@redhat.com>
2305 * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
2306 (attribute acc_group): Cast value to enum attr_acc_group.
2307 (*movdi_nodouble+6): Use gen_int_mode.
2308 * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
2309 if RTX_CODE is defined or not.
2310 * config/frv/frv.c (enum frv_io_type): New enum, broken out of
2312 (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
2313 (frv_frame_access, frv_expand_prologue): Remove unused variables.
2314 (frv_expand_block_clear): Likewise.
2315 (frv_trampoline_init): Use LCT_NORMAL.
2316 (struct frv_packet_group): New struct, broken out of type of
2318 (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
2319 use cast in loop counter increment.
2320 (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
2321 assigning to io->type.
2322 (bdesc_set): Use rtx_code UNKNOWN in initializer.
2323 (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
2324 (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
2325 (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
2326 (frv_read_argument): Use expand_normal.
2329 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
2330 lm32_legitimate_constant_p.
2331 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
2332 * config/lm32/lm32.c (gen_int_relational): Make new block for
2333 LE / LT / LEU / LTU case. Declare variables at start of block.
2334 (lm32_block_move_inline): Use XALLOCAVEC.
2336 2010-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2338 * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
2340 2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
2342 * gengtype (get_output_file_for_structure): Ensure type is union
2344 (write_splay_tree_allocator_def): Use
2345 get_output_file_with_visibility.
2347 2010-11-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2349 * config/s390/s390.c (s390_handle_arch_option): Set type and flags
2350 to defined values in case of an error.
2351 (s390_option_override): Skip further processing if the -march
2352 parameter wasn't recognized.
2354 2010-11-08 Joern Rennecke <amylaar@spamcop.net>
2356 * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
2357 assert that REG is a hard register number before using it as an index.
2360 * config/i386/i386.c (ix86_expand_split_stack_prologue):
2361 Avoid warnings when HOST_WIDE_INT is 32 bit.
2363 2010-11-08 Eric Botcazou <ebotcazou@adacore.com>
2366 * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
2367 (sparc_promote_prototypes): Likewise.
2368 (sparc_promote_function_mode): Promote in 32-bit mode as well.
2369 (sparc_return_in_memory): Remove superfluous parentheses.
2370 (sparc_struct_value_rtx): Fix long lines.
2371 (sparc_function_value_1): Promote in 32-bit mode as well.
2373 2010-11-08 Andrey Belevantsev <abel@ispras.ru>
2375 PR rtl-optimization/45352
2376 * sel-sched.c (find_best_expr): Do not set pneed_stall when
2377 the variable_issue hook is not implemented.
2378 (fill_insns): Remove dead variable stall_iterations.
2379 (init_seqno_1): Force EBB start for resetting sched cycles on any
2380 successor blocks of the rescheduled region.
2381 (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
2382 (reset_sched_cycles_in_current_ebb): Add debug printing.
2383 New variable issued_insns. Advance state when we have issued
2386 2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
2388 * gengtype (main): Get here's position using POS_HERE macro for
2391 2010-11-07 Ian Lance Taylor <iant@google.com>
2394 * config/i386/i386.c (split_stack_fn_large): New static variable.
2395 (ix86_expand_split_stack_prologue): Handle large model.
2397 2010-11-07 Andreas Schwab <schwab@linux-m68k.org>
2399 * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
2400 all possible addressing modes.
2402 2010-11-07 Uros Bizjak <ubizjak@gmail.com>
2404 PR tree-optimization/46346
2405 * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
2407 2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
2409 * config/mips/mips.c: Revert previous patch.
2410 * config/mips/mips.md: Likewise.
2412 2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
2414 * config/mips/mips.c (mips_rtx_costs): Handle FMA.
2415 * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
2416 (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
2417 (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
2418 (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
2420 (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
2421 (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
2422 (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
2423 (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
2425 2010-11-06 Simon Martin <simartin@users.sourceforge.net>
2428 * c-decl.c (lookup_label): Labels can only be referenced in a
2430 (store_parm_decls_oldstyle): Skip erroneous parameters.
2432 2010-11-06 Anatoly Sokolov <aesok@post.ru>
2434 * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
2435 LIBCALL_VALUE): Remove macros.
2436 * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2437 TARGET_FUNCTION_VALUE_REGNO_P): Define.
2438 (fr30_function_value_regno_p, fr30_function_value,
2439 fr30_libcall_value): New functions.
2441 2010-11-06 Joern Rennecke <amylaar@spamcop.net>
2444 * target.def (generate_internal_label): New asm_out hook.
2445 * output.h (default_generate_internal_label): Declare.
2446 * varasm.c (default_generate_internal_label): Define.
2448 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
2451 * doc/extend.tex (format): Document NSString extension.
2452 (format_arg): Likewise.
2453 (Darwin Format Checks): New section.
2454 * doc/tm.texi: Document string object hooks (generated).
2455 * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
2456 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
2457 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
2458 * target.def (objc_construct_string_object): Rename, amend
2460 (string_object_ref_type_p): New hook.
2461 (check_string_object_format_arg): New hook.
2462 * c-parser.c (c_parser_attributes): Allow objective-c class names as
2463 attribute identifiers.
2464 * config/darwin-c.c (darwin_cfstring_ref_p): New.
2465 (darwin_check_cfstring_format_arg): New.
2466 (darwin_additional_format_types): New.
2467 * config/darwin-protos.h (darwin_cfstring_ref_p) New.
2468 (darwin_check_cfstring_format_arg): New.
2469 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
2470 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
2471 (TARGET_N_FORMAT_TYPES): New.
2472 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
2474 2010-11-06 Eric Botcazou <ebotcazou@adacore.com>
2475 Pascal Obry <obry@adacore.com>
2477 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine. Use 33
2478 in 64-bit mode and 17 otherwise.
2480 2010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2483 * var-tracking.c (emit_note_insn_var_location): Make sure that
2484 call related var location notes come before the normal ones.
2486 2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
2489 * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
2492 2010-11-05 Ian Lance Taylor <iant@google.com>
2494 * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
2496 2010-11-05 Jakub Jelinek <jakub@redhat.com>
2499 * c-decl.c (warn_cxx_compat_finish_struct): Don't call
2500 pointer_set_contains if DECL_NAME is NULL.
2502 2010-11-05 Ian Lance Taylor <iant@google.com>
2505 * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
2506 request enough additional space for alignment, and force alignment.
2508 2010-11-05 Kai Tietz <kai.tietz@onevision.com>
2510 * config/i386/i386.c (legitimate_pic_address_disp_p):
2511 Handle UNSPEC_PCREL.
2512 (ix86_legitimate_address_p): Likewise.
2513 (legitimize_pic_address): Likewise.
2514 (output_pic_addr_const): Likewise.
2515 (ix86_delegitimize_address): Likewise.
2516 (ix86_find_base_term): Likewise.
2517 (memory_address_length): Likewise.
2518 (x86_output_mi_thunk): Handle special case x64
2519 for non local binding.
2520 * config/i386/i386.md (UNSPEC_PCREL): New.
2521 * config/i386/winnt.c (i386_pe_binds_local_p):
2522 Allow weak symbol for x64 windows with non-local binding.
2524 2010-11-05 Jakub Jelinek <jakub@redhat.com>
2527 * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
2528 instead of EXPAND_NORMAL for base expansion.
2530 2010-11-05 Uros Bizjak <ubizjak@gmail.com>
2532 * config.gcc: Support --with-fpmath=avx for x86.
2533 * config/i386/avxmath.h: New.
2534 * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
2536 2010-11-05 Ian Lance Taylor <iant@google.com>
2538 * tree.h (struct tree_type): Don't use descbits in GTY annotation.
2539 * gengtype.c (walk_type): Don't recognize descbits option.
2541 2010-11-05 Joseph Myers <joseph@codesourcery.com>
2543 * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
2544 WORD_SWITCH_TAKES_ARG): Remove.
2545 * doc/options.texi (Args): Document.
2546 * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
2547 * doc/tm.texi: Regenerate.
2548 * opt-functions.awk (switch_flags): Handle Args.
2549 * opts-common.c: Update comment on tm.h include.
2550 (decode_cmdline_option): Handle options with multiple arguments.
2551 Don't check WORD_SWITCH_TAKES_ARG for unknown options.
2552 * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
2553 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
2554 CL_COMMON): Update values.
2555 * system.h (WORD_SWITCH_TAKES_ARG): Poison.
2556 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
2557 * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
2558 sectobjectsymbols, sectorder, segcreate, segprot): New.
2560 2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
2561 Uros Bizjak <ubizjak@gmail.com>
2563 * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
2564 256bit AVX register is used.
2565 (ix86_expand_vector_move_misalign): Likewise.
2566 (ix86_expand_vector_move): Replace use_avx256_p with
2567 VALID_AVX256_REG_MODE.
2569 2010-11-05 Joern Rennecke <amylaar@spamcop.net>
2572 * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
2573 change. Set $@-warn.o to -Wno-error.
2576 * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
2577 comparing it to a signed value.
2580 * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
2582 * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
2586 * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
2587 (m32c_function_arg). Add comma between arguments two and three.
2588 (m32c_promote_prototypes): Remove declaration.
2589 (current_function_special_page_vector): Likewise.
2590 (m32c_regno_reg_class): Change return type to enum reg_class.
2591 (m32c_pushm_popm): Use add_reg_note.
2592 (m32c_push_rounding): Change return type to unsigned int.
2593 (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
2595 (m32c_insert_attributes): Constify variable name.
2596 (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
2597 (m32c_prepare_shift): Remove variable lref.
2598 (m32c_expand_movcc): Remove variable cmp.
2599 (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
2600 (m32c_compare_redundant): Remove variable op2.
2601 * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
2602 (m32c_pragma_memregs): Assign the number to target_memregs.
2603 (m32c_pragma_address): Remove variable var_str.
2604 * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
2606 (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
2607 * config/m32c/bitops.md (andsi3): Add default case to switch.
2608 (iorsi3, xorsi3): Likewise.
2609 * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
2610 * config/m32c/jump.md (call, call_value): Likewise.
2611 * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
2612 (m32c_regno_reg_class): Likewise.
2613 (current_function_special_page_vector): Declare.
2615 2010-11-05 Jakub Jelinek <jakub@redhat.com>
2617 * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
2619 PR tree-optimization/46099
2620 * tree-parloops.c (take_address_of): Add GSI argument. Return NULL
2621 if it is NULL and uid wasn't found in the hash table. Just fold the
2622 result if it is NULL otherwise. Insert other potentially needed
2623 stmts right before current stmt instead of on the entry edge.
2624 (struct elv_data): Add gsi and reset fields.
2625 (eliminate_local_variables_1): Adjust caller. If take_address_of
2626 failed for debug stmt, set dta->reset and return.
2627 (eliminate_local_variables_stmt): Change STMT argument for GSI,
2628 pass GSI through to the callback, handle resetting of debug stmts.
2629 (eliminate_local_variables): Adjust caller. Process debug stmts
2633 * gimplify.c (gimplify_asm_expr): If a "m" input is a
2634 {pre,post}{in,de}crement, fail.
2637 * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
2638 * tree-pretty-print.c (dump_generic_node): Likewise.
2639 (op_code_prio): Likewise.
2640 * cfgexpand.c (expand_debug_expr): Likewise.
2642 2010-11-04 Paul Koning <ni1d@arrl.net>
2644 * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
2647 2010-11-04 Chao-ying Fu <fu@mips.com>
2649 * configure.ac: Test assembler support for DSP Rev1 mult.
2650 * configure: Regenerate.
2651 * config.in: Regenerate.
2652 * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
2653 * config/mips/mips.c (CODE_FOR_mips_mult): New define.
2654 (CODE_FOR_mips_multu): New define.
2655 (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
2657 (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
2658 Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
2659 * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
2660 New define_expand patterns.
2661 * config/mips/constraints.md (ka): Update the constraint to test
2662 ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
2663 * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
2664 mips_multu): Delete.
2665 * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
2666 Change target constraint to "ka".
2667 Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
2668 (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
2669 Emit the accumulator destination when ISA_HAS_DSP_MULT.
2670 (<u>msubsidi4): Add comments. Test ISA_HAS_DSP.
2671 Emit the accumulator destination when ISA_HAS_DSP_MULT.
2672 (<u>maddsidi4): Likewise.
2673 * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
2674 msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
2676 2010-11-04 Paul Koning <ni1d@arrl.net>
2678 * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
2680 2010-11-04 Paul Koning <ni1d@arrl.net>
2682 * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
2684 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
2686 Fixed using the Objective-C 2.0 dot-syntax with class names.
2687 * c-parser.c (c_parser_next_token_starts_declspecs): In
2688 Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
2689 (c_parser_next_token_starts_declaration): Same.
2690 (c_parser_postfix_expression): Parse the Objective-C 2.0
2691 dot-syntax with a class name.
2693 2010-11-04 Pat Haugen <pthaugen@us.ibm.com>
2695 * final.c (compute_alignments): Compute/free loop info all the time.
2696 * config/rs6000/rs6000.h (LOOP_ALIGN): Define.
2697 * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
2698 * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
2699 * config/rs6000/rs6000.c (cfgloop.h): Include.
2700 (can_override_loop_align): New.
2701 (rs6000_option_override_internal): Set it.
2702 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
2703 (rs6000_loop_align): New function.
2704 (rs6000_loop_align_max_skip): Likewise.
2706 2010-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2709 * collect2.c (main): Print --help output to stdout. Do not
2710 exit right away, so ld --help is appended. Add empty lines
2711 to separate output suitably.
2713 2010-11-04 Jakub Jelinek <jakub@redhat.com>
2715 PR tree-optimization/46233
2716 * ipa-pure-const.c (local_pure_const): Do noreturn discovery
2717 after calling analyze_function, not before.
2720 * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
2721 instead of build_va_arg_indirect_ref.
2722 * config/spu/spu.c (spu_va_start): Likewise.
2723 * config/s390/s390.c (s390_va_start): Likewise.
2725 2010-11-03 Uros Bizjak <ubizjak@gmail.com>
2728 * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
2729 if the innermode is not vector mode, determine the mode of a subreg
2730 by using mode_for_size of inner_size.
2732 2010-11-04 Richard Guenther <rguenther@suse.de>
2734 PR rtl-optimization/46183
2735 * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
2736 (execute_rtl_pre): Likewise.
2737 (execute_rtl_hoist): Likewise.
2739 2010-11-04 Richard Guenther <rguenther@suse.de>
2741 PR tree-optimization/46068
2742 * ipa-split.c (consider_split): Remove gcc_unreachable.
2744 2010-11-04 Richard Guenther <rguenther@suse.de>
2746 * tree-nested.c (build_addr): Use build_fold_addr_expr.
2748 2010-11-04 Richard Guenther <rguenther@suse.de>
2750 PR tree-optimization/45991
2751 * gimplify.c (force_gimple_operand_1): Use the provded test
2752 function in the initial test.
2754 2010-11-04 Jeff Law <law@redhat.com>
2756 * ira.c (validate_equiv_mem): Remove code to avoid invalidation
2757 of readonly memory equivalances for const/pure calls.
2759 2010-11-04 Richard Guenther <rguenther@suse.de>
2761 PR tree-optimization/45733
2762 * tree-vect-stmts.c (reverse_vec_elements): Honor the
2763 permute builtins function return type.
2765 2010-11-04 Joern Rennecke <amylaar@spamcop.net>
2768 * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
2769 as an index, check it is not INVALID_REGNUM.
2772 * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
2774 * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
2777 * function.c (thread_prologue_and_epilogue_insns): Add
2778 ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
2781 * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
2784 * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
2785 (pdp11_preferred_reload_class): Rename class to rclass.
2786 (pdp11_preferred_output_reload_class): Likewise.
2787 * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
2789 (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
2792 * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
2793 iteration variables to enum machine_mode.
2796 * config/h8300/h8300.c: Include df.h.
2797 (push, pop): Use add_reg_note.
2798 (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
2799 (compute_a_shift_cc): Likewise.
2800 (expand_a_shift): Argument code has type enum rtx_code.
2801 (struct shift_insn): Member cc_valid has type enum attr_cc.
2802 (struct shift_info) <cc_inline, cc_special>: Likewise.
2804 * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
2805 (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
2807 2010-11-04 Ira Rosen <irar@il.ibm.com>
2809 PR tree-optimization/46213
2810 * tree-vect-loop.c (vect_is_simple_reduction_1): Handle
2811 MINUS_EXPR only if the first operand is reduction operand.
2813 2010-11-04 Richard Guenther <rguenther@suse.de>
2814 Richard Henderson <rth@redhat.com>
2816 * tree.def (FMA_EXPR): New tree code.
2817 * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
2818 * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
2819 * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
2820 * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
2821 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
2822 * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
2823 (execute_optimize_widening_mul): Call it. Reorganize to allow
2824 dead stmt removal. Move TODO flags ...
2825 (pass_optimize_widening_mul): ... here.
2826 * flag-types.h (enum fp_contract_mode): New enum.
2827 * common.opt (flag_fp_contract_mode): New variable.
2828 (-ffp-contract): New option.
2829 * opts.c (common_handle_option): Handle it.
2830 * doc/invoke.texi (-ffp-contract): Document.
2831 * tree.h (fold_fma): Declare.
2832 * builtins.c (fold_fma): New function.
2833 (fold_builtin_fma): Likewise.
2834 (fold_builtin_3): Call it for fma.
2835 * fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
2836 * optabs.c (optab_for_tree_code): Handle FMA_EXPR.
2837 * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
2839 * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
2841 * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
2842 * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
2843 (fms_optab, fnma_optab, fnms_optab): New defines.
2844 * gimplify.c (gimplify_expr): Handle binary truth expressions
2845 explicitly. Handle FMA_EXPR.
2846 * tree-vect-stmts.c (vectorizable_operation): Handle ternary
2849 2010-11-04 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2850 Richard Guenther <rguenther@suse.de>
2852 * passes.c (init_optimization_passes): Move veclower after SSA.
2853 * tree-vect-generic.c (uniform_vector_p): New function.
2854 (expand_vector_operations_1): Handle conversion.
2855 (pass_lower_vector): Update SSA form.
2857 2010-11-04 Iain Sandoe <iains@gcc.gnu.org>
2859 * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
2860 plugin capabilities.
2861 * configure: Regenerate.
2863 2010-11-03 Xinliang David Li <davidxl@google.com>
2866 * tree-ssa-loop-ivopts.c (get_computation_cost_at):
2867 Adjust cbase if the use stmt is after iv update.
2869 2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
2871 * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
2873 2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
2875 * config/sh/sh.c (sh_expand_prologue): Remove unnecessary
2876 comment. Pass true to the last argument of output_stack_adjust.
2878 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
2881 * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
2882 if 256bit AVX register is used.
2884 2010-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
2886 * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
2887 xsmindp/xsmaxdp on VSX for single precision min/max.
2888 * config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
2889 (vsx_sminsf3): Ditto.
2891 2010-11-03 Eric Botcazou <ebotcazou@adacore.com>
2893 * combine.c (try_combine): Fix formatting issues, improve comments and
2896 2010-11-03 Eric Botcazou <ebotcazou@adacore.com>
2898 * tree-tailcall.c (find_tail_calls): Convert the operands to the type
2899 of the result before building binary expressions.
2901 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
2903 PR rtl-optimization/45865
2904 * Makefile.in (df-problems.o): Revert revision 164552.
2905 * basic-block.h (enum bb_flags): Likewise.
2906 * cfgcleanup.c (block_was_dirty): Likewise.
2907 (try_forward_edges): Likewise.
2908 (try_crossjump_bb): Likewise.
2909 (try_head_merge_bb): Likewise.
2910 (try_optimize_cfg): Likewise.
2911 (cleanup_cfg): Likewise.
2912 * df-core.c (df_set_bb_dirty): Likewise.
2913 * df-problems.c: Likewise.
2914 (df_simulate_find_uses): Likewise.
2915 (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
2916 (find_memory, find_memory_store): Likewise.
2917 (can_move_insns_across): Likewise.
2918 * df.h (can_move_insns_across): Likewise.
2919 * ifcvt.c (find_memory): Likewise.
2920 (dead_or_predicable): Likewise.
2922 2010-11-03 Richard Guenther <rguenther@suse.de>
2925 * predict.c (strip_predict_hints): Simply DCE builtin expect if
2926 the result is unused.
2928 2010-11-03 Jakub Jelinek <jakub@redhat.com>
2930 PR tree-optimization/46009
2931 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
2932 cond_if_else_store_replacement if bb1 and bb2 have the same
2934 (cond_store_replacement): Use gimple_assign_single_p, don't
2935 check if rhs is SSA_NAME or invariant. Call release_defs for
2937 (cond_if_else_store_replacement): New function.
2939 2010-11-03 Richard Guenther <rguenther@suse.de>
2941 * opts.c (finish_options): Properly check for all WHOPR
2942 flags before complaining about -flto-partition.
2944 2010-11-04 Alan Modra <amodra@gmail.com>
2946 * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
2947 (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
2949 * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
2950 * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
2951 on input, "r" on output.
2953 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
2955 Implemented -fobjc-std=objc1 flag.
2956 * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
2958 * doc/standards.texi (Standards): Updated the section on
2959 Objective-C; mention support for Objective-C 2.0 features and the
2960 new -fstd-objc=objc1 flag to disable them.
2962 2010-11-03 Richard Guenther <rguenther@suse.de>
2965 * dwarf2out.c (scope_die_for): Properly detect global scope.
2967 2010-11-03 Richard Guenther <rguenther@suse.de>
2969 PR tree-optimization/46190
2970 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
2971 Properly compute peel iterations.
2973 2010-11-03 Richard Guenther <rguenther@suse.de>
2975 PR tree-optimization/46286
2976 * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
2977 re-allocated vector data.
2979 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
2982 * config/i386/i386.c (ix86_expand_call): Conditionally decorate
2983 calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
2986 2010-11-03 Richard Guenther <rguenther@suse.de>
2988 PR tree-optimization/46217
2989 * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
2991 (execute_update_addresses_taken): Likewise.
2993 2010-11-03 Joern Rennecke <joern.rennecke@embecosm.com>
2996 * targhooks.c (targhook_words_big_endian): New function.
2997 (targhook_float_words_big_endian): Likewise.
2998 * targhooks.h (targhook_words_big_endian): Declare.
2999 (targhook_float_words_big_endian): Likewise.
3000 * target.def (words_big_endian, float_words_big_endian): New hooks.
3002 2010-11-03 Jakub Jelinek <jakub@redhat.com>
3004 PR tree-optimization/46165
3005 * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
3006 a normal call into noreturn call.
3008 2010-11-03 Richard Guenther <rguenther@suse.de>
3011 * builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
3014 2010-11-03 Jakub Jelinek <jakub@redhat.com>
3016 PR tree-optimization/46107
3017 * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
3018 if cfg_hook_duplicate_loop_to_header_edge failed.
3020 2010-11-03 Ian Lance Taylor <iant@google.com>
3023 * config.gcc: Don't set lto_binary_reader.
3024 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
3025 (Configuration): Mention --disable-lto. Remove --with-libelf
3028 2010-11-03 Jakub Jelinek <jakub@redhat.com>
3031 * reload1.c (delete_dead_insn): Use prev_active_insn instead of
3033 * gcse.c (insert_insn_end_basic_block): Likewise.
3035 PR rtl-optimization/46034
3036 PR rtl-optimization/46212
3037 PR rtl-optimization/46248
3038 * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
3039 and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
3040 before i0dest -> i0src substitution and pass 1 instead of 0 as last
3041 argument to subst on i2pat.
3043 2010-11-02 Ian Lance Taylor <iant@google.com>
3045 * configure.ac: Use AC_SYS_LARGEFILE.
3046 * configure: Rebuild.
3047 * config.in: Rebuild.
3049 2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
3051 * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
3053 * c-typeck.c (build_function_call_vec): Likewise.
3054 * cfgexpand.c (expand_debug_expr): Likewise.
3055 * cgraphunit.c (assemble_thunk): Likewise.
3056 * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
3057 * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
3058 (fold_binary_loc, fold_ternary_loc): Likewise.
3059 * gimple-fold.c (get_symbol_constant_value): Likewise.
3060 * gimple-low.c (lower_builtin_setjmp): Likewise.
3061 * gimple.c (gimple_cond_get_ops_from_tree): Likewise.
3062 * gimplify.c (gimplify_init_constructor): Likewise.
3063 * lambda.h (build_linear_expr): Likewise.
3064 * omp-low.c (omp_reduction_init): Likewise.
3065 * tree-inline.c (remap_ssa_name): Likewise.
3066 * tree-object-size.c (compute_object_sizes): Likewise.
3067 * tree-sra.c (init_subtree_with_zero): Likewise.
3068 (sra_ipa_modify_assign): Likewise.
3069 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
3070 * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
3071 (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
3072 (undistribute_ops_list): Likewise.
3073 * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
3074 * tree-vect-stmts.c (vectorizable_call): Likewise.
3075 * tree.c (build_vector_from_ctor, build_one_cst): Likewise.
3076 (build_zero_cst): Handle more cases directly. Update comment.
3078 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
3080 * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
3081 * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
3083 * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
3084 and call ix86_split_call_vzeroupper instead of
3085 ix86_split_call_pop_vzeroupper.
3086 (*call_pop_1_vzeroupper): Likewise.
3087 (*sibcall_pop_1_vzeroupper): Likewise.
3088 (*call_value_pop_0_vzeroupper): Likewise.
3089 (*call_value_pop_1_vzeroupper): Likewise.
3090 (*sibcall_value_pop_1_vzeroupper): Likewise.
3092 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
3094 * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
3096 2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
3098 * basic-block.h (insert_insn_end_bb_new): Delete.
3099 * cfgrtl.c (insert_insn_end_bb_new): Likewise.
3101 2010-11-02 Uros Bizjak <ubizjak@gmail.com>
3102 H.J. Lu <hongjiu.lu@intel.com>
3104 * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
3105 (ix86_split_call_pop_vzeroupper): Likewise.
3107 * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
3108 (ix86_expand_call): Conditionally decorate calls with
3109 UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
3110 (ix86_split_call_vzeroupper): New.
3111 (ix86_split_call_pop_vzeroupper): Likewise.
3113 * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
3114 (*call_pop_0_vzeroupper): New insn_and_split pattern.
3115 (*call_pop_1_vzeroupper): Likewise.
3116 (*sibcall_pop_1_vzeroupper): Likewise.
3117 (*call_0_vzeroupper): Likewise.
3118 (*call_1_vzeroupper): Likewise.
3119 (*sibcall_1_vzeroupper): Likewise.
3120 (*call_1_rex64_vzeroupper): Likewise.
3121 (*call_1_rex64_ms_sysv_vzeroupper): Likewise.
3122 (*call_1_rex64_large_vzeroupper): Likewise.
3123 (*sibcall_1_rex64_vzeroupper): Likewise.
3124 (*call_value_pop_0_vzeroupper): Likewise.
3125 (*call_value_pop_1_vzeroupper): Likewise.
3126 (*sibcall_value_pop_1_vzeroupper): Likewise.
3127 (*call_value_0_vzeroupper): Likewise.
3128 (*call_value_0_rex64_vzeroupper): Likewise.
3129 (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
3130 (*call_value_1_vzeroupper): Likewise.
3131 (*sibcall_value_1_vzeroupper): Likewise.
3132 (*call_value_1_rex64_vzeroupper): Likewise.
3133 (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
3134 (*call_value_1_rex64_large_vzeroupper): Likewise.
3135 (*sibcall_value_1_rex64_vzeroupper): Likewise.
3137 2010-11-02 Ian Lance Taylor <iant@google.com>
3140 * config.gcc: Revert last patch: set lto_binary_reader.
3142 2010-11-02 Richard Guenther <rguenther@suse.de>
3144 PR tree-optimization/46149
3145 * tree-ssa-structalias.c (get_constraint_for_1): Properly handle
3146 non-indirect MEM_REF variants.
3148 2010-11-02 Richard Guenther <rguenther@suse.de>
3150 PR tree-optimization/46216
3151 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
3152 Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
3154 2010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3156 * configure.ac (*-*-irix6*): Disable set_have_as_tls.
3157 (*-*-osf*): Likewise.
3158 * configure: Regenerate.
3160 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
3162 * config/i386/driver-i386.c (host_detect_local_cpu): Updated
3163 for Intel Core 2 and Core i7.
3165 2010-11-02 Maxim Kuvyrkov <maxim@codesourcery.com>
3167 Model decoder of Core 2/i7 for multipass scheduling.
3169 * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
3170 New type to hold target-specific data for multipass scheduling.
3171 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
3172 * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
3174 (core2i7_secondary_decoder_max_insn_size,)
3175 (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
3176 New static variables.
3177 ([const_]ix86_first_cycle_multipass_data_t): New typedefs.
3178 ([_]ix86_first_cycle_multipass_data): New static variable.
3179 (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
3180 Implement targetm.sched hooks.
3181 (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
3183 (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
3184 Implement new targetm.sched hooks.
3185 (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
3186 targetm.sched hook to install multipass scheduling hooks on demand.
3188 * doc/tm.texi.in: Document new targetm.sched hooks.
3189 * doc/tm.texi: Regenerate.
3191 * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
3192 (first_cycle_multipass_data_t): New typedef.
3193 (struct choice_entry: target_data): New field.
3194 (max_issue): Add first_cycle_insn_p parameter. Call new target hooks
3195 to allow target model restrictions not represented in DFA.
3196 (choose_ready, schedule_block): Update.
3197 (sched_extend_ready_list, sched_finish_ready_list): Call new target
3198 hooks to initialize target-specific data for multipass scheduling.
3199 * sched-int.h (max_issue): Update declaration.
3200 * sel-sched.c (choose_best_insn): Update.
3201 * target.def (first_cycle_multipass_{begin, issue, backtrack},)
3202 (first_cycle_multipass_{init, fini}): Define and document new
3203 targetm.sched hooks.
3205 2010-11-02 Richard Guenther <rguenther@suse.de>
3207 PR tree-optimization/46184
3208 * tree-vect-loop.c (vectorizable_reduction): Try to obtain the
3209 input vector type from the reduction operand as well.
3211 2010-11-02 Richard Guenther <rguenther@suse.de>
3213 PR tree-optimization/46177
3214 * tree-loop-distribution.c (prop_phis): Use
3215 mark_virtual_phi_result_for_renaming.
3217 2010-11-02 Martin Jambor <mjambor@suse.cz>
3220 * tree.c (get_binfo_at_offset): Bail out on artificial
3221 fields. Identify primary bases according to their offsets.
3223 2010-11-02 Martin Jambor <mjambor@suse.cz>
3225 PR tree-optimization/45875
3226 * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
3227 (gimple_get_relevant_ref_binfo): Detect primary bases according to
3230 2010-11-02 Ian Lance Taylor <iant@google.com>
3232 * doc/install.texi (Configuration): Note in two places that Java
3233 is not enabled by default.
3235 2010-11-02 Ian Lance Taylor <iant@google.com>
3237 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
3238 (Configuration): Mention --disable-lto. Remove --with-libelf
3241 2010-11-02 Ian Lance Taylor <iant@google.com>
3243 * configure.ac: Remove elf_getshdrstrndx test. Don't substitute
3244 LTO_BINARY_READER or LTO_USE_LIBELF. Remove LIBELFLIBS and
3245 LIBELFINC. Remove HAVE_libelf.
3246 * config.gcc: Don't set lto_binary_reader.
3247 * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
3248 (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
3249 (LIBS): Remove $(LIBELFLIBS).
3250 (INCLUDES): Remove $(LIBELFINC).
3251 * configure: Rebuild.
3252 * config.in: Rebuild.
3254 2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
3256 * config/microblaze/microblaze-protos.h (function_arg): Delete.
3257 (function_arg_advance): Delete.
3258 * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
3259 (FUNCTION_ARG): Delete.
3260 * config/microblaze/microblaze.c (function_arg_advance): Rename to...
3261 (microblaze_function_arg_advance): ...this. Make static. Take a
3262 const_tree and a bool.
3263 (function-arg): Rename to...
3264 (microblaze_function_arg): ...this. Make static. Take a const_tree
3266 (microblaze_expand_prologue): Call targetm.calls.function_arg and
3267 targetm.calls.function_arg_advance.
3268 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3270 2010-11-02 Iain Sandoe <iains@gcc.gnu.org>
3272 Merge from FSF "apple/trunk" branch.
3274 * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
3275 * config/darwin.opt: .. to here.
3276 (matt-stubs): New option.
3277 * config/i386/darwin.opt: Delete.
3278 * config/i386/i386.h (MACHOPIC_ATT_STUB): New.
3279 (MACHO_DYNAMIC_NO_PIC_P): New.
3280 (MACHOPIC_INDIRECT): New.
3281 (MACHOPIC_PURE): New.
3282 * config/i386/darwin.h (DARWIN_X86) Define to 1.
3283 (MACHOPIC_ATT_STUB): New.
3284 (CC1_SPEC): Do not remove mdynamic-no-pic.
3285 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
3286 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
3287 (FUNCTION_PROFILER): Correct over-length line.
3288 (SUBTARGET_OVERRIDE_OPTIONS): New.
3289 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
3290 * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
3291 (legitimate_constant_p): Handle mdynamic-no-pic.
3292 (ix86_legitimate_address_p): Likewise.
3293 (ix86_legitimize_address): Likewise.
3294 (ix86_expand_move): Likewise.
3295 (machopic_output_stub): Update for ATT-style stubs and
3297 * config/darwin-protos.h (machopic_symbol_defined_p): New.
3298 * config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
3299 TARGET_DYNAMIC_NO_PIC: Remove.
3300 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
3301 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
3302 * config/rs6000/rs6000.c (darwin_rs6000_override_options):
3303 Remove handling of mdynamic-no-pic.
3304 * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
3306 (machopic_symbol_defined_p): Do not try to use current_function_decl
3307 when generating _get_pc thunks within stubs.
3308 (machopic_indirect_data_reference): Rework for direct conditionals
3309 rather than #ifdefs, add x86 mdynamic-no-pic
3310 (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
3312 (darwin_override_options): Handle mdynamic-no-pic here.
3313 * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
3314 (machopic_lazy_symbol_ptr3_section): New.
3315 (machopic_picsymbol_stub2_section): New.
3316 (machopic_picsymbol_stub3_section): New.
3317 * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
3318 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
3319 (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
3320 Moved common definition from x86 and rs6000.
3321 (MACHO_DYNAMIC_NO_PIC_P): Override value.
3322 (MACHOPIC_INDIRECT): Likewise.
3323 (MACHOPIC_PURE): Likewise.
3324 * config.gcc (x86-darwin-*): Remove darwin.opt.
3326 2010-11-02 Jakub Jelinek <jakub@redhat.com>
3329 * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
3330 instead of gsi_last_bb.
3332 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
3333 Maxim Kuvyrkov <maxim@codesourcery.com>
3335 * config/i386/i386.c (cpu_names): Add "corei7".
3336 * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
3338 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
3339 Maxim Kuvyrkov <maxim@codesourcery.com>
3341 Tune alignment for Intel Core i7
3343 * config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
3344 (enum processor_type): Update comment. Add entries for Core i7.
3345 * config/i386-c.c (ix86_target_macros_internal): Update.
3346 * config/i386.c (m_COREI7{_32,_64}): New macros.
3347 (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
3348 (processor_target_table): Tune alignment for Core i7.
3349 (ix86_option_override_internal): Use PROCESSOR_COREI7_*.
3351 * doc/invoke.texi: Document "corei7" option value.
3353 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
3354 Maxim Kuvyrkov <maxim@codesourcery.com>
3355 H.J. Lu <hjl.tools@gmail.com>
3357 Basic support for Intel Core i7
3359 * i386.c (ix86_option_override_internal): Add entry for corei7, use
3360 generic tuning. Use generic32 when compiling for 32-bit ABI.
3362 2010-11-02 Iain Sandoe <iains@gcc.gnu.org>
3364 * config/darwin.c (darwin_asm_named_section): Check for __DWARF
3365 sections and call darwin_asm_dwarf_section() to handle them.
3366 (darwin_asm_dwarf_section): New.
3367 (darwin_file_start): Remove code emitting dwarf section symbols.
3369 2010-11-02 Chung-Lin Tang <cltang@codesourcery.com>
3371 * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
3372 explicitly disable stack protection when building libgcc.
3373 (CRTSTUFF_CFLAGS): Same, for crtbegin/end.
3375 2010-11-01 Jason Merrill <jason@redhat.com>
3377 * fold-const.c (fold_indirect_ref_1): Handle folding
3378 POINTER_PLUS_EXPR to ARRAY_REF.
3380 2010-11-01 Kaz Kojima <kkojima@gcc.gnu.org>
3382 * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3383 (sh_delegitimize_address): New function.
3385 2010-11-01 Joseph Myers <joseph@codesourcery.com>
3387 * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
3388 * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
3389 (CC1_SPEC): Don't handle -target.
3390 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
3392 * config/darwin.opt (Zallowable_client, Zbundle_loader,
3393 Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
3394 Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
3395 Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
3396 Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
3397 Zweak_reference_mismatches, client_name, compatibility_version,
3398 current_version, dylinker_install_name, pagezero_size,
3399 read_only_relocs, seg1addr, segs_read_only_addr,
3400 segs_read_write_addr, sub_library, sub_umbrella): New.
3401 * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
3402 * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
3403 * config/freebsd.opt: New.
3404 * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
3405 * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
3406 * config/rpath.opt: New.
3407 * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
3408 (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
3411 2010-11-01 Joseph Myers <joseph@codesourcery.com>
3413 * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
3414 * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
3415 (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
3416 * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
3417 (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
3418 Document that options in .opt files do not need to be included.
3419 * doc/tm.texi: Regenerate.
3420 * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
3421 * opts-common.c: Update comment on tm.h include.
3422 (decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
3423 * system.h (SWITCH_TAKES_ARG): Poison.
3424 * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
3425 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
3427 (LINK_COMMAND_SPEC_A): Don't include %{x}.
3428 * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
3429 * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
3430 * config/freebsd.h (SWITCH_TAKES_ARG): Remove.
3431 * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
3432 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
3433 * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
3434 * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options.
3435 * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
3436 * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
3437 * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
3438 * config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
3439 * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
3440 * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
3441 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
3442 * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
3443 * config/openbsd.h (SWITCH_TAKES_ARG): Remove.
3444 * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
3445 * config/score/score.h (SWITCH_TAKES_ARG): Remove.
3446 * config/sol2.h (SWITCH_TAKES_ARG): Remove.
3447 * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
3448 * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
3449 * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
3450 * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
3452 2010-11-01 Paul Koning <ni1d@arrl.net>
3454 * config/pdp11/pdp11.md: Use iterators.
3455 (addqi3, subqi3, iorsi3, xorsi3): Delete.
3457 2010-11-01 Steve Ellcey <sje@cup.hp.com>
3459 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
3461 * libgcov.c (__gcov_indirect_call_profiler): Set
3462 VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
3463 defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
3465 2010-11-01 Nathan Froyd <froydnj@codesourcery.com>
3467 PR tree-optimization/46259
3470 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
3471 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
3472 build_vector_from_val.
3474 2010-11-01 DJ Delorie <dj@redhat.com>
3476 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610
3477 as well as an assertion.
3479 2010-11-01 Paul Koning <ni1d@arrl.net>
3481 * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
3482 complex modes in memory.
3484 2010-11-01 Nathan Froyd <froydnj@codesourcery.com>
3486 * tree.c (build_vector_from_val): Use useless_type_conversion_p.
3488 2010-11-01 Jakub Jelinek <jakub@redhat.com>
3491 * var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
3492 (cfa_base_offset): New variable.
3493 (compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
3494 (adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
3496 (vt_init_cfa_base): Initialize cfa_base_offset.
3498 2010-11-01 Alan Modra <amodra@gmail.com>
3501 * config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
3502 and savres_strategy.
3503 (stack_info): New file scope var.
3504 (rs6000_init_machine_status): Init stack_info.
3505 (SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
3506 SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
3507 SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
3508 (SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
3509 SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
3510 REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this. Update all refs.
3511 (rs6000_savres_strategy): Rewrite.
3512 (rs6000_stack_info): Use "stack_info" in place of local "info".
3513 Return cached stack info when reload_completed unless ENABLE_CHECKING
3514 in which case confirm newly calculated stack info matches old info.
3515 Delay calculation of lr_save_p, set it for out of line gp save/restore
3516 as well as fp. Call rs6000_savres_strategy from here..
3517 (rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
3518 (rs6000_output_function_prologue): Use info->savres_strategy to
3519 determine whether fp save/restore externs need to be emitted.
3521 2010-10-31 Jason Merrill <jason@redhat.com>
3523 * tree.h (EXPR_LOC_OR_HERE): New macro.
3524 * builtins.c (c_strlen): Use it.
3525 * c-decl.c (build_enumerator): Likewise.
3526 * gimplify.c (internal_get_tmp_var): Likewise.
3527 (shortcut_cond_expr): Likewise.
3528 (gimplify_one_sizepos): Likewise.
3530 2010-10-31 Richard Henderson <rth@redhat.com>
3532 * config/i386/cygming.h (TARGET_SEH): New.
3533 (MAX_STACK_ALIGNMENT): New. Disable alignment for SEH.
3534 (TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
3535 TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
3536 (TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
3537 (ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
3538 (ASM_DECLARE_FUNCTION_SIZE): New.
3539 * config/i386/i386-protos.h: Update.
3540 * config/i386/i386.c (ix86_option_override_internal): Enable
3541 flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
3542 restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
3543 (ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
3544 (ix86_compute_frame_layout): For SEH, disable
3545 use_fast_prologue_epilogue, move frame pointer to the end of
3546 the frame. Initialize hfp_save_offset.
3547 (ix86_expand_prologue): Honor hfp_save_offset. Emit blockage
3548 at end of prologue for SEH.
3549 (ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
3550 emit blockage at beginning of epilogue.
3551 (ix86_expand_binary_operator): After reload, emit LEA if needed.
3552 (ix86_output_call_insn): New.
3553 * config/i386/i386.h (TARGET_SEH): New.
3554 (struct machine_function): Add member seh.
3555 * config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
3556 * config/i386/winnt.c (struct seh_frame_state): New.
3557 (i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
3558 seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
3559 seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
3560 i386_pe_start_function, i386_pe_end_function): New.
3562 * dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
3563 as CFA_STORE in rules 12 and 13.
3565 2010-10-31 Uros Bizjak <ubizjak@gmail.com>
3567 PR tree-optimization/46142
3568 * tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
3569 accommodate third function argument.
3571 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
3573 * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
3575 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
3577 * fold-const.c (build_zero_vector): Use build_vector_from_val.
3578 * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
3579 (get_initial_def_for_reduction): Likewise.
3580 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
3581 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
3582 * tree.c (build_one_cst): Likewise.
3583 (build_vector_from_val): Use types_compatible_p for assert.
3585 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
3587 * emit-rtl.c (mark_used_flags): New function.
3588 (set_used_flags, reset_used_flags): Call it.
3590 2010-10-30 Uros Bizjak <ubizjak@gmail.com>
3593 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
3594 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
3596 2010-10-30 H.J. Lu <hongjiu.lu@intel.com>
3599 * config/i386/i386.c (contains_aligned_value_p): Renamed to ...
3600 (ix86_compat_aligned_value_p): This.
3601 (ix86_old_function_arg_boundary): Renamed to ...
3602 (ix86_compat_function_arg_boundary): This. Updated.
3603 (ix86_contains_aligned_value_p): New.
3604 (ix86_function_arg_boundary): Align long double parameters on
3605 stack to 4byte in 32bit.
3607 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3609 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3610 * c-parser.c (c_parser_objc_at_property_declaration): Removed
3611 parsing of RID_COPIES and RID_IVAR. Updated call to
3612 objc_add_property_declaration.
3613 * c-typecheck.c (build_component_ref): Call
3614 objc_maybe_build_component_ref instead of objc_build_setter_call.
3615 Use objc_is_property_ref to improve Objective-C checks.
3616 (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
3617 of objc_build_getter_call.
3619 2010-10-29 Paul Koning <ni1d@arrl.net>
3621 * doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
3622 REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
3623 REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
3624 (REG_OK_STRICT): Move description.
3626 2010-10-29 Paul Koning <ni1d@arrl.net>
3628 * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
3630 2010-10-29 Paul Koning <ni1d@arrl.net>
3632 * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
3634 2010-10-29 Paul Koning <ni1d@arrl.net>
3637 * config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.
3639 2010-10-29 Richard Henderson <rth@redhat.com>
3642 * stmt.c (expand_asm_operands): Call do_pending_stack_adjust
3645 2010-10-29 Paul Koning <ni1d@arrl.net>
3647 * config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
3648 register to register move.
3650 2010-10-29 Paul Koning <ni1d@arrl.net>
3652 * config/pdp11/pdp11.c (print_operand_address): Correct handling
3653 of integer constant addresses, delete vax-only logic.
3655 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
3657 * config/picochip/picochip.c (picochip_is_short_branch): Simplify
3658 a conditional expression.
3660 2010-10-29 Paul Koning <ni1d@arrl.net>
3662 * config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
3663 instruction encoding.
3665 2010-10-29 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3666 Andrew Pinski <pinskia@gmail.com>
3668 * tree.h (build_vector_from_val): Declare.
3669 * tree.c (build_vector_from_val): New function.
3670 * c-typeck.c (build_binary_op): Handle vector shifting.
3671 * doc/extend.texi: Description of the vector shifting operation.
3673 2010-10-29 Paul Koning <pkoning@equallogic.com>
3675 * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
3676 pdp11_secondary_memory_needed): Declare.
3677 * config/pdp11/predicates.md (float_operand): New predicate.
3678 * config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
3679 (cbranchdf4, movdf): Change predicate.
3680 (movsf): Handle FPU register case.
3681 (truncdfsf2, extendsfdf2): Add FPU register case.
3682 * config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
3683 TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
3684 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3685 (pdp11_register_move_cost): Update cost matrix.
3686 (pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
3687 pdp11_preferred_output_reload_class, pdp11_secondary_reload,
3688 pdp11_secondary_memory_needed): New function.
3689 (pdp11_return_in_memory): Add other float types.
3690 * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types.
3691 (SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
3692 (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
3693 REGISTER_MOVE_COST): Delete.
3694 (BASE_RETURN_VALUE_REG): Add other float types.
3696 2010-10-29 Nick Clifton <nickc@redhat.com>
3698 * doc/invoke.texi: Document -mam34 and -mtune options.
3699 * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
3700 (mn10300_tune_cpu): New variable.
3701 (mn10300_handle_option): Handle -mam34 and -mtune options.
3702 (mn10300_option_override): Convert tune string into tune cpu variable.
3703 (mn10300_legitimate_constant_p): Delete unused local variable.
3704 (is_load_insn): New function.
3705 (is_store_insn): New function.
3706 (mn10300_adjust_schedule_cost): New function.
3707 (TARGET_SCHED_ADJUST_COST): Define.
3708 * config/mn10300/mn10300.opt (mam34): New option.
3709 (mtune): New option.
3710 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support.
3711 (enum processor_type): Add AM34.
3712 (TARGET_AM34): Define.
3713 * config/mn10300/mn10300.md (attr cpu): Add am34.
3714 Add pipeline description.
3715 (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates.
3716 Remove unneeded alternatives. Add timing attribute.
3717 (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
3718 mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
3719 mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
3720 mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
3721 mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
3722 bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
3723 bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
3724 float_conditional_branch, jump, indirect_jump, tablejump,
3725 call_internal, call_value_internal, zero_extendqisi2_am33,
3726 zero_extendqisi2_mn10300, zero_extendhisi2_am33,
3727 zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
3728 extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
3729 mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
3730 mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
3731 addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
3732 fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
3733 return_internal_regs, store_movm, return, call_next_insn):
3734 Add timing attribute.
3735 (am33_subsi3): Add missing clobber of CC_REG.
3736 (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
3737 (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
3738 subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
3739 extendqisi2): Fix predicates.
3740 (call_internal, call_internal_value): Separate alternatives.
3741 * config/mn10300/t-mn10300: Add AM34 multilib.
3743 2010-10-29 Paolo Bonzini <bonzini@gnu.org>
3745 * config/sh/sh.c (sh_promote_function_mode): Use
3746 default_promote_function_mode if !sh_promote_prototypes.
3748 2010-10-28 Paolo Bonzini <bonzini@gnu.org>
3750 * recog.c (split_all_insns): Remove dead code.
3752 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3754 * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3756 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3758 * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
3759 (FUNCTION_ARG_ADVANCE): Delete.
3760 * config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
3762 (cris_function_incoming_arg, cris_function_arg_advance): New functions.
3763 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
3764 (TARGET_FUNCTION_ARG_ADVANCE): Define.
3766 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3768 * config/lm32/lm32-protos.h (lm32_function_arg): Delete.
3769 * config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3770 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
3771 Take a const_tree and a bool.
3772 (mcore_function_arg_advance): New function.
3773 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3775 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3777 * config/mcore/mcore-protos.h (mcore_function_arg): Delete.
3778 * config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3779 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
3780 Take a const_tree and a bool.
3781 (mcore_function_arg_advance): New function.
3782 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3784 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3786 * config/h8300/h8300-protos.h (function_arg): Delete.
3787 * config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3788 * config/h8300/h8300.c (function_arg): Rename to...
3789 (h8300_function_arg): ...this. Make static. Take a const_tree and
3791 (h8300_function_arg_advance): New function.
3792 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3794 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3796 * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
3798 * config/arc/arc.c (arc_function_arg): ...here and...
3799 (arc_function_arg_advance): ...here. New functions.
3800 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3802 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3804 * config/crx/crx-protos.h (crx_function_arg): Delete.
3805 (crx_function_arg_advance): Delete.
3806 * config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3807 * config/crx/crx.c (crx_function_arg): Make static. Take a
3808 const_tree and a bool.
3809 (crx_function_arg_advance): Make static. Take a const_tree and a bool.
3810 (enough_regs_for_param): Take a const_tree.
3811 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3813 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3815 * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
3816 (m68hc11_function_arg_advance): Delete.
3817 * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
3818 (FUNCTION_ARG_ADVANCE): Delete.
3819 * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
3820 Take a const_tree and a bool.
3821 (m68hc11_function_arg_advance): Likewise.
3822 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3824 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3826 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
3827 (xstormy16_function_arg_advance): Delete.
3828 * config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
3829 (FUNCTION_ARG_ADVANCE): Delete.
3830 * config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
3831 Take a const_tree and a bool.
3832 (xstormy16_function_arg_advance): Likewise. Return void, updating
3833 the CUM parameter instead.
3834 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3836 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3838 * config/moxie/moxie-protos.h (moxie_function_arg): Delete.
3839 * config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3840 (MOXIE_FUNCTION_ARG_SIZE): Move to...
3841 * config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
3842 (moxie_function_arg): Make static. Take a const_tree and a bool.
3843 (moxie_function_arg_advance): New function.
3844 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3846 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3848 * config/mn10300/mn10300-protos.h (function_arg): Delete.
3849 * config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
3850 (FUNCTION_ARG_ADVANCE): Delete.
3851 * config/mn10300/mn10300.c (function_arg): Rename to...
3852 (mn10300_function_arg): ...this. Make static. Take a const_tree
3854 (mn10300_function_arg_advance): New function.
3855 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3857 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3859 * config/iq2000/iq2000-protos.h (function_arg): Delete.
3860 (function_arg_advance): Delete.
3861 * config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3862 * config/iq2000/iq2000.c (function_arg): Rename to...
3863 (iq2000_function_arg): ...this. Make static. Take a const_tree and
3865 (function_arg_advance): Rename to...
3866 (iq2000_function_arg_advance): ...this. Make static. Take a
3867 const_tree and a bool.
3868 (iq2000_expand_prologue): Call iq2000_function_arg_advance and
3869 iq2000_function_arg.
3870 (iq2000_pass_by_reference): Call iq2000_function_arg).
3871 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3873 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3875 * config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
3876 * config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3877 * config/fr30/fr30.c (fr30_num_arg_regs): Make static. Take a
3879 (fr30_function_arg): New function.
3880 (fr30_function_arg_advance): New function.
3881 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3883 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
3885 * config/frv/frv-protos.h (frv_function_arg): Delete.
3886 (frv_function_arg_advance): Delete.
3887 * config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
3888 * config/frv/frv.c (frv_function_arg): Rename to...
3889 (frv_function_arg_1): Make static. Take const_tree and bool arguments.
3890 (frv_function_arg, frv_function_incoming_arg): New functions.
3891 (frv_function_arg_advance): Make static. Take a const_tree and a bool.
3892 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
3893 (TARGET_FUNCTION_ARG_ADVANCE): Define.
3895 2010-10-28 Uros Bizjak <ubizjak@gmail.com>
3898 * config/i386/sse.md (sse_movhlps_exp): Use destination
3899 returned from ix86_fixup_binary_operands to expand insn.
3900 (sse_movlhps_exp): Ditto.
3901 (sse_loadhps_exp): Ditto.
3902 (sse_loadlps_exp): Ditto.
3903 (sse2_loadhpd_exp): Ditto.
3904 (sse2_loadlpd_exp): Ditto.
3906 2010-10-28 Andrew Stubbs <ams@codesourcery.com>
3908 * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
3909 constants in thumb2.
3911 2010-10-28 Eric Botcazou <ebotcazou@adacore.com>
3913 * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
3914 arithmetics in masking operations.
3915 (contains_muldiv): Likewise.
3916 (try_combine): Likewise.
3917 (find_split_point): Likewise.
3918 (combine_simplify_rtx): Likewise.
3919 (simplify_if_then_else): Likewise.
3920 (simplify_set): Likewise.
3921 (expand_compound_operation): Likewise.
3922 (expand_field_assignment): Likewise.
3923 (make_extraction): Likewise.
3924 (extract_left_shift): Likewise.
3925 (make_compound_operation): Likewise.
3926 (force_to_mode): Likewise.
3927 (make_field_assignment): Likewise.
3928 (reg_nonzero_bits_for_combine): Likewise.
3929 (simplify_shift_const_1): Likewise.
3930 (simplify_comparison): Likewise.
3932 2010-10-27 Nathan Froyd <froydnj@codesourcery.com>
3934 * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
3935 (ia64_function_arg_advance): Delete.
3936 * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
3937 (FUNCTION_ARG_ADVANCE): Delete.
3938 * config/ia64/ia64.c (ia64_function_arg): Rename to...
3939 (ia64_function_arg_1): ...this. Make static. Take const_tree and
3941 (ia64_function_arg, ia64_function_incoming_arg): New functions.
3942 (ia64_function_arg_advance): Make static. Take a const_tree and
3944 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
3945 (TARGET_FUNCTION_ARG_ADVANCE): Define.
3947 2010-10-27 Steve Ellcey <sje@cup.hp.com>
3949 * doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
3950 (TARGET_GET_RAW_ARG_MODE): New.
3951 * doc/tm.texi: Regenerate.
3952 * target.def (get_raw_result_mode): New.
3953 (get_raw_arg_mode): New.
3954 * targhooks.c (default_get_reg_raw_mode): New.
3955 * targhooks.h (default_get_reg_raw_mode): New.
3956 * builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
3957 (apply_result_size): Ditto.
3958 * config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
3959 (TARGET_GET_RAW_RESULT_MODE): Define.
3960 (TARGET_GET_RAW_ARG_MODE): Ditto.
3962 2010-10-27 Eric Botcazou <ebotcazou@adacore.com>
3964 * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
3965 for newer Solaris 10 release.
3966 (sparc_fallback_frame_state): Likewise.
3968 2010-10-27 Jason Merrill <jason@redhat.com>
3970 * gimplify.c (gimplify_decl_expr): Handle anonymous artificial
3973 2010-10-27 Jie Zhang <jie@codesourcery.com>
3974 Maxim Kuvyrkov <maxim@codesourcery.com>
3976 * haifa-sched.c (ISSUE_POINTS): Remove.
3977 (max_issue): Don't issue more than issue_rate instructions.
3979 2010-10-27 Ian Lance Taylor <iant@google.com>
3982 * config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New.
3983 (split_stack_return): Replace UNSPEC_STACK_CHECK with
3984 UNSPECV_SPLIT_STACK_RETURN.
3986 2010-10-27 H.J. Lu <hongjiu.lu@intel.com>
3988 * config/i386/i386-protos.h (init_cumulative_args): Add an int.
3990 * config/i386/i386.c (block_info): New.
3991 (BLOCK_INFO): Likewise.
3992 (call_avx256_state): Likewise.
3993 (check_avx256_stores): Likewise.
3994 (move_or_delete_vzeroupper_2): Likewise.
3995 (move_or_delete_vzeroupper_1): Likewise.
3996 (move_or_delete_vzeroupper): Likewise.