OSDN Git Service

PR c/46547
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
2
3         PR c/46547
4         * c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
5         * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
6
7 2010-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
8
9         * doc/extend.texi (Function attributes): Document PowerPC target
10         attributes that are supported.
11         (Pragmas): Document that PowerPC now supports target pragmas.
12
13         * doc/options.texi (TargetVariable): Document TargetVariable,
14         HeaderInclude, and SourceInclude.
15
16         * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
17         mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
18         -ffp-contract=off.
19
20         * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
21         SourceInclude directives.  Fix a cut+paste error with target save
22         enum variables.  Sort enums in the structures after ints and
23         before shorts.
24         * opth-gen.awk: Ditto.
25
26         * configure.ac: Add support for HeaderInclude and SourceInclude
27         option directives to add the appropriate files to the dependency
28         lists.
29         * configure: Regenerate.
30         * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
31         (OPTIONS_C_EXTRA): New variable for SourceInclude.
32         (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
33         (options.o): Add $(OPTIONS_C_EXTRA) dependency.
34         (gcc-options.o): Ditto.
35         * opt-include.awk: New awk script to handle HeaderInclude and
36         TargetInclude.
37
38         * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
39         gets saved in the target options.
40         * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
41         * config/rs6000/sysv4.opt (-mbit-align): Ditto.
42         (-mprototype): Ditto.
43         (-mbit-word): ditto.
44         (-mregnames): Ditto.
45         (-msecure-plt): Ditto.
46         (-mbss-plt): Ditto.
47         * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
48         (-mpowerpc-gfxopt): Ditto.
49         (-mmfcrf): Ditto.
50         (-mpopcntb): Ditto.
51         (-mfprnd): Ditto.
52         (-mcmpb): Ditto.
53         (-mmmfpgpr): Ditto.
54         (-maltivec): Ditto.
55         (-mhard-dfp): Ditto.
56         (-mmulhw): Ditto.
57         (-mdlmzb): Ditto.
58         (-mmultiple): Ditto.
59         (-mstring): Ditto.
60         (-mpopcntd): Ditto.
61         (-mfriz): Ditto.
62         (-mvsx): Ditto.
63         (-mno-update): Ditto.
64         (-mavoid-indexed-addresses): Ditto.
65         (-mtls-markers): Ditto.
66         (-msched-epilog): Ditto.
67         (-msched-prolog): Ditto.
68         (-maix-struct-return): Ditto.
69         (-msvr4-struct-return): Ditto.
70         (-mxl-compat): Ditto.
71         (-mrecip-precision): Ditto.
72         (-mfp-in-toc): Ditto.
73         (-msum-in-toc): Ditto.
74         (-mvrsave): Ditto.
75         (-mblock-move-inline-limit=): Ditto.
76         (-misel): Ditto.
77         (-mpaired): Ditto.
78         (-mlongcall): Ditto.
79         (-mgen-cell-microcode): Ditto.
80         (-mwarn-cell-microcode): Ditto.
81         (-mwarn-altivec-long): Ditto.
82         (-mprioritize-restricted-insns=): Ditto.
83         (-msingle-float): Ditto.
84         (-mdouble-float): Ditto.
85         (-msimple-fpu): Ditto.
86         (-mxilinx-fpu): Ditto.
87         * config/rs6000/aix64.opt (-mpe): Ditto.
88
89         * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
90         (rs6000_cpu): Move variable to be a target variable.  Rename
91         cmodel to rs6000_current_cmodel because of macro conflict.  Merge
92         -mdebug=<xxx> variables into a single int.
93         (rs6000_always_hint): Ditto.
94         (rs6000_sched_groups): Ditto.
95         (rs6000_align_branch_targets): Ditto.
96         (rs6000_sched_costly_dep): Ditto.
97         (rs6000_sched_insert_nops): Ditto.
98         (rs6000_long_double_type_size): Ditto.
99         (rs6000_ieeequad): Ditto.
100         (rs6000_altivec_abi): Ditto.
101         (rs6000_spe): Ditto.
102         (rs6000_spe_abi): Ditto.
103         (rs6000_float_gprs): Ditto.
104         (rs6000_darwin64_abi): Ditto.
105         (can_override_loop_align): Ditto.
106         (rs6000_sdata): Ditto.
107         (rs6000_tls_size): Ditto.
108         (rs6000_current_abi): Ditto.
109         (rs6000_traceback): Ditto.
110         (rs6000_alignment_flags): Ditto.
111         (rs6000_current_cmodel): Ditto.
112         (rs6000_recip_control): Ditto.
113         (rs6000_cpu_index): Ditto.
114         (rs6000_tune_index): Ditto.
115         (rs6000_debug): Ditto.
116         (rs6000_target_flags_explict): Ditto.
117
118         * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
119         declaration.
120
121         * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
122         cmodel.  Change all uses.
123
124         * config/rs6000/rs6000.c (rs6000_always_hint): Move to
125         rs6000.opt.  Combine -mdebug=<xxx> variables into a single int.
126         Rename cmodel to rs6000_current_cmodel.
127         (rs6000_sched_groups): Ditto.
128         (rs6000_align_branch_targets): Ditto.
129         (rs6000_sched_costly_dep): Ditto.
130         (rs6000_sched_insert_nops): Ditto.
131         (rs6000_long_double_type_size): Ditto.
132         (rs6000_ieeequad): Ditto.
133         (rs6000_altivec_abi): Ditto.
134         (rs6000_spe): Ditto.
135         (rs6000_spe_abi): Ditto.
136         (rs6000_float_gprs): Ditto.
137         (rs6000_darwin64_abi): Ditto.
138         (can_override_loop_align): Ditto.
139         (rs6000_sdata): Ditto.
140         (rs6000_tls_size): Ditto.
141         (rs6000_current_abi): Ditto.
142         (rs6000_traceback): Ditto.
143         (rs6000_alignment_flags): Ditto.
144         (rs6000_current_cmodel): Ditto.
145         (rs6000_recip_control): Ditto.
146         (rs6000_cpu_index): Ditto.
147         (rs6000_tune_index): Ditto.
148         (rs6000_debug): Ditto.
149         (rs6000_target_flags_explict): Ditto.
150         (rs6000_sched_insert_nops_str): Make static.
151         (rs6000_sched_costly_dep_str): Ditto.
152         (rs6000_recip_name): Ditto.
153         (rs6000_abi_name): Ditto.
154         (rs6000_sdata_name): Ditto.
155         (enum rs6000_traceback_name): Move to rs6000-opts.h.
156         (rs6000_parse_tls_size_option): Delete.
157         (rs6000_valid_attribute_p): New function for target attributes and
158         pragmas.
159         (rs6000_function_specific_save): Ditto.
160         (rs6000_function_specific_restore): Ditto.
161         (rs6000_function_specific_print): Ditto.
162         (rs6000_can_inline_p): Ditto.
163         (rs6000_set_current_function): Ditto.
164         (rs6000_inner_target_options): Ditto.
165         (rs6000_debug_target_options): Ditto.
166         (rs6000_pragma_target_parse): Ditto.
167         (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
168         attributes and pragmas.
169         (TARGET_OPTION_SAVE): Ditto.
170         (TARGET_OPTION_RESTORE): Ditto.
171         (TARGET_OPTION_PRINT): Ditto.
172         (TARGET_CAN_INLINE_P): Ditto.
173         (TARGET_SET_CURRENT_FUNCTION): Ditto.
174         (POWER_MASKS): Move to file level scope from the
175         rs6000_option_override_internal function.
176         (POWERPC_MASKS): Ditto.
177         (ISA_*_MASKS): Ditto.
178         (struct rs6000_ptt): Ditto.
179         (processor_target_table): Ditto.
180         (rs6000_cpu_name_lookup): Map cpu name to an index in
181         processor_target_table.
182         (rs6000_debug_reg_global): Print more information on processor
183         options for -mdebug=reg.
184         (rs6000_init_hard_regno_mode_ok): Add support for target
185         attributes and pragmas.  Merge all -mdebug=<xxx> fields into one.
186         Allow -mdebug=val1,val2.  Rename cmodel variable.
187         (rs6000_option_override_internal): Ditto.
188         (rs6000_option_override): Ditto.
189         (rs6000_handle_option): Ditto.
190         (rs6000_conditional_register_usage): Add debug trace message.
191         (struct rs6000_opt_mask): New for target attribute/pragma
192         support.
193         (rs6000_opt_masks): Ditto.
194         (struct rs6000_opt_var): Ditto.
195         (rs6000_opt_vars): Ditto.
196         (rs6000_previous_function): Ditto.
197
198         * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
199         wasn't already included.
200         (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
201         (enum processor_type): Ditto.
202         (rs6000_cpu): Ditto.
203         (enum fpu_type_t): Ditto.
204         (fpu_type): Ditto.
205         (enum rs6000_dependence_cost): Ditto.
206         (enum rs6000_nop_insertion): Ditto.
207         (enum group_termination): Ditto.
208         (rs6000_long_double_type_size): Ditto.
209         (rs6000_ieeequad): Ditto.
210         (rs6000_altivec_abi): Ditto.
211         (rs6000_spe_abi): Ditto.
212         (rs6000_spe): Ditto.
213         (rs6000_float_gprs): Ditto.
214         (rs6000_alignment_flags): Ditto.
215         (rs6000_sched_insert_nops): Ditto.
216         (enum rs6000_vector): Ditto.
217         (enum rs6000_abi): Ditto.
218         (rs6000_current_opt): Ditto.
219         (rs6000_debug_*): Delete.
220         (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
221         (TARGET_DEBUG*): Ditto.
222
223         * config/rs6000/rs6000-opts.h: New header file to define the enums
224         that are used in target variables that are now defined in
225         rs6000.opt.
226
227         * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
228         rs6000-opts.h.
229         (rs6000_sdata): Ditto.
230         (rs6000_abi_name): Delete.
231         (rs6000_sdata_name): Ditto.
232         (rs6000_tls_size_string): Ditto.
233
234 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
235
236         * common.opt (debug_struct_ordinary, debug_struct_generic): New
237         Variable entries.
238         * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
239         should_emit_struct_debug): Move from opts.c.
240         * flag-types.h (enum debug_struct_file): Move from opts.c.
241         * flags.h (should_emit_struct_debug): Remove.
242         (base_of_path): Declare.
243         (set_struct_debug_option): Add gcc_options parameter.
244         * optc-gen.awk, opth-gen.awk: Handle array variables.
245         * opts.c (enum debug_struct_file, debug_struct_ordinary,
246         debug_struct_generic): Remove.
247         (set_struct_debug_option): Add gcc_options parameter.
248         (base_of_path): Remove static.
249         (main_input_basename, main_input_baselength, matches_main_base,
250         dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
251         Remove.
252         * toplev.c (main_input_basename, main_input_baselength): Define
253         here.
254         * toplev.h (main_input_basename, main_input_baselength): Declare
255         here.
256
257 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
258
259         * common.opt (flag_instrument_functions_exclude_functions,
260         flag_instrument_functions_exclude_files): New Variable
261         definitions.
262         * flags.h (flag_instrument_functions_exclude_p): Don't declare.
263         * gimplify.c (char_p): Declare type and vectors.
264         (flag_instrument_functions_exclude_p): Moved from opts.c.  Make
265         static.
266         * opts.c (flag_instrument_functions_exclude_functions,
267         flag_instrument_functions_exclude_files): Remove.
268         (add_comma_separated_to_vector): Take void **.
269         (flag_instrument_functions_exclude_p): Move to gimplify.c.
270         (common_handle_option): Use options structure for
271         -finstrument-functions-exclude- options.
272
273 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
274
275         * doc/options.texi (Var): Document effects of Defer.
276         (Defer): Document.
277         * opt-functions.awk (var_type, var_set): Handle deferred options.
278         * opts-common.c (set_option): Handle CLVC_DEFER.
279         * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
280         fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
281         fstack-limit-symbol=): Mark as deferred.
282         * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
283         plugin.h.
284         (print_filtered_help): Don't report state of CLVC_DEFER options.
285         (common_handle_option): Move code for OPT_fcall_used_,
286         OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
287         OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
288         OPT_fstack_limit_symbol_ to opts-global.c.
289         (option_enabled, get_option_state): Handle CLVC_DEFER.
290         * opts.h: Include vec.h.
291         (enum cl_var_type): Add CLVC_DEFER.
292         (cl_deferred_option): Define type and vectors.
293         (handle_common_deferred_options): Declare.
294         * opts-global.c: New.
295         * toplev.c (toplev_main): Call handle_common_deferred_options
296         * Makefile.in (OPTS_H): Include $(VEC_H).
297         (OBJS-common): Include opts-global.o.
298         (opts.o): Update dependencies.
299         (opts-global.o): Add dependencies.
300
301 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
302
303         * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
304         to objc_declare_protocols.
305
306 2010-11-19  Richard Guenther  <rguenther@suse.de>
307
308         PR lto/45789
309         * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
310         IDENTIFIERs do not stream TREE_TYPE.
311         * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
312
313 2010-11-19  Christian Borntraeger  <borntraeger@de.ibm.com>
314
315         * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
316
317 2010-11-19  Jakub Jelinek  <jakub@redhat.com>
318
319         PR target/45870
320         * dwarf2out.c (const_ok_for_output_1): Don't complain about
321         non-delegitimized TLS UNSPECs.
322
323 2010-11-18  Jack Howarth  <howarth@bromo.med.uc.edu>
324             Ian Lance Taylor  <iant@google.com>
325
326         * config/darwin-c.c (darwin_additional_format_types): Export.
327
328 2010-11-18  Paul Koning  <ni1d@arrl.net>
329
330         * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
331         pointer.
332
333 2010-11-18  Paul Koning  <ni1d@arrl.net>
334
335         * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
336         * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
337         * config/pdp11/pdp11.opt (-mabshi): Delete.
338
339 2010-11-19  Mingjie Xing  <mingjie.xing@gmail.com>
340
341         * resource.h (struct resources): Fix typo in the comment.
342
343 2010-11-19  Uros Bizjak  <ubizjak@gmail.com>
344
345         PR target/46546
346         * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
347
348 2010-11-18  Richard Henderson  <rth@redhat.com>
349
350         PR middle-end/46515
351         * function.c (maybe_copy_prologue_epilogue_insn): Rename from
352         maybe_copy_epilogue_insn; handle prologue insns as well.
353         * rtl.h, cfglayout.c: Update for rename.
354         * recog.c (peep2_attempt): Copy prologue/epilogue data for
355         RTX_FRAME_RELATED_P insns.
356
357 2010-11-18  Jakub Jelinek  <jakub@redhat.com>
358
359         PR middle-end/46534
360         * builtins.c (fold_builtin_printf): Don't copy and modify string
361         before build_string_literal, instead modify what
362         build_string_literal returned.
363
364 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
365
366         PR c/33193
367         * c-typeck.c (build_unary_op): Call build_real_imag_expr for
368         REALPART_EXPR and IMAGPART_EXPR.
369
370 2010-11-18  Richard Guenther  <rguenther@suse.de>
371
372         PR tree-optimization/46172
373         * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
374         function.
375         (slpeel_tree_peel_loop_to_edge): Call it.
376
377 2010-11-18  Jeff Law  <law@redhat.com>
378
379         PR middle-end-optimization/46297
380         * postreload.c (reload_combine_note_store): Deal with embedded
381         side effects in MEM expressions.
382
383 2010-11-18  Richard Guenther  <rguenther@suse.de>
384
385         PR lto/45089
386         * dwarf2out.c (add_AT_die_ref): Work around LTO losing types
387         when checking is not enabled.
388
389 2010-11-18  Richard Guenther  <rguenther@suse.de>
390
391         PR lto/46525
392         * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
393         type leaders.
394         (gimple_register_canonical_type): Also cache the canoncial type
395         for non type leaders.
396
397 2010-11-18  Richard Guenther  <rguenther@suse.de>
398
399         * lto-wrapper.c (run_gcc): Fix -flto=N parsing.
400
401 2010-11-18  Alexander Monakov  <amonakov@ispras.ru>
402
403         PR middle-end/46518
404         * sel-sched-ir.c (init_expr): Use the correct type for
405         target_available.
406         * sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
407
408 2010-11-17  Joakim Tjernlund  <Joakim.Tjernlund@transmode.se>
409
410         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
411         as well as -mrelocatable at the same time.
412
413 2010-11-17  Quentin Neill  <quentin.neill.gnu@gmail.com>
414
415         PR target/46422
416         * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
417         Call the clz builtin.
418
419 2010-11-17  Dinar Temirbulatov <dtemirbulatov@gmail.com>
420             Steve Ellcey  <sje@cup.hp.com>
421
422         PR middle-end/31490
423         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
424         if section attribute used.
425
426 2010-11-17  Jan Hubicka  <jh@suse.cz>
427
428         * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
429         expand errno setting variant when optimizing for size.
430
431 2010-11-17  Eric Botcazou  <ebotcazou@adacore.com>
432
433         * postreload.c (reload_combine): Call control_flow_insn_p only once.
434         Reverse backward loop.  Fix formatting issues.
435
436 2010-11-17  Paolo Bonzini  <bonzini@gnu.org>
437
438         * c-parser.c (c_token_is_qualifier,
439         c_parser_next_token_is_qualifier): New.
440         (c_parser_declaration_or_fndef, c_parser_struct_declaration):
441         Improve error message on specs->tagdef_seen_p.
442         (c_parser_struct_or_union_specifier): Improve error recovery.
443         (c_parser_declspecs): Move exit condition on C_ID_ID early.
444         Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
445         using c_parser_next_token_is_qualifier; extend it to cover
446         a ctsk_tagdef typespec and !typespec_ok in general.
447
448 2010-11-17  Richard Guenther  <rguenther@suse.de>
449
450         * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
451         (gimple_mod_pow2_value_transform): Likewise.
452         (gimple_mod_subtract_transform): Likewise.
453
454 2010-11-17  Richard Guenther  <rguenther@suse.de>
455
456         PR lto/46504
457         * gimple.c (gimple_register_canonical_type): Make sure to only
458         make type leaders canonical types.
459
460 2010-11-17  Michael Matz  <matz@suse.de>
461
462         * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
463         TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
464         TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
465         TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
466         * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
467         (pass_build_ssa): ... but here.
468         * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
469         * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
470         * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
471         * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
472         * predict.c (rebuild_frequencies): Ditto.
473         * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
474         * emit-rtl.c (verify_rtl_sharing): Ditto.
475         * tree-cfgcleanup.c (repair_loop_structures): Ditto.
476         * tree-ssa-live.c (remove_unused_locals): Ditto.
477         * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
478         * tree-ssa.c (pass_early_warn_uninitialized,
479         execute_update_addresses_taken, pass_update_address_taken): Ditto.
480         * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
481         pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
482         * passes.c (pass_postreload, execute_todo): Ditto.
483         * tree-ssanames.c (pass_release_ssa_names): Ditto.
484
485 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
486
487         * doc/invoke.texi (-dy): Remove.
488         * langhooks-def.h (lhd_do_nothing_i): Don't declare.
489         (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
490         * langhooks.c (lhd_do_nothing_i): Remove.
491         * langhooks.h (lang_hooks.parse_file): Take no arguments.
492         * toplev.c (set_yydebug): Remove.
493         (compile_file): Update call to lang_hooks.parse_file.
494         (decode_d_option): Don't handle -dy.
495
496 2010-11-17  Jakub Jelinek  <jakub@redhat.com>
497
498         PR rtl-optimization/46440
499         * combine.c (update_cfg_for_uncondjump): When changing
500         an indirect jump into unconditional jump, remove BARRIERs
501         from bb's footer.
502
503 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
504
505         * opts.c (target_handle_option): Do not assert that loc ==
506         UNKNOWN_LOCATION.
507
508 2010-11-17  Jakub Jelinek  <jakub@redhat.com>
509             Richard Guenther  <rguenther@suse.de>
510
511         PR middle-end/45838
512         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
513         call_may_clobber_ref_p_1): Return true for __sync_* and some
514         OpenMP builtins that act as threading barriers.
515
516 2010-11-17  Richard Guenther  <rguenther@suse.de>
517
518         PR tree-optimization/46498
519         * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
520
521 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
522
523         * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
524         (xtensa_function_arg_boundary): ...this.
525         * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
526         thinko in declaration.
527         (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
528         number of parameters to picochip_function_arg_boundary.
529         (picochip_arg_advance): Likewise.
530
531 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
532
533         PR target/46512
534         * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
535         under check for type.
536
537 2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
538
539         * ifcvt.c (dead_or_predicable): Fix typo.
540
541 2010-11-16  Richard Henderson  <rth@redhat.com>
542
543         * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
544         * config/s390/s390.opt (mfused-madd): Remove.
545         * config/s390/s390.c (s390_rtx_costs): Handle FMA.
546         (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
547         * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
548         (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
549
550 2010-11-16  Richard Henderson  <rth@redhat.com>
551
552         * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
553         * config/rs6000/rs6000.opt (mfused-madd): Remove.
554         * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
555         (*altivec_vmaddfp_1): Remove.
556         (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
557         (altivec_mulv4sf3): Expand to FMA directly.
558         (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
559         (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
560         * config/rs6000/paired.md (paired_madds0): Use FMA.
561         (paired_madds1): Likewise.
562         (*paired_madd): Rename from paired_madd; use FMA.
563         (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
564         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
565         consider TARGET_FUSED_MADD wrt rs6000_recip_control.
566         (bdesc_3arg): Update CODE_FOR_* for pattern renames.
567         (rs6000_emit_madd): Use fma_optab.
568         (rs6000_emit_msub): Use fms_optab.
569         (rs6000_emit_nmsub): Expand the FMA pattern directly.
570         * config/rs6000/rs6000.md (FMA_F): New mode iterator.
571         (*fmasf4_fpr): Rename from fmasf4_fpr.
572         (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
573         (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
574         (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
575         (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
576         (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
577         (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
578         (*fmadf4_fpr): Rename from fmadf4_fpr.
579         (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
580         (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
581         (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
582         (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
583         (fmasf4, fmadf4): Macroize into...
584         (fma<FMA_F>4): ... here.
585         (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
586         (nfma<FMA_F>4, nfms<FMA_F>4): New.
587         * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
588         TARGET_FUSED_MADD.
589         * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
590         (*vsx_fmadd<mode>4_1): Remove.
591         (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
592         (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
593         (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
594         (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
595         (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
596         (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
597         (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
598
599 2010-11-16  Richard Henderson  <rth@redhat.com>
600
601         * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
602         (fmasf4, fnmadf4, fnmasf4): Likewise.
603         (unnamed plus+mult insns and splitters): Delete.
604
605 2010-11-16  Richard Henderson  <rth@redhat.com>
606
607         * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
608         (fnma<VSF>4): Rename from fnms_<VSF>.
609         (fms<VSF>4): Rename from fms_<VSF>.
610         (fma<VDF>4): Rename from fma_<VDF>.
611         (fms<VDF>4): Rename from fms_<VDF>.
612         (nfma<VDF>4): Rename from fnma_<VDF>.
613         (nfms<VDF>4): Rename from fnms_<VDF>.
614         (fnma<VDF>4, fnms<VDF>4): New expanders.
615         (floatunsdisf2): Update for the renames.
616         (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
617         * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
618
619 2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
620
621         PR rtl-optimization/46490
622         * combine.c (expand_compound_operation): Fix thinko.
623
624 2010-11-16  Richard Henderson  <rth@redhat.com>
625
626         PR target/46470
627         * recog.c (peep2_attempt): Convert frame-related info when possible.
628         (peep2_fill_buffer): Allow frame-related insns into the buffer.
629         (peephole2_optimize): Allow peep2_attempt to fail.
630
631 2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
632
633         PR rtl-optimization/46315
634         * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
635         * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
636         extracted from...
637         * dce.c (delete_corresponding_reg_eq_notes): ...here.  Rename into...
638         (remove_reg_equal_equiv_notes_for_defs): ...this.
639         (delete_unmarked_insns): Adjust to above renaming.
640         * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
641         referring to registers set in the insns being moved, if any.
642
643         * df-core.c (df_ref_dump): New function extracted from...
644         (df_refs_chain_dump): ...here.  Call it.
645         (df_regs_chain_dump): Likewise.
646         * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
647         * df-scan.c (df_scan_start_dump): Likewise.  Fix long line.
648
649 2010-11-16  Andreas Schwab  <schwab@linux-m68k.org>
650
651         PR rtl-optimization/46395
652         * postreload.c (reload_combine): Invalidate register use
653         information on all control flow insns.
654
655         * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
656         LABEL_REF in UNSPEC operand.
657
658 2010-11-16  Jan Hubicka  <jh@suse.cz>
659
660         * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
661         when !flag_toplevel_reorder do not remove unless variable is
662         COMDAT or ARTIFICIAL.
663         * ipa.c (varpool_can_remove_if_no_refs): ... here.
664         (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
665         * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
666         * varpool.c (decide_is_variable_needed): Do not handle visibility
667         issues.
668         (varpool_finalize_decl): Likewise.
669         (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
670         update outdated comment on DECL_RTL_SET_P check.
671
672 2010-11-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
673
674         * config/sol2.h (NM_FLAGS): Define.
675         * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
676         * doc/tm.texi: Update.
677
678 2010-11-16  Nick Clifton  <nickc@redhat.com>
679
680         * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
681         (msubsf4): Rename to fmssf4, and use fma.
682         (nmaddsf4): Rename to fnmasf4 and use fma.
683         (nmsubsf4): Rename to fnmssf4 and use fma.
684
685 2010-11-16  Joern Rennecke  <amylaar@spamcop.net>
686
687         PR target/44762
688         * config/score/score3.c (score3_return_in_memory): Constify arguments.
689         (score3_in_small_data_p, score3_function_value): Likewise.
690         (score3_trampoline_init): Use LCT_NORMAL.
691         (score3_print_operand): Initialize code as UNKNOWN.
692         * config/score/predicates.md (score_load_multiple_operation):
693         Remove unused variable.
694         (score_store_multiple_operation): Likewise.
695         * config/score/score7.c (score7_return_in_memory): Constify arguments.
696         (score7_in_small_data_p, score7_function_value): Likewise.
697         (score7_trampoline_init): Use LCT_NORMAL.
698         (score7_print_operand): Initialize code as UNKNOWN.
699         * config/score/score3.h (score3_return_in_memory): Update prototype.
700         (score3_in_small_data_p, score3_function_value): Likewise.
701         * config/score/score-protos.h (score_function_value): Likewise.
702         * config/score/score7.h (score7_return_in_memory): Update prototype.
703         (score7_in_small_data_p, score7_function_value): Likewise.
704         * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
705         (score_return_in_memory, score_pass_by_reference): Constify arguments.
706         (score_output_mi_thunk, score_function_prologue): Don't return a value.
707         (score_function_epilogue, score_in_small_data_p): Likewise.
708         (score_option_override, score_asm_trampoline_template): Likewise.
709         (score_trampoline_init, score_print_operand): Likewise.
710         (score_print_operand_address, score_prologue): Likewise.
711         (score_epilogue, score_call, score_call_value): Likewise.
712         (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
713         (score_function_arg_advance): Likewise. Make static.
714         (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
715         (score_function_arg, score_legitimate_address_p): Make static.
716         (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
717         * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
718         * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
719         Allow (W) == HOST_BITS_PER_WIDE_INT.
720
721         PR java/46386
722         * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
723         * config/t-pnt16-warn (java/constants.o-warn): Likewise.
724
725 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
726
727         * config/arc/arc.c: Delete pasto.
728         * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
729
730 2010-11-16  Anatoly Sokolov  <aesok@post.ru>
731
732         * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
733         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
734         * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
735         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
736         (mn10300_preferred_reload_class,
737         mn10300_preferred_output_reload_class): New functions.
738
739 2010-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
740
741         * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
742         (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
743         (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
744         (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
745
746 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
747
748         * builtins.c (std_gimplify_va_arg_expr): Use
749         targetm.calls.function_arg_boundary.
750         * function.c (assign_parms, locate_and_pad_parm): Likewise.
751         * calls.c (struct arg_data): Update comment.
752         * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
753         * target.def (function_arg_boundary): Define.
754         * targhooks.h (default_function_arg_boundary): Declare.
755         * targhooks.c (default_function_arg_boundary): Define.
756         * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
757         TARGET_FUNCTION_ARG_BOUNDARY.
758         (FUNCTION_ARG_BOUNDARY): Delete.
759         (TARGET_FUNCTION_ARG_BOUNDARY): New.
760         * doc/tm.texi: Regenerate.
761         * system.h (FUNCTION_ARG_BOUNDARY): Poison.
762         * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
763         * config/arc/arc.c (arc_function_arg_boundary): Define.
764         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
765         * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
766         * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
767         * config/arm/arm.c (arm_needs_doubleword_align): Make static.
768         (arm_function_arg_boundary): Define.
769         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
770         * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
771         * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
772         * config/frv/frv.c (frv_function_arg_boundary): Make static.
773         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
774         * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
775         * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
776         * config/i386/i386.c (ix86_function_arg_boundary): Make static.
777         (ix86_compat_function_arg_boundary): Take and return unsigned int.
778         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
779         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
780         * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
781         * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
782         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
783         * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
784         * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
785         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
786         * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
787         * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
788         * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
789         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
790         * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
791         * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
792         * config/mips/mips.c (mips_function_arg_boundary): Make static.
793         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
794         * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
795         * config/pa/pa.c (pa_function_arg_boundary): Define.
796         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
797         * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
798         * config/picochip/picochip-protos.h
799         (picochip_get_function_arg_boundary): Delete.
800         * config/picochip/picochip.c (picochip_get_function_arg_boundary):
801         Rename to...
802         (picochip_function_arg_boundary): ...this.  Make static.
803         (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
804         (picochip_arg_advance): Adjust.
805         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
806         * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
807         * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
808         * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
809         (rs6000_function_arg_boundary): ...this.  Make static.
810         (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
811         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
812         * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
813         * config/rx/rx.c (rx_function_arg_boundary): Define.
814         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
815         * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
816         * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
817         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
818         * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
819         * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
820         * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
821         (xtensa_function_arg_boundary): ...this.  Make static.
822         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
823
824 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
825
826         * expr.c (alignment_for_piecewise_move): New function.
827         (widest_int_mode_for_size): New function.
828         (move_by_pieces, move_by_pieces_ninsns): Call them.
829         (can_store_by_pieces, store_by_pieces_1): Likewise.
830
831 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
832
833         * gcc.c (char_p): Define.  Define a VEC of it.
834         (n_linker_options, n_assembler_options, n_preprocessor_options):
835         Delete.
836         (linker_options, assembler_options, preprocessor_options): Convert
837         to a VEC.
838         (add_preprocessor_option): Adjust.
839         (add_assembler_option): Adjust.
840         (add_linker_option): Adjust.
841         (do_specs_vec): New function.
842         (do_spec_1): Call it.  Adjust for new types.
843
844 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
845
846         * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
847         (sreal.o, statistics.o, stringpool.o): Likewise.
848
849 2010-11-16  Richard Guenther  <rguenther@suse.de>
850
851         PR tree-optimization/44545
852         * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
853         statements are not reassociatable.
854         (reassociate_bb): Likewise.
855
856 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
857
858         * bitmap.c: Delete unnecessary includes.
859         * ebitmap.c: Likewise.
860         * et-forest.c: Likewise.
861         * sreal.c: Likewise.
862         * statistics.c: Likewise.
863         * stringpool.c: Likewise.
864         * double-int.c: Add comment for inclusion of tm.h.
865
866 2010-11-16  Richard Guenther  <rguenther@suse.de>
867
868         * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
869         (visit_nary_op): ... this.
870         (visit_binary_op): Remove.
871         (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
872
873 2010-11-16  Richard Guenther  <rguenther@suse.de>
874
875         PR middle-end/45172
876         * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
877
878 2010-11-16  Nick Clifton  <nickc@redhat.com>
879
880         * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
881         record is packed.
882
883 2010-11-15  Richard Henderson  <rth@redhat.com>
884
885         * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
886         WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
887         DOT_PROD_EXPR.
888
889 2010-11-15  Richard Henderson  <rth@redhat.com>
890
891         * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
892         from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively.  Use
893         fma rtx_code.
894
895 2010-11-15  Richard Henderson  <rth@redhat.com>
896
897         * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
898         and *mulsubsf4 respectively.  Use fma rtx_code.
899
900 2010-11-15  Joseph Myers  <joseph@codesourcery.com>
901
902         * gcc.c: Include "vec.h".
903         (argbuf): Make into a VEC.
904         (argbuf_length, argbuf_index): Remove.
905         (alloc_args, clear_args, store_arg, execute, insert_wrapper,
906         do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
907         compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
908         * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
909         (gcc.o): Depend on $(VEC_H).
910
911 2010-11-15  Richard Henderson  <rth@redhat.com>
912
913         * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
914         via FMA if unsafe math.
915         (insert_var_expansion_initialization): Handle FMA.
916         (combine_var_copies_in_loop_exit): Likewise.
917
918 2010-11-15  Richard Henderson  <rth@redhat.com>
919
920         * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
921         * config/ia64/ia64.opt: Remove mfused-madd.
922         * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
923         * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
924         * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
925         * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
926         * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
927         * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
928         (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
929         (fmav2sf4): Rename from fpma; use FMA code.
930         (fmsv2sf4): Rename from fpms; use FMA code.
931         (fnmav2sf4): Rename from *fpnma; use FMA code.
932         * config/ia64/ia64.md (MODE_SDF): New iterator.
933         (suffix): New mode attribute.
934         (*maddsf4, *msubsf4, *nmaddsf4): Remove.
935         (fmssf4): Rename from *fmssf4.
936         (fnmasf4): Rename from *nfmasf4.
937         (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
938         (*nmadddf4, *nmadddf4_truncsf): Remove.
939         (fmsdf4): Rename from *fmsdf4.
940         (fnmadf4): Rename from *nfmadf4.
941         (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
942         (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
943         (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
944         (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
945         (fmsxf4): Rename from *fmsxf4.
946         (fnmaxf4): Rename from *nfmaxf4.
947         (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
948         (*fnmaxf_trunc_<MODE_SDF>): New.
949
950 2010-11-15  Jakub Jelinek  <jakub@redhat.com>
951
952         PR tree-optimization/46461
953         * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
954         a gimple val.
955
956 2010-11-15  Ian Lance Taylor  <iant@google.com>
957
958         * godump.c: New file.
959         * common.opt (fdump-go-spec=): New option.
960         * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
961         (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
962         (TYPE_SYMTAB_IS_DIE): Define.
963         (struct tree_type): Change GTY for symtab field to use
964         TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
965         to pick the union field.
966         * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
967         (dump_go_spec_init): Declare.
968         * toplev.c (process_options): Handle flag_dump_go_spec.
969         * debug.c: Include "tree.h".
970         (do_nothing_debug_hooks): Set tree_type_symtab_field.
971         * dwarf2out.c (dwarf2_debug_hooks): Likewise.
972         * dbxout.c (dbx_debug_hooks): Likewise.
973         (xcoff_debug_hooks): Likewise.
974         * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
975         * sdbout.c (sdb_debug_hooks): Likewise.  Do not define if
976         SDB_DEBUGGING_INFO is not defined.
977         * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
978         (Overall Options): Document -fdump-go-spec.
979         * Makefile.in (OBJS-common): Add godump.o.
980         (debug.o): Add dependency on $(TREE_H).
981         (godump.o): New target.
982         (GTFILES): Add $(srcdir)/godump.c.
983
984 2010-11-15  Jakub Jelinek  <jakub@redhat.com>
985
986         PR debug/46095
987         * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
988         marking r11 set RTX_FRAME_RELATED_P if offset is too large for
989         style < 0, add REG_FRAME_RELATED_EXPR.
990
991         PR debug/46387
992         * rtl.h (vt_equate_reg_base_value): New prototype.
993         * alias.c (vt_equate_reg_base_value): New function.
994         * var-tracking.c (vt_init_cfa_base): Use it.
995
996 2010-11-15  Jan Hubicka  <jh@suse.cz>
997             Diego Novillo  <dnovillo@google.com>
998
999         PR lto/41528
1000         * doc/lto.texi: Add.
1001         * doc/gccint.texi: Add reference to lto.texi.
1002         * doc/invoke.texi: Update user documentation for LTO.
1003         Move internal flags to lto.texi
1004
1005 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
1006
1007         * c-typeck.c (build_unary_op): Use
1008         objc_build_incr_expr_for_property_ref to build the pre/post
1009         increment/decrement of an Objective-C property ref, and skip the
1010         lvalue_or_else check in that case.
1011
1012 2010-11-15  Martin Jambor  <mjambor@suse.cz>
1013
1014         PR tree-optimization/46349
1015         * tree-sra.c (contains_bitfld_comp_ref_p): New function.
1016         (contains_vce_or_bfcref_p): Likewise.
1017         (sra_modify_assign): Use them.
1018
1019 2010-11-15  Richard Guenther  <rguenther@suse.de>
1020
1021         PR tree-optimization/46467
1022         * tree-ssa-structalias.c (do_structure_copy): Properly treat
1023         variables without subvars.
1024
1025 2010-11-15  Hariharan Sandanagobalane  <hariharan@picochip.com>
1026
1027         * config/picochip/picochip.c (file header): Picochip name change.
1028         * config/picochip/picochip.md (file header): Likewise.
1029         * config/picochip/predicates.md (file header): Likewise.
1030         * config/picochip/dfa_space.md (file header): Likewise.
1031         * config/picochip/dfa_speed.md (file header): Likewise.
1032         * config/picochip/picochip.h(file header): Likewise.
1033         * config/picochip/constraints.md (file header): Likewise.
1034         * config/picochip/picochip-protos.h (file header): Likewise.
1035         * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
1036         * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
1037         * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
1038         * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
1039         * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
1040         * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
1041         * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
1042         * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
1043         * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
1044         * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
1045         * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
1046         * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
1047         * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
1048         * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
1049
1050 2010-11-15  Richard Guenther  <rguenther@suse.de>
1051
1052         PR bootstrap/46474
1053         * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
1054
1055 2010-11-15  Nick Clifton  <nickc@redhat.com>
1056
1057         * config/stormy16/stormy16.c (direct_return): Do not generate a
1058         direct return for interrupt handlers.
1059
1060 2010-11-15  Joern Rennecke  <amylaar@spamcop.net>
1061
1062         * Makefile.in (tm.texi): Replace with rule for:
1063         ($(srcdir)/doc/tm.texi).
1064         (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
1065         $(srcdir)/doc/tm.texi .
1066         (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
1067         tm.texi .
1068
1069         PR target/46427
1070         * config/m32r/m32r.c: Remove unused variables frame_size and insn.
1071
1072         PR bootstrap/45444
1073         * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
1074         (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
1075
1076         PR target/46432
1077         * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
1078
1079 2010-11-15  Richard Guenther  <rguenther@suse.de>
1080
1081         PR lto/44150
1082         * lto-opts.c (lto_write_options): Write -fexceptions even if
1083         not set by the user.
1084
1085 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
1086
1087         PR c/46462
1088         * c-decl.c (declspecs_add_type): Make variables with error types
1089         integers.
1090         * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
1091         do not start a declaration before an Objective-C foreach.
1092         (c_parser_declaration_or_fndef): Improve recovery after unknown
1093         type name.
1094         (c_parser_for_statement): Hoist entrance of "foreach context"
1095         before ifs, add corresponding reset where it was missing.  Do
1096         not set objc_could_be_foreach_context for C.
1097
1098 2010-11-14  Eric Botcazou  <ebotcazou@adacore.com>
1099
1100         PR tree-optimization/45722
1101         * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
1102         this is a reference to a component.
1103         * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
1104         (ipa_note_param_call): Adjust comment.
1105
1106 2010-11-14  Richard Sandiford  <rdsandiford@googlemail.com>
1107
1108         * config/mips/mips.c (machine_function): Remove
1109         initialized_mips16_gp_pseudo_p.
1110         (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
1111         detect whether a pseudo has already been created.  Unconditionally
1112         create a new one if not.
1113         (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
1114         expanding to rtl.  Create a new pseudo otherwise, if allowed.
1115
1116 2010-11-13  Richard Earnshaw  <rearnsha@arm.com>
1117
1118         PR target/43440
1119         * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
1120         * tm.texi: Regenerated.
1121         * output.h (decode_reg_name_and_count): Declare.
1122         * varasm.c (decode_reg_name_and_count): New function.
1123         (decode_reg_name): Reimplement using decode_reg_name_and_count.
1124         * reginfo.c (fix_register): Use decode_reg_name_and_count and
1125         iterate over all regs used.
1126         * stmt.c (expand_asm_operands): Likewise.
1127         * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
1128         (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
1129         multiple machine registers.
1130
1131 2010-11-13  Eric Botcazou  <ebotcazou@adacore.com>
1132
1133         * stor-layout.c (place_union_field): Do not put location information
1134         on offset expressions.
1135         (place_field): Likewise.
1136         (finalize_record_size): Likewise on size expressions.
1137         (finalize_type_size): Likewise.
1138         (layout_type): Likewise.
1139
1140 2010-11-13  Alexandre Oliva  <aoliva@redhat.com>
1141
1142         PR debug/42889
1143         * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
1144         * df-core.c (df_set_bb_dirty_nonrl): Remove.
1145         * df.h (df_set_bb_dirty_nonlr): Likewise.
1146
1147 2010-11-13  Uros Bizjak  <ubizjak@gmail.com>
1148
1149         * config/mips/mips.md (call_internal): Pass curr_insn to
1150         mips_split_call.
1151         (call_internal_direct): Ditto.
1152         (call_value_internal): Ditto.
1153         (call_value_internal_direct): Ditto.
1154         (call_value_multiple_internal): Ditto.
1155         * config/mips/mips.c (mips_split_call): Do not copy
1156         CALL_INSN_FUNCTION_USAGE here.
1157
1158 2010-11-13  Mingming Sun  <mingm.sun@gmail.com>
1159
1160         * doc/invoke.texi (MIPS Options): Add loongson3a processor.
1161         * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
1162         (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
1163         * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
1164         (TUNE_LOONGSON_3A): Define.
1165         (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
1166         (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
1167         * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
1168         (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
1169         (mips_rtx_cost_data): Add Loongson-3A.
1170
1171 2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
1172
1173         * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
1174         switches.
1175
1176 2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
1177
1178         * dwarf2out.c (macinfo_entry): New struct.
1179         (output_comp_unit): Emit the section start label here and flag that we
1180         will emit an info section.
1181         (dwarf2out_start_source_file): Save data in a macinfo entry rather than
1182         emitting directly.
1183         (dwarf2out_end_source_file): Likewise.
1184         (dwarf2out_define): Likewise.
1185         (dwarf2out_undef): Likewise.
1186         (output_macinfo): New.
1187         (dwarf2out_init): Do not emit debug section switches here, allocate a
1188         vec for macinfo, when required.
1189         (dwarf2out_finish): First switch to debug_abbrev_section here.
1190         debug_line_section,  debug_macinfo_section, Likewise.
1191         Check that the pubtypes table has at least one unpruned entry before
1192         trying to emit it.
1193
1194 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
1195
1196         PR c/20385
1197         * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
1198         (c_parser_next_tokens_start_declaration): ... this.  Handle 2nd
1199         token lookahead.
1200         (c_parser_compound_statement_nostart, c_parser_label,
1201         c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
1202         (c_parser_declaration_or_fndef): Detect the case now matched by
1203         c_parser_next_tokens_start_declaration, give error and correct it.
1204
1205 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
1206
1207         * c-tree.h (enum c_typespec_kind): Add ctsk_none.
1208         (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
1209         with typespec_kind.
1210         * c-decl.c (build_null_declspecs): Initialize typespec_kind.
1211         (shadow_tag_warned, check_compound_literal_type): Adjust
1212         uses of tag_defined_p.
1213         (declspecs_add_type): Set typespec_kind.
1214         * c-parser.c (c_parser_declaration_or_fndef,
1215         c_parser_declspecs, c_parser_struct_declaration,
1216         c_parser_parameter_declaration, c_parser_type_name,
1217         c_parser_objc_diagnose_bad_element_prefix): Adjust uses
1218         of type_seen_p.
1219         * c-typeck.c (c_cast_expr): Use typespec_kind instead of
1220         tag_defined_p, pass ctsk_firstref through.
1221
1222 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
1223
1224         * c-format.c (enum format_specifier_kind, kind_descriptions): New.
1225         (struct format_wanted_type): Replace field "name" with "kind", add
1226         "format_start" and "format_length".
1227         (check_format_info_main): Fill in new fields.  Fill in
1228         FORMAT_WANTED_TYPES even for missing arguments.  Move checks
1229         after the final NUL outside the while loop.  Do not include
1230         width and precision modifiers in the format_start/format_length
1231         of the main format.
1232         (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
1233         arguments.  Compute WANTED_TYPE first so that format_type_warning
1234         can be called for missing arguments.  Adjust calls to
1235         format_type_warning.
1236         (format_type_warning): Fetch as much information as possible
1237         from format_wanted_type.  Adjust printing now that every
1238         warning has a "descr", as well as for missing argument warnings
1239         and to include % sign for format specifiers.
1240
1241 2010-11-12  Alexander Monakov  <amonakov@ispras.ru>
1242
1243         PR rtl-optimization/46204
1244         * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
1245         Update all callers.  Do not recompute topological order.  Adjust
1246         fallthrough edges following a degenerate conditional jump.
1247
1248 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1249
1250         * opts-common.c (control_warning_option): New.
1251         * opts.c (set_default_handlers): New.
1252         (decode_options): Use set_default_handlers and
1253         control_warning_option.
1254         (common_handle_option): Update call to enable_warning_as_error.
1255         (enable_warning_as_error): Take gcc_options parameters.  Use
1256         control_warning_option.
1257         * opts.h (set_default_handlers, control_warning_option): Declare.
1258
1259 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
1260
1261         * Makefile.in (OPTS_H): Define.
1262         (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
1263         c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
1264         cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
1265         opts-common.o, toplev.o, passes.o, matrix-reorg.o,
1266         ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
1267         * gcc.c (driver_handle_option): Take location_t parameter.
1268         (process_command, do_self_spec): Update calls to
1269         read_cmdline_option.
1270         * langhooks-def.h (lhd_handle_option): Take location_t parameter.
1271         * langhooks.c (lhd_handle_option): Take location_t parameter.
1272         * langhooks.h (handle_option): Take location_t parameter.
1273         * lto-opts.c (lto_reissue_options): Update call to set_option.
1274         * opts-common.c (handle_option): Make static.  Take location_t
1275         parameter and pass it to other functions.
1276         (handle_generated_option): Take location_t parameter and pass it
1277         to other functions.
1278         (read_cmdline_option): Take location_t parameter and pass it to
1279         other functions.  Use warning_at and error_at.
1280         (set_option): Take location_t parameter and pass it to other
1281         functions.
1282         * opts.c (common_handle_option): Take location_t parameter and
1283         pass it to other functions.
1284         (enable_warning_as_error): Make static.  Take location_t parameter
1285         and pass it to other functions.
1286         (lang_handle_option): Take location_t parameter and pass it to
1287         other functions.
1288         (target_handle_option): Take location_t parameter.
1289         (read_cmdline_options, maybe_default_option,
1290         maybe_default_options, default_options_optimization,
1291         decode_options): Take location_t parameter and pass it to other
1292         functions.
1293         * opts.h: Include input.h.
1294         (struct cl_option_handler_func, decode_options, set_option,
1295         handle_generated_option, read_cmdline_option): Take location_t
1296         parameters.
1297         (handle_option, enable_warning_as_error): Remove.
1298         * toplev.c (toplev_main): Update call to decode_options.
1299
1300 2010-11-12  Tobias Grosser  <grosser@fim.uni-passau.de>
1301
1302         * graphite-cloog-util.c (oppose_constraint,
1303         cloog_matrix_to_ppl_constraint,
1304         new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
1305         CLooG isl uses unsigned integers.  This triggered a warning.
1306
1307 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
1308
1309         PR target/46438
1310         * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
1311         (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
1312         (xtensa_function_arg_1): De-constify cum.
1313         (xtensa_expand_prologue): Use add_reg_note.
1314
1315         PR target/46435
1316         * config/cris/cris.c (saved_regs_mentioned): Delete.
1317         (cris_reload_address_legitimized): Cast itype to enum reload_type.
1318         Remove unused variable op0p.
1319         (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
1320         (cris_emit_movem_store): Use add_reg_note.
1321
1322         PR bootstrap/46456
1323         * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
1324
1325 2010-11-12  Eric Botcazou  <ebotcazou@adacore.com>
1326
1327         * function.c (expand_function_end): Set the locator of the prologue on
1328         the stack checking insns.
1329
1330 2010-11-12  Richard Henderson  <rth@redhat.com>
1331
1332         * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
1333         * config/xtensa/xtensa.opt (mfused-madd): Remove.
1334         * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
1335         MASK_FUSED_MADD.
1336         * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
1337         (fnmasf4): Rename from mulsubsf3; use fma.
1338
1339 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
1340             Richard Henderson  <rth@redhat.com>
1341
1342         PR target/46428
1343         * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
1344         * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
1345         comparison.
1346
1347 2010-11-12  Pat Haugen  <pthaugen@us.ibm.com>
1348
1349         * opts-common.c (decode_cmdline_option): Initialize separate_args.
1350
1351 2010-11-12  Jan Hubicka  <jh@suse.cz>
1352
1353         * doc/invoke.texi (early-inlining-insns): Update default.
1354         * params.def (early-inlining-insns): Default to 10.
1355
1356 2010-11-12  Olivier Hainque  <hainque@adacore.com>
1357
1358         * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
1359
1360 2010-11-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1361
1362         * config/mips/iris6.h [!IRIX_USING_GNU_LD]
1363         (SUPPORTS_INIT_PRIORITY): Define.
1364
1365 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
1366
1367         PR target/46430
1368         * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
1369         * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
1370         (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
1371         (avr_device_to_devicelib): Likewise.
1372         * config/avr/avr.md (zero_extendqihi2): Put variable declarations
1373         into block.
1374         (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
1375         (zero_extendhidi2, zero_extendsidi2): Likewise.
1376         * config/avr/avr.c (avr_num_arg_regs): Constify type.
1377         (avr_return_addr_rtx): De-constify tem.
1378         (avr_rotate_bytes): Move declarations to start of block.
1379         Don't use variable length array.  Put nested if/else into block.
1380
1381         PR rtl-optimization/46433
1382         * var-tracking.c: Include tm_p.h .
1383
1384         PR bootstrap/44756
1385         PR build/44767
1386         * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
1387         should be unsigned.
1388         (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
1389         * doc/tm.texi: Regenerate.
1390
1391         PR target/46412
1392         * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
1393         * config/bfin/bfin.c: Include sel-sched.h .
1394         (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
1395         (expand_interrupt_handler_prologue): Remove unused variable insn.
1396         (bfin_load_pic_reg): Likewise.
1397         (bfin_rtx_costs): Make code / outer_code variables of type
1398         enum rtx_code, copied from re-named parameters.
1399         (bfin_local_alignment): Change align argument and return type
1400         to unsigned.
1401         (bfin_adjust_cost): Remove unused variable insn_type.
1402         Declare variables at start of block.
1403         (struct loop_info): Rename to...
1404         (struct loop_info_d).
1405         (workaround_rts_anomaly): Change type of icode to int.
1406         (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
1407         with int-typed variable.
1408         (note_np_check_stores): Likewise.
1409         (trapping_loads_p): Remove unused variable pat.
1410         (bfin_expand_binop_builtin): Use expand_normal.
1411         (bfin_expand_unop_builtin): Likewise.
1412         (bfin_expand_builtin): Likewise.  Set tmode before use.
1413
1414         PR middle-end/44769
1415         * final.c (split_double): Don't use BITS_PER_WORD directly in
1416         shift count.
1417
1418         PR target/46431
1419         * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
1420         assignment.
1421
1422         PR target/46450
1423         * config/stormy16/stormy16.c (xstormy16_expand_prologue):
1424         Use add_reg_note.
1425         (xstormy16_function_arg): Dereference cum.
1426         (xstormy16_expand_builtin): Use expand_normal.
1427         Change type of omode to enum machine_mode.
1428         (combine_bnp): Rename and to and_insn.
1429
1430         PR target/46437
1431         * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
1432         localreg.
1433
1434 2010-11-12  Eric Botcazou  <ebotcazou@adacore.com>
1435
1436         PR debug/46375
1437         * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
1438
1439 2010-11-11  Rodrigo Rivas Costa  <rodrigorivascosta@gmail.com>
1440
1441         PR lto/46376
1442         * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
1443
1444 2010-11-11  Nathan Froyd  <froydnj@codesourcery.com>
1445
1446         PR c/44782
1447         * common.opt (fmax-errors=): New option.
1448         * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
1449         * diagnostic.h (struct diagnostic_context): Add max_errors field.
1450         * diagnostic.c (diagnostic_initialize): Initialize it.
1451         (diagnostic_action_after_output): Exit if more than max_errors
1452         have been output.
1453         * doc/invoke.texi (Warning Options): Add -fmax-errors.
1454         (-fmax-errors): Document.
1455
1456 2010-11-11  Richard Henderson  <rth@redhat.com>
1457
1458         * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
1459
1460 2010-11-11  Richard Henderson  <rth@redhat.com>
1461
1462         * config/fused-madd.opt: New file.
1463         * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
1464         * config/i386/i386.c (ix86_extra_costs): Handle FMA.
1465         (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
1466         * config/i386/i386.opt (mfused-madd): Remove.
1467         * config/i386/sse.md (split_fma): Remove.
1468         (split_fms, split_fnma, split_fnms): Remove.
1469
1470 2010-11-12  Jakub Jelinek  <jakub@redhat.com>
1471
1472         PR target/46088
1473         * config/i386/i386.md (*ashl<mode>3_cconly,
1474         *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
1475         change nonimmediate_operand predicate to register_operand.
1476
1477 2010-11-11  Paolo Bonzini  <bonzini@gnu.org>
1478
1479         * Makefile.in (gengtype-lex.c): Include bconfig.h first.
1480
1481 2010-11-11  Jan Hubicka  <jh@suse.cz>
1482
1483         * opts.c (finish_options): Do not error on -flto-partition alone.
1484
1485         * doc/invoke.texi (-fwhopr): Merge into -flto section.
1486         (-flto-partition): Document none.
1487         * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
1488         * lto-wrapper.c: Update comment.
1489         (run_gcc): Update LTO option parsing.
1490         * opts.c (finish_options): add support -flto-partition=none
1491         (common_handle_option): Remove fwhopr.
1492         * common.opt: Turn fwhopr into flto.
1493         * collect2.c (main): Update option handling.
1494         * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
1495         * ipa-split.c (execute_split_functions): Remove flag_whopr.
1496         * ipa.c (function_and_variable_visibility): Remove flag_whopr.
1497         * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
1498         * varpool.c (decide_is_variable_needed): Remove flag_whopr.
1499
1500 2010-11-11  Jan Hubicka  <jh@suse.cz>
1501
1502         PR tree-optimize/40436
1503         * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
1504         (eliminated_by_inlining_prob): ... this one; return 50% probability
1505         for SRA.
1506         (estimate_function_body_sizes): Update use of
1507         eliminated_by_inlining_prob; estimate static function size
1508         for 2 instructions.
1509
1510 2010-11-11  Joern Rennecke  <amylaar@spamcop.net>
1511
1512         PR target/44749
1513         * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
1514         declare.  Change type of argument four to type int.
1515         (mep_secondary_input_reload_class): Returns enum reg_class.
1516         (mep_secondary_output_reload_class): Likewise.
1517         (mep_function_value): Change types of arguments to cont_tree.
1518         * config/mep/mep.c (mep_legitimize_reload_address): Change type of
1519         argument four to type int.
1520         (mep_secondary_input_reload_class): Returns enum reg_class.
1521         (mep_secondary_output_reload_class): Likewise.
1522         (mep_function_value): Change types of arguments to cont_tree.
1523         * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
1524         mep_regno_reg_class to enum reg_class.
1525
1526 2010-11-11  Richard Henderson  <rth@redhat.com>
1527
1528         * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
1529         that the target has the exact fma operation that we matched.
1530
1531 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
1532
1533         * reginfo.c (fix_register): Avoid inserting English word in
1534         diagnostic sentence.  Use %qs for quoting and %'.
1535
1536 2010-11-11  H.J. Lu  <hongjiu.lu@intel.com>
1537
1538         * config/i386/driver-i386.c (host_detect_local_cpu): Support
1539         Intel processor family 6, model 0x2c.
1540
1541 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
1542
1543         * opts.c (warning_as_error_callback,
1544         register_warning_as_error_callback): Remove.
1545         (enable_warning_as_error): Don't use warning_as_error_callback.
1546         * opts.h (register_warning_as_error_callback): Remove.
1547
1548 2010-11-11  Richard Henderson  <rth@redhat.com>
1549
1550         * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
1551         in between the MULT and the PLUS/MINUS.
1552
1553 2010-11-11  Jakub Jelinek  <jakub@redhat.com>
1554
1555         PR middle-end/46388
1556         * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
1557         BLKmode mode for it.
1558         (expand_expr_real_1): Similarly for op0.
1559
1560 2010-11-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1561
1562         * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
1563         Document optional target selector.
1564
1565 2010-11-11  Dave Korn  <dave.korn.cygwin@gmail.com>
1566
1567         * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
1568         assembling high and low parts of size if not using 32-bit HWINT; else
1569         use DECL_SIZE_UNITS, not DECL_SIZE.
1570
1571 2010-11-11  Martin Jambor  <mjambor@suse.cz>
1572
1573         PR tree-optimization/46383
1574         * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
1575         offsets.
1576         (compute_complex_ancestor_jump_func): Likewise.
1577         * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
1578
1579 2010-11-11  Jakub Jelinek  <jakub@redhat.com>
1580
1581         PR debug/46150
1582         * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
1583         true if expr1->hash != expr2->hash.
1584
1585 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1586
1587         * cfgloop.c (verify_loop_structure): Use %' in diagnostics.  Start
1588         diagnostics with lowercase letters.
1589         * cgraphunit.c (verify_cgraph_node): Start diagnostics with
1590         lowercase letters.
1591         * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
1592         diagnostic.
1593         * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1594         * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
1595         lowercase letters.
1596         * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1597         Remove trailing ' ' from diagnostic.
1598         * config/avr/avr.c (print_operand_address): Start diagnostic with
1599         a lowercase letter and remove trailing '.'.
1600         * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
1601         * config/bfin/bfin.c (bfin_option_override): Start diagnostics
1602         with lowercase letters.  Use %' in diagnostics.  Remove trailing
1603         '.' from diagnostics.
1604         (bfin_handle_longcall_attribute): Use %' in diagnostic.
1605         * config/cris/cris.c (cris_split_movdx,
1606         cris_expand_pic_call_address): Start diagnostics with lowercase
1607         letters.
1608         (cris_asm_output_label_ref): Use %' in diagnostic.
1609         * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
1610         letter.
1611         * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
1612         lowercase letter.
1613         * config/darwin-c.c (version_as_macro): Start diagnostic with a
1614         lowercase letter.
1615         * config/darwin-driver.c (darwin_default_min_version): Use %' in
1616         diagnostic.
1617         * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
1618         diagnostic.
1619         * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1620         * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
1621         diagnostics.
1622         * config/i386/i386.c (ix86_option_override_internal): Write
1623         diagnostic as a single sentence without trailing '.'.  Use %' in
1624         diagnostics.
1625         (ix86_function_sseregparm, classify_argument): Start diagnostics
1626         with lowercase letters.
1627         (ix86_expand_prologue): Use %' in diagnostic.
1628         * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
1629         diagnostic.
1630         * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
1631         lowercase letter.
1632         * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
1633         diagnostic.
1634         * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1635         * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
1636         '`' in help text.
1637         * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
1638         lowercase letter.
1639         * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
1640         lowercase letters.
1641         * config/microblaze/microblaze.c (microblaze_handle_option):
1642         Remove trailing '.' from diagnostic.
1643         (print_operand): Start diagnostic with a lowercase letter.
1644         * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
1645         lowercase letters.  Avoid '`' in diagnostics.
1646         * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
1647         lowercase letters.  Avoid '`' in diagnostics.
1648         * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
1649         lowercase letters.  Avoid '`' in diagnostics.
1650         * config/picochip/picochip.c (picochip_option_override,
1651         picochip_emit_save_register, picochip_function_arg,
1652         picochip_output_label, picochip_output_internal_label,
1653         picochip_asm_output_opcode, picochip_output_cbranch,
1654         picochip_output_compare, picochip_output_branch,
1655         picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
1656         diagnostics. Start diagnostics with lowercase letters.  Use %' in
1657         diagnostics.
1658         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
1659         "SPE" capitalization.  Start diagnostic with a lowercase letter.
1660         (rs6000_handle_option): Start diagnostics with lowercase letters.
1661         (def_builtin): Remove trailing '.' from diagnostic.
1662         (rs6000_savres_routine_name): Start diagnostic with a lowercase
1663         letter.
1664         * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
1665         diagnostic.
1666         * config/rx/rx.c (rx_handle_option): Start diagnostic with a
1667         lowercase letter.
1668         * config/s390/s390.c (s390_option_override) Start diagnostics with
1669         lowercase letters.  Use %' in diagnostic.
1670         * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
1671         lowercase letters.
1672         * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
1673         diagnostic.
1674         * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
1675         diagnostic.
1676         * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
1677         diagnostic.
1678         * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
1679         * config/spu/spu.c (spu_option_override): Start diagnostics with
1680         lowercase letters.  Use %qs for quoting in diagnostics.
1681         (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
1682         Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
1683         * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
1684         from diagnostic.
1685         * convert.c (convert_to_integer, convert_to_vector): Use %' in
1686         diagnostics.
1687         * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
1688         letter and use "cannot" spelling.
1689         * expmed.c (extract_fixed_bit_field): Start diagnostic with
1690         lowercase letter and format as a single sentence without '.'.
1691         * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
1692         Use %' in diagnostics.
1693         * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
1694         Use %' in diagnostics.
1695         * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
1696         Use %' in diagnostics.
1697         * graph.c (clean_graph_dump_file): Use %' in diagnostic.
1698         * graphite-poly.c (graphite_read_scop_file): Start diagnostics
1699         with lowercase letters and remove tailing '.' and '\n'.
1700         * lto-cgraph.c (input_profile_summary): Start diagnostic with
1701         lowercase letter and remove trailing '.'.
1702         (input_cgraph): Start diagnostics with lowercase letters and
1703         remove trailing '\n'.
1704         * opts.c (finish_options, common_handle_option): Start diagnostics
1705         with lowercase letters and remove trailing '.'.  Fix typo in
1706         diagnostic.
1707         * passes.c (position_pass): Start diagnostic with lowercase letter.
1708         * plugin.c (add_new_plugin, parse_plugin_arg_opt,
1709         register_callback, try_init_one_plugin): Start diagnostics with
1710         lowercase letters.
1711         * reload1.c (spill_failure): Use %' in diagnostic.
1712         (gen_reload): Start diagnostic with a lowercase letter.
1713         * stor-layout.c (place_field): Start diagnostic with a lowercase
1714         letter.
1715         * toplev.c (open_auxiliary_file): Use %' in diagnostic.
1716         * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
1717         verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
1718         Start diagnostics with lowercase letters, remove trailing '.' and
1719         use %' in diagnostics.
1720         * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
1721         (verify_ssa): Don't split diagnostic across two error calls.
1722         Spell out "number" and use %' in diagnostic.
1723         * value-prof.c (visit_hist, check_counter): Start diagnostics with
1724         lowercase letters.
1725
1726 2010-11-10  Uros Bizjak  <ubizjak@gmail.com>
1727
1728         PR middle-end/46419
1729         * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
1730         (_mm_cvtpu16_ps): Ditto.
1731
1732 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1733
1734         * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
1735         warn_larger_than, larger_than_size, warn_frame_larger_than,
1736         frame_larger_than_size, flag_gen_aux_info, flag_shlib,
1737         default_visibility, flag_tls_default): New Variable declarations.
1738         (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
1739         falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
1740         (v): Declare as Common and document here.
1741         * flags.h (default_visibility, flag_generate_lto,
1742         warn_larger_than, larger_than_size, warn_frame_larger_than,
1743         frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
1744         flag_shlib, flag_excess_precision_cmdline): Remove.
1745         (set_Wstrict_aliasing): Update prototype.
1746         * gcc.c (verbose_flag): Remove.
1747         (driver_handle_option): Add diagnostic_context parameter.  Don't
1748         handle OPT_v explicitly here.  Set verbose_flag to 1 rather than
1749         incrementing it.
1750         * opts-common.c (handle_option): Pass dc to handler.
1751         * opts.c (warn_larger_than, larger_than_size,
1752         warn_frame_larger_than, frame_larger_than_size,
1753         default_visibility): Remove.
1754         (common_handle_option): Add diagnostic_context parameter.
1755         (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
1756         gcc_options parameters.
1757         (lang_handle_option, target_handle_option, read_cmdline_options,
1758         decode_options): Add diagnostic_context parameters.
1759         (finish_options): Access option state through opts pointer where
1760         possible.
1761         (common_handle_option): Access option state through opts pointer
1762         where possible.  Do not set local static variable verbose.  Do not
1763         explicitly handle OPT_v, OPT_Wstrict_aliasing_,
1764         OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
1765         OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
1766         OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
1767         OPT_fwhopr_.  Do not explicitly set .opt file variables for
1768         OPT_aux_info or OPT_pedantic_errors.  Use dc for diagnostic context.
1769         (set_Wstrict_aliasing): Add gcc_options parameter.
1770         * opts.h (struct cl_option_handler_func): Add diagnostic_context
1771         parameter to handler.
1772         (decode_options): Add diagnostic_context parameter.
1773         * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
1774         asm_file_name, flag_generate_lto, flag_gen_aux_info,
1775         aux_info_file_name, flag_shlib, flag_tls_default,
1776         flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
1777         (toplev_main): Pass global_dc to decode_options.
1778         * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
1779         aux_info_file_name, asm_file_name): Remove.
1780         * tree.h (flag_tls_default): Remove.
1781
1782 2010-11-10  Eric Botcazou  <ebotcazou@adacore.com>
1783
1784         * config/sparc/sparc.c (sparc_delegitimize_address): New function.
1785         (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
1786
1787 2010-11-10  Quentin Neill  <quentin.neill.gnu@gmail.com>
1788
1789         * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
1790         (x86_64-*-*): Likewise.
1791         * config/i386/cpuid.h: Define TBM bit.
1792         * config/i386/driver-i386.c (host_detect_local_cpu): Define
1793         and set has_tbm.
1794         * config/i386/i386-c.c (ix86_target_macros_internal): Check
1795         isa_flag for TBM.
1796         * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
1797         (OPTION_MASK_ISA_TBM_UNSET): New.
1798         (ix86_handle_option): Handle -mtbm.
1799         (isa_opts): Add -mtbm.
1800         (enum pta_flags): Add PTA_TBM.
1801         (ix86_option_override_internal): Add TBM support.
1802         (ix86_valid_target_attribute_inner_p): Handle -mtbm.
1803         (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
1804         (IX86_BUILTIN_BEXTRI64): Likewise.
1805         (bdesc_args): Add TBM intrinsics.
1806         (ix86_expand_builtin): Add TBM specific case.
1807         * config/i386/i386.h (TARGET_TBM): New for TBM.
1808         * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
1809         (tbm_bextri_<mode>): Likewise.
1810         (*tbm_blcfill_<mode>): Likewise.
1811         (*tbm_blci_<mode>): Likewise.
1812         (*tbm_blcic_<mode>): Likewise.
1813         (*tbm_blcmsk_<mode>): Likewise.
1814         (*tbm_blcs_<mode>): Likewise.
1815         (*tbm_blsfill_<mode>): Likewise.
1816         (*tbm_blsic_<mode>): Likewise.
1817         (*tbm_t1mskc_<mode>): Likewise.
1818         (*tbm_tzmsk_<mode>): Likewise.
1819         * config/i386/i386.opt: Add -mtbm.
1820         * config/i386/tbmintrin.h (__bextri_u32): New.
1821         (__blcfill_u32): Likewise.
1822         (__blci_u32): Likewise.
1823         (__blcic_u32): Likewise.
1824         (__blcmsk_u32): Likewise.
1825         (__blcs_u32): Likewise.
1826         (__blsfill_u32): Likewise.
1827         (__blsic_u32): Likewise.
1828         (__t1mskc_u32): Likewise.
1829         (__tzmsk_u32): Likewise.
1830         (__bextri_u64): Likewise.
1831         (__blcfill_u64): Likewise.
1832         (__blci_u64): Likewise.
1833         (__blcic_u64): Likewise.
1834         (__blcmsk_u64): Likewise.
1835         (__blcs_u64): Likewise.
1836         (__blsfill_u64): Likewise.
1837         (__blsic_u64): Likewise.
1838         (__t1mskc_u64): Likewise.
1839         (__tzmsk_u64): Likewise.
1840         * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
1841         * doc/invoke.texi: Document -mtbm.
1842         * doc/extend.texi: Document TBM built-in functions.
1843
1844 2010-11-10  Quentin Neill  <quentin.neill.gnu@gmail.com>
1845
1846         * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
1847         (x86_64-*-*): Likewise.
1848         * config/i386/cpuid.h: Define BMI bit.
1849         * config/i386/driver-i386.c (host_detect_local_cpu): Define
1850         and set has_bmi.
1851         * config/i386/i386-c.c (ix86_target_macros_internal): Check
1852         isa_flag for BMI.
1853         * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
1854         (OPTION_MASK_ISA_BMI_UNSET): New.
1855         (ix86_handle_option): Handle -mbmi.
1856         (isa_opts): Add -mbmi.
1857         (enum pta_flags): Add PTA_BMI.
1858         (ix86_option_override_internal): Add BMI support.
1859         (ix86_valid_target_attribute_inner_p): Handle -mbmi.
1860         (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
1861         (IX86_BUILTIN_BEXTR64): Likewise.
1862         (IX86_BUILTIN_CTZS): Likewise.
1863         (bdesc_args): Add BMI intrinsics.
1864         (ix86_expand_args_builtin): Add BMI specific cases.
1865         * config/i386/i386.h (TARGET_BMI): New for BMI.
1866         (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
1867         (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
1868         * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
1869         (UNSPEC_TZCNT): Likewise.
1870         (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
1871         (bmi_andn_<mode>): New for BMI.
1872         (bmi_bextr_<mode>): Likewise.
1873         (bmi_blsi_<mode>): Likewise.
1874         (bmi_blsmsk_<mode>): Likewise.
1875         (bmi_blsr_<mode>): Likewise.
1876         * config/i386/i386.opt: Add -mbmi.
1877         * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
1878         * config/i386/bmiintrin.h (__lzcnt_u16): New.
1879         (__tzcnt_u16): Likewise.
1880         (__andn_u32): Likewise.
1881         (__bextr_u32): Likewise.
1882         (__blsi_u32): Likewise.
1883         (__blsmsk_u32): Likewise.
1884         (__blsr_u32): Likewise.
1885         (__lzcnt_u32): Likewise.
1886         (__tzcnt_u32): Likewise.
1887         (__andn_u64): Likewise.
1888         (__bextr_u64): Likewise.
1889         (__blsi_u64): Likewise.
1890         (__blsmsk_u64): Likewise.
1891         (__blsr_u64): Likewise.
1892         (__lzcnt_u64): Likewise.
1893         (__tzcnt_u64): Likewise.
1894         * doc/invoke.texi: Document -mbmi and -mno-bmi.
1895         * doc/extend.texi: Document BMI built-in functions.
1896
1897 2010-11-10  Jan Hubicka  <jh@suse.cz>
1898
1899         PR tree-optimize/46228
1900         * doc/invoke.texi (comdat-sharing-probability): Document.
1901         * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
1902         * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
1903
1904 2010-11-10  Jan Hubicka  <jh@suse.cz>
1905
1906         PR tree-optimize/46228
1907         * cgraph.c (cgraph_propagate_frequency): Fix typo.
1908
1909 2010-11-10  H.J. Lu  <hongjiu.lu@intel.com>
1910
1911         PR tree-optimization/46414
1912         * tree-inline.c (estimate_move_cost): Check preferred vector
1913         mode for vector type.
1914
1915 2010-11-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1916
1917         * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
1918
1919 2010-11-10  Sebastian Pop  <sebastian.pop@amd.com>
1920
1921         PR tree-optimization/45971
1922         * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
1923         for phi nodes analyzable by scev.
1924
1925 2010-11-10  Richard Guenther  <rguenther@suse.de>
1926
1927         PR tree-optimization/44964
1928         * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
1929
1930 2010-11-10  Martin Jambor  <mjambor@suse.cz>
1931
1932         PR tree-optimization/46351
1933         PR tree-optimization/46377
1934         * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
1935         aggregate bit-fields.
1936
1937 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
1938
1939         * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1940         * doc/tm.texi: Regenerate.
1941         * opts-common.c (tm.h): Don't include.
1942         (target_option_translations): Remove.
1943         (decode_cmdline_options_to_array): Don't handle translating options.
1944         * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
1945         * config/darwin-driver.c: Don't condition includes on
1946         CROSS_DIRECTORY_STRUCTURE.
1947         (darwin_default_min_version): Make static.
1948         (darwin_driver_init): New.  Call darwin_default_min_version if not
1949         CROSS_DIRECTORY_STRUCTURE.
1950         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1951         (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
1952         (ASM_SPEC): Add %{static}.
1953         (darwin_default_min_version): Don't declare.
1954         (darwin_driver_init): Declare.
1955         (GCC_DRIVER_HOST_INITIALIZATION): Define to call
1956         darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
1957         * config/darwin.opt (all_load, allowable_client,
1958         arch_errors_fatal, bind_at_load, bundle, bundle_loader,
1959         dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
1960         exported_symbols_list, filelist, findirect-virtual-calls,
1961         flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
1962         framework, fterminated-vtables, gfull, gused, image_base, init,
1963         install_name, multi_module, multiply_defined,
1964         multiply_defined_unused, no_dead_strip_inits_and_terms,
1965         seg_addr_table, seg_addr_table_filename, segaddr,
1966         segs_read_only_addr, segs_read_write_addr, single_module,
1967         umbrella, unexported_symbols_list, weak_reference_mismatches,
1968         Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
1969         Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
1970         Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
1971         Zno_dead_strip_inits_and_terms, Zsingle_module): New.
1972         * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
1973         (ASM_SPEC): Add %{static}.
1974         (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
1975         * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1976         (DRIVER_SELF_SPECS): Handle options formerly in
1977         TARGET_OPTION_TRANSLATE_TABLE.
1978         * config/mep/mep.opt (mfar): New.
1979         * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1980         (DRIVER_SELF_SPECS): Define.  Handle options formerly in
1981         TARGET_OPTION_TRANSLATE_TABLE.
1982         * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
1983         (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
1984         * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
1985         ffix-and-continue, findirect-data): New.
1986         * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
1987         * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
1988         (mnofpu): Define mask and use Report here.
1989
1990 2010-11-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1991
1992         * config/s390/s390.c (s390_emit_prologue): Report the stack
1993         size if -fstack-usage is used.
1994
1995 2010-11-10  Richard Guenther  <rguenther@suse.de>
1996
1997         PR tree-optimization/46398
1998         * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
1999
2000 2010-11-10  Joern Rennecke  <amylaar@spamcop.net>
2001
2002         PR target/44760
2003         * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
2004         (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
2005         GP_REG_OR_PSEUDO_STRICT_P.
2006         * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
2007         unexpected alternative.
2008         (*movsf_internal): Likewise.
2009         (indirect_jump): Replace call to non-existant function with call to
2010         internal_error.
2011         (tablejump): Likewise.
2012         * config/iq2000/iq2000.c: Include df.h .
2013         (iq2000_function_arg_advance): Use CONST_CAST2.
2014         (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
2015         (iq2000_can_eliminate): Call leaf_function_p instead of testing for
2016         a non-zero function address.
2017         (iq2000_initial_elimination_offset): Add gcc_unreachable for
2018         unexpected value of FROM.
2019         (symbolic_expression_p): Delete.
2020         (iq2000_function_value): Constify func.
2021         (expand_one_builtin): Use expand_normal.
2022         (iq2000_print_operand): Don't print VALUE if calculating it failed.
2023
2024         PR rtl-optimization/44764
2025         * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
2026
2027         PR target/46407
2028         * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
2029         * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
2030         with ATTRIBUTE_UNUSED.
2031         (valid_psw_flag): Constify parameter which.
2032         (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
2033
2034         PR target/46415
2035         * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
2036         (mmix_dbx_register_number): Likewise.
2037         * config/mmix/mmix.c: Include df.h .
2038         (mmix_local_alignment): Change argument basic_align and return type
2039         to unsigned.
2040         (mmix_dbx_register_number): Change argument and return type to
2041         unsigned.
2042         (mmix_expand_prologue): Use add_reg_note.
2043
2044         PR target/46417
2045         * config/spu/spu.c (spu_expand_insv): Remove unused variables.
2046         (spu_split_store): Use aform.
2047         (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
2048
2049 2010-11-10  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2050
2051         PR/46268
2052         * doc/gty.texi (GTY Options): Clarify that variable_size produces
2053         allocators taking size in bytes, compare with length option.  Add
2054         size calculation example.
2055         (Invoking the garbage collector): Ensure that sentences are
2056         followed by two spaces.  Describe that pointer fields must be
2057         initialized at ggc_collect call.
2058         (Troubleshooting): New section.
2059
2060 2010-11-09  Jan Hubicka  <jh@suse.cz>
2061
2062         PR tree-optimization/40436
2063         * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
2064         * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
2065         normal instructions; be sure bultin is not implemented in this file;
2066         compute non-zero return cost.
2067         (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
2068         * tree-inline.h (eni_weights_d): Add return cost.
2069
2070 2010-11-09  Joseph Myers  <joseph@codesourcery.com>
2071
2072         * c-parser.c (c_parser_struct_declaration): Handle declaration
2073         specifiers followed by CPP_CLOSE_BRACE.
2074
2075 2010-11-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
2076
2077         * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
2078         split occurs before reload, and we allocate memory at the time of
2079         the split, not during expansion.  Add attributes.
2080         (floatsi<mode>2_lfiwax_mem): Ditto.
2081         (floatunssi<mode>2_lfiwzx): Ditto.
2082         (floatunssi<mode>2_lfiwzx_mem): Ditto.
2083         (floatsidf2): Ditto.
2084         (floatunssisf2): Ditto.
2085         (floatunssidf2): Ditto.
2086         (fix_trunc<mode>si2): Ditto.
2087         (fix_trunc<mode>si2_stfiwx): Ditto.
2088         (fix_trunc<mode>si2_internal): Ditto.
2089         (fix_trunc<mode>si2): Ditto.
2090         (fix_trunc<mode>di2): Ditto.
2091         (fixuns_trunc<mode>si2_stfiwx): Ditto.
2092         (floatsisf2): Ditto.
2093         (floatdidf2_mem): Ditto.
2094         (floatunsdidf2_mem): Ditto.
2095         (floatunsdidf2): Ditto.
2096         (floatdisf2_internal1): Ditto.
2097         (floatdisf2_mem): Ditto.
2098         (floatunsdisf2_mem): Ditto.
2099         (floatsi<mode>2_lfiwax_mem2): Delete.
2100         (floatunssi<mode>2_lfiwzx_mem2): Ditto.
2101         (fix_trunc<mode>si2_mem): Ditto.
2102         (fixuns_trunc<mode>si2_mem): Ditto.
2103         (round32<mode>2_fprs): New combiner insn to combine (double)(int)
2104         type operations to reduce copying the values to multiple memory slots.
2105         (roundu32<mode>2_fprs): Ditto.
2106
2107         * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
2108         PRE_INC, PRE_DEC, PRE_MODIFY.
2109         (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
2110
2111         * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
2112         Delete prototype.
2113
2114 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
2115
2116         PR target/43808
2117         * cfgexpand.c (partition_stack_vars): Call
2118         update_alias_info_with_stack_vars unconditionally.
2119         (update_alias_info_with_stack_vars): Allow unused
2120         unreferenced vars when not optimizing.
2121
2122 2010-11-09  Sebastian Pop  <sebastian.pop@amd.com>
2123
2124         PR tree-optimization/46036
2125         * tree-if-conv.c (predicate_bbs): Call unshare_expr before
2126         add_to_dst_predicate_list.
2127
2128 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
2129
2130         PR debug/46171
2131         * df-problems.c (struct dead_debug_use, struct dead_debug): Move
2132         earlier.
2133         (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
2134         argument, call dead_debug_reset when adding REG_UNUSED note.
2135         (dead_debug_reset): New function.
2136         (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
2137         df_create_unused_note callers.
2138
2139 2010-11-09  Anatoly Sokolov  <aesok@post.ru>
2140
2141         * config/fr30/fr30.c: Include "df.h".
2142
2143 2010-11-09  Richard Guenther  <rguenther@suse.de>
2144
2145         PR tree-optimization/46355
2146         * tree-loop-distribution.c (tree_loop_distribution): Do not
2147         distribute loops without a single exit.
2148
2149 2010-11-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2150
2151         PR rtl-optimization/46237
2152         * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
2153         saved hard regs if they might get partially clobbered.
2154
2155 2010-11-09  Paul Koning  <ni1d@arrl.net>
2156
2157         * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
2158
2159 2010-11-09  Richard Guenther  <rguenther@suse.de>
2160
2161         PR tree-optimization/46177
2162         * tree-loop-distribution.c (prop_phis): Remove.
2163         (generate_builtin): Re-use the old loop exit edge to avoid
2164         needing to update PHI nodes.
2165
2166 2010-11-09  Joern Rennecke  <amylaar@spamcop.net>
2167
2168         * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
2169         type of args_size to unsigned HOST_WIDE_INT.
2170
2171         PR target/44755
2172         * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
2173         * config/t-pnt16-warn: New file.
2174         * config/picochip/picochip.c (picochip_emit_stack_allocate):
2175         Use add_reg_note.
2176         (picochip_emit_save_register): Likewise.
2177         (picochip_emit_restore_register): Remove variable insn.
2178         (picochip_legitimize_address): Don't use C++ style comments.
2179         (picochip_legitimize_reload_address): Likewise.
2180         (reorder_var_tracking_notes): Remove variable vliw_start.
2181         (picochip_reorg): Cast first arguemnt to emit_note_after to
2182         enum insn_note.
2183         (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
2184         (picochip_expand_builtin_3op): Likewise.
2185         (picochip_expand_builtin_2opvoid): Likewise.
2186         (picochip_expand_array_get, picochip_expand_array_put): Likewise.
2187         (picochip_expand_array_testport): Likewise.
2188         (picochip_init_builtins): Remove unused variables.
2189         * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
2190         to unsigned long, and output it as such.
2191         (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
2192         * config/picochip/picochip.md (movhicc): Remove nonsense statement.
2193         (schedType): Cast result of picochip_schedule_type to
2194         enum attr_schedType.
2195
2196         PR target/44759
2197         * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
2198         conditional to type of S.
2199         (mn10300_function_arg): Remove unused variable align.
2200         (mn10300_arg_partial_bytes): Likewise.
2201         * config/mn10300/mn10300.md (attribute cpu): Cast value to
2202         enum attr_cpu.
2203
2204 2010-11-09  H.J. Lu  <hongjiu.lu@intel.com>
2205
2206         PR bootstrap/46392
2207         * gengtype-parse.c (type): Call get_input_file_name to get file name.
2208
2209 2010-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2210
2211         * tree.h (contains_placeholder_p): Fix comment.
2212         (type_contains_placeholder_p): Adjust comment.
2213         * tree.c (contains_placeholder_p): Fix comment.
2214         (type_contains_placeholder_1): Do not recurse on pointed-to types and
2215         adjust comment.
2216         (type_contains_placeholder_p): Add comment.
2217
2218 2010-11-09  Paul Koning  <ni1d@arrl.net>
2219
2220         * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
2221         output of byte values.
2222
2223 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
2224
2225         PR middle-end/46360
2226         * tree-ssa-propagate.c (update_call_from_tree): Fix for use
2227         not in SSA mode.
2228
2229 2010-11-09  Richard Guenther  <rguenther@suse.de>
2230
2231         PR middle-end/46221
2232         * varasm.c (compute_visible_aliases): New function.
2233         (remove_unreachable_alias_pairs): Aliases make a target available
2234         even though we reclaimed the cgraph node.
2235         (finish_aliases_1): Likewise.
2236         * Makefile.in (varasm.o): Add pointer-set.h dependency.
2237
2238 2010-11-09  Nick Clifton  <nickc@redhat.com>
2239
2240         * config/mn10300/mn10300-modes.def: New file.
2241
2242 2010-11-09  Basile Starynkevitch  <basile@starynkevitch.net>
2243             Jeremie Salvucci  <jeremie.salvucci@free.fr>
2244
2245         * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
2246         (plugin_files, get_file_basename, get_file_realbasename)
2247         (get_file_langdir, error_at_line, gt_files, this_file)
2248         (system_h_file, read_input_list, create_field_all)
2249         (get_file_srcdir_relative_path, get_file_basename)
2250         (get_file_langdir, get_file_gtfilename)
2251         (get_output_file_with_visibility, get_output_file_name)
2252         (struct flist, put_mangled_filename, walk_type)
2253         (put_mangled_filename, finish_root_table, write_roots): Use
2254         input_file-s.
2255         (lang_dir_names, num_lang_dirs): Remove static.
2256         (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
2257         (main): Use input_file-s.
2258
2259         * gengtype.h: (struct input_file_st, input_file): New type.
2260         (struct fileloc): Use it.
2261         (gt_files, num_gt_files, this_file, system_h_file)
2262         (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
2263         (get_input_file_name): New function.
2264         (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
2265         use input_file.
2266         (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
2267         (get_output_file_name): Ditto.
2268
2269         * gengtype-lex.l (yybegin): Use input_file.
2270
2271         * gengtype-parse.c (parse_error): Use input_file.
2272
2273 2010-11-08  Xinliang David Li  <davidxl@google.com>
2274
2275         PR tree-optimization/46316
2276         * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
2277         * double-int.h (double_int_mul_with_sign): New function.
2278         * double-int.c (double_int_mul_with_sign): New function.
2279
2280 2010-11-08  Paul Koning  <ni1d@arrl.net>
2281
2282         * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
2283
2284 2010-11-08  Paul Koning  <ni1d@arrl.net>
2285
2286         * config/pdp11/pdp11.md (negsi2): Fix wrong code.
2287
2288 2010-11-08  Paul Koning  <ni1d@arrl.net>
2289
2290         * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
2291         to 8 bits.
2292
2293 2010-11-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
2294
2295         PR target/46378
2296         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2297         turn on ISA 2.04 rounding instructions for power5.
2298
2299         * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
2300         not ISA 2.02.
2301
2302         PR target/45585
2303         * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
2304         in FPR registers.
2305         (movdi_low_st): Ditto.
2306
2307 2010-11-08  Joern Rennecke  <amylaar@spamcop.net>
2308             Richard Henderson  <rth@redhat.com>
2309
2310         PR target/44758
2311         * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
2312         (attribute acc_group): Cast value to enum attr_acc_group.
2313         (*movdi_nodouble+6): Use gen_int_mode.
2314         * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
2315         if RTX_CODE is defined or not.
2316         * config/frv/frv.c (enum frv_io_type): New enum, broken out of
2317         struct frv_io.
2318         (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
2319         (frv_frame_access, frv_expand_prologue): Remove unused variables.
2320         (frv_expand_block_clear): Likewise.
2321         (frv_trampoline_init): Use LCT_NORMAL.
2322         (struct frv_packet_group): New struct, broken out of type of
2323         frv_packet.
2324         (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
2325         use cast in loop counter increment.
2326         (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
2327         assigning to io->type.
2328         (bdesc_set): Use rtx_code UNKNOWN in initializer.
2329         (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
2330         (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
2331         (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
2332         (frv_read_argument): Use expand_normal.
2333
2334         PR target/44757
2335         * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
2336         lm32_legitimate_constant_p.
2337         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
2338         * config/lm32/lm32.c (gen_int_relational): Make new block for
2339         LE / LT / LEU / LTU case.  Declare variables at start of block.
2340         (lm32_block_move_inline): Use XALLOCAVEC.
2341
2342 2010-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2343
2344         * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
2345
2346 2010-11-08  Basile Starynkevitch  <basile@starynkevitch.net>
2347
2348         * gengtype (get_output_file_for_structure): Ensure type is union
2349         or struct.
2350         (write_splay_tree_allocator_def): Use
2351         get_output_file_with_visibility.
2352
2353 2010-11-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2354
2355         * config/s390/s390.c (s390_handle_arch_option): Set type and flags
2356         to defined values in case of an error.
2357         (s390_option_override): Skip further processing if the -march
2358         parameter wasn't recognized.
2359
2360 2010-11-08  Joern Rennecke  <amylaar@spamcop.net>
2361
2362         * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
2363         assert that REG is a hard register number before using it as an index.
2364
2365         PR bootstrap/46358
2366         * config/i386/i386.c (ix86_expand_split_stack_prologue):
2367         Avoid warnings when HOST_WIDE_INT is 32 bit.
2368
2369 2010-11-08  Eric Botcazou  <ebotcazou@adacore.com>
2370
2371         PR target/46208
2372         * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
2373         (sparc_promote_prototypes): Likewise.
2374         (sparc_promote_function_mode): Promote in 32-bit mode as well.
2375         (sparc_return_in_memory): Remove superfluous parentheses.
2376         (sparc_struct_value_rtx): Fix long lines.
2377         (sparc_function_value_1): Promote in 32-bit mode as well.
2378
2379 2010-11-08  Andrey Belevantsev  <abel@ispras.ru>
2380
2381         PR rtl-optimization/45352
2382         * sel-sched.c (find_best_expr): Do not set pneed_stall when
2383         the variable_issue hook is not implemented.
2384         (fill_insns): Remove dead variable stall_iterations.
2385         (init_seqno_1): Force EBB start for resetting sched cycles on any
2386         successor blocks of the rescheduled region.
2387         (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
2388         (reset_sched_cycles_in_current_ebb): Add debug printing.
2389         New variable issued_insns.  Advance state when we have issued
2390         issue_rate insns.
2391
2392 2010-11-08  Basile Starynkevitch  <basile@starynkevitch.net>
2393
2394         * gengtype (main): Get here's position using POS_HERE macro for
2395         do*typedef calls.
2396
2397 2010-11-07  Ian Lance Taylor  <iant@google.com>
2398
2399         PR target/46089
2400         * config/i386/i386.c (split_stack_fn_large): New static variable.
2401         (ix86_expand_split_stack_prologue): Handle large model.
2402
2403 2010-11-07  Andreas Schwab  <schwab@linux-m68k.org>
2404
2405         * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
2406         all possible addressing modes.
2407
2408 2010-11-07  Uros Bizjak  <ubizjak@gmail.com>
2409
2410         PR tree-optimization/46346
2411         * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
2412
2413 2010-11-07  Richard Sandiford  <rdsandiford@googlemail.com>
2414
2415         * config/mips/mips.c: Revert previous patch.
2416         * config/mips/mips.md: Likewise.
2417
2418 2010-11-07  Richard Sandiford  <rdsandiford@googlemail.com>
2419
2420         * config/mips/mips.c (mips_rtx_costs): Handle FMA.
2421         * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
2422         (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
2423         (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
2424         (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
2425         to use FMA.
2426         (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
2427         (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
2428         (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
2429         (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
2430
2431 2010-11-06  Simon Martin  <simartin@users.sourceforge.net>
2432
2433         PR c/43384
2434         * c-decl.c (lookup_label): Labels can only be referenced in a
2435         function's scope.
2436         (store_parm_decls_oldstyle): Skip erroneous parameters.
2437
2438 2010-11-06  Anatoly Sokolov  <aesok@post.ru>
2439
2440         * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
2441         LIBCALL_VALUE): Remove macros.
2442         * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2443         TARGET_FUNCTION_VALUE_REGNO_P): Define.
2444         (fr30_function_value_regno_p, fr30_function_value,
2445         fr30_libcall_value): New functions.
2446
2447 2010-11-06  Joern Rennecke  <amylaar@spamcop.net>
2448
2449         PR middle-end/46314
2450         * target.def (generate_internal_label): New asm_out hook.
2451         * output.h (default_generate_internal_label): Declare.
2452         * varasm.c (default_generate_internal_label): Define.
2453
2454 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
2455
2456         PR target/44981
2457         * doc/extend.tex (format): Document NSString extension.
2458         (format_arg): Likewise.
2459         (Darwin Format Checks): New section.
2460         * doc/tm.texi: Document string object hooks (generated).
2461         * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
2462         (TARGET_STRING_OBJECT_REF_TYPE_P): New.
2463         (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
2464         * target.def (objc_construct_string_object): Rename, amend
2465         documentation.
2466         (string_object_ref_type_p): New hook.
2467         (check_string_object_format_arg): New hook.
2468         * c-parser.c (c_parser_attributes): Allow objective-c class names as
2469         attribute identifiers.
2470         * config/darwin-c.c (darwin_cfstring_ref_p): New.
2471         (darwin_check_cfstring_format_arg): New.
2472         (darwin_additional_format_types): New.
2473         * config/darwin-protos.h (darwin_cfstring_ref_p) New.
2474         (darwin_check_cfstring_format_arg): New.
2475         * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
2476         (TARGET_STRING_OBJECT_REF_TYPE_P): New.
2477         (TARGET_N_FORMAT_TYPES): New.
2478         (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
2479
2480 2010-11-06  Eric Botcazou  <ebotcazou@adacore.com>
2481             Pascal Obry  <obry@adacore.com>
2482
2483         * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine.  Use 33
2484         in 64-bit mode and 17 otherwise.
2485
2486 2010-11-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2487
2488         PR debug/45939
2489         * var-tracking.c (emit_note_insn_var_location): Make sure that
2490         call related var location notes come before the normal ones.
2491
2492 2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>
2493
2494         PR target/46326
2495         * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
2496         in the last change.
2497
2498 2010-11-05  Ian Lance Taylor  <iant@google.com>
2499
2500         * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
2501
2502 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
2503
2504         PR c/44772
2505         * c-decl.c (warn_cxx_compat_finish_struct): Don't call
2506         pointer_set_contains if DECL_NAME is NULL.
2507
2508 2010-11-05  Ian Lance Taylor  <iant@google.com>
2509
2510         PR target/46084
2511         * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
2512         request enough additional space for alignment, and force alignment.
2513
2514 2010-11-05  Kai Tietz  <kai.tietz@onevision.com>
2515
2516         * config/i386/i386.c (legitimate_pic_address_disp_p):
2517         Handle UNSPEC_PCREL.
2518         (ix86_legitimate_address_p): Likewise.
2519         (legitimize_pic_address): Likewise.
2520         (output_pic_addr_const): Likewise.
2521         (ix86_delegitimize_address): Likewise.
2522         (ix86_find_base_term): Likewise.
2523         (memory_address_length): Likewise.
2524         (x86_output_mi_thunk): Handle special case x64
2525         for non local binding.
2526         * config/i386/i386.md (UNSPEC_PCREL): New.
2527         * config/i386/winnt.c (i386_pe_binds_local_p):
2528         Allow weak symbol for x64 windows with non-local binding.
2529
2530 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
2531
2532         PR target/45670
2533         * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
2534         instead of EXPAND_NORMAL for base expansion.
2535
2536 2010-11-05  Uros Bizjak  <ubizjak@gmail.com>
2537
2538         * config.gcc: Support --with-fpmath=avx for x86.
2539         * config/i386/avxmath.h: New.
2540         * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
2541
2542 2010-11-05  Ian Lance Taylor  <iant@google.com>
2543
2544         * tree.h (struct tree_type): Don't use descbits in GTY annotation.
2545         * gengtype.c (walk_type): Don't recognize descbits option.
2546
2547 2010-11-05  Joseph Myers  <joseph@codesourcery.com>
2548
2549         * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
2550         WORD_SWITCH_TAKES_ARG): Remove.
2551         * doc/options.texi (Args): Document.
2552         * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
2553         * doc/tm.texi: Regenerate.
2554         * opt-functions.awk (switch_flags): Handle Args.
2555         * opts-common.c: Update comment on tm.h include.
2556         (decode_cmdline_option): Handle options with multiple arguments.
2557         Don't check WORD_SWITCH_TAKES_ARG for unknown options.
2558         * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
2559         (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
2560         CL_COMMON): Update values.
2561         * system.h (WORD_SWITCH_TAKES_ARG): Poison.
2562         * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
2563         * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
2564         sectobjectsymbols, sectorder, segcreate, segprot): New.
2565
2566 2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>
2567             Uros Bizjak  <ubizjak@gmail.com>
2568
2569         * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
2570         256bit AVX register is used.
2571         (ix86_expand_vector_move_misalign): Likewise.
2572         (ix86_expand_vector_move): Replace use_avx256_p with
2573         VALID_AVX256_REG_MODE.
2574
2575 2010-11-05  Joern Rennecke  <amylaar@spamcop.net>
2576
2577          PR target/44750
2578         * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
2579         change.  Set $@-warn.o to -Wno-error.
2580
2581         PR bootstrap/44756
2582         * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
2583         comparing it to a signed value.
2584
2585         PR middle-end/44766
2586         * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
2587         PR bootstrap/44770
2588         * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
2589         to i.
2590
2591         PR target/44754
2592         * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
2593         (m32c_function_arg).  Add comma between arguments two and three.
2594         (m32c_promote_prototypes): Remove declaration.
2595         (current_function_special_page_vector): Likewise.
2596         (m32c_regno_reg_class): Change return type to enum reg_class.
2597         (m32c_pushm_popm): Use add_reg_note.
2598         (m32c_push_rounding): Change return type to unsigned int.
2599         (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
2600         enum reload_type.
2601         (m32c_insert_attributes): Constify variable name.
2602         (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
2603         (m32c_prepare_shift): Remove variable lref.
2604         (m32c_expand_movcc): Remove variable cmp.
2605         (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
2606         (m32c_compare_redundant): Remove variable op2.
2607         * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
2608         (m32c_pragma_memregs): Assign the number to target_memregs.
2609         (m32c_pragma_address): Remove variable var_str.
2610         * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
2611         enum reg_class.
2612         (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
2613         * config/m32c/bitops.md (andsi3): Add default case to switch.
2614         (iorsi3, xorsi3): Likewise.
2615         * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
2616         * config/m32c/jump.md (call, call_value): Likewise.
2617         * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
2618         (m32c_regno_reg_class): Likewise.
2619         (current_function_special_page_vector): Declare.
2620
2621 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
2622
2623         * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
2624
2625         PR tree-optimization/46099
2626         * tree-parloops.c (take_address_of): Add GSI argument.  Return NULL
2627         if it is NULL and uid wasn't found in the hash table.  Just fold the
2628         result if it is NULL otherwise.  Insert other potentially needed
2629         stmts right before current stmt instead of on the entry edge.
2630         (struct elv_data): Add gsi and reset fields.
2631         (eliminate_local_variables_1): Adjust caller.  If take_address_of
2632         failed for debug stmt, set dta->reset and return.
2633         (eliminate_local_variables_stmt): Change STMT argument for GSI,
2634         pass GSI through to the callback, handle resetting of debug stmts.
2635         (eliminate_local_variables): Adjust caller.  Process debug stmts
2636         in second phase.
2637
2638         PR middle-end/43690
2639         * gimplify.c (gimplify_asm_expr): If a "m" input is a
2640         {pre,post}{in,de}crement, fail.
2641
2642         PR debug/46307
2643         * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
2644         * tree-pretty-print.c (dump_generic_node): Likewise.
2645         (op_code_prio): Likewise.
2646         * cfgexpand.c (expand_debug_expr): Likewise.
2647
2648 2010-11-04  Paul Koning  <ni1d@arrl.net>
2649
2650         * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
2651         constraints.
2652
2653 2010-11-04  Chao-ying Fu  <fu@mips.com>
2654
2655         * configure.ac: Test assembler support for DSP Rev1 mult.
2656         * configure: Regenerate.
2657         * config.in: Regenerate.
2658         * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
2659         * config/mips/mips.c (CODE_FOR_mips_mult): New define.
2660         (CODE_FOR_mips_multu): New define.
2661         (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
2662         dspr2_32 to dsp_32.
2663         (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
2664         Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
2665         * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
2666         New define_expand patterns.
2667         * config/mips/constraints.md (ka): Update the constraint to test
2668         ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
2669         * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
2670         mips_multu): Delete.
2671         * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
2672         Change target constraint to "ka".
2673         Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
2674         (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
2675         Emit the accumulator destination when ISA_HAS_DSP_MULT.
2676         (<u>msubsidi4): Add comments.  Test ISA_HAS_DSP.
2677         Emit the accumulator destination when ISA_HAS_DSP_MULT.
2678         (<u>maddsidi4): Likewise.
2679         * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
2680         msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
2681
2682 2010-11-04  Paul Koning  <ni1d@arrl.net>
2683
2684         * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
2685
2686 2010-11-04  Paul Koning  <ni1d@arrl.net>
2687
2688         * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
2689
2690 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
2691
2692         Fixed using the Objective-C 2.0 dot-syntax with class names.
2693         * c-parser.c (c_parser_next_token_starts_declspecs): In
2694         Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
2695         (c_parser_next_token_starts_declaration): Same.
2696         (c_parser_postfix_expression): Parse the Objective-C 2.0
2697         dot-syntax with a class name.
2698
2699 2010-11-04  Pat Haugen  <pthaugen@us.ibm.com>
2700
2701         * final.c (compute_alignments): Compute/free loop info all the time.
2702         * config/rs6000/rs6000.h (LOOP_ALIGN): Define.
2703         * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
2704         * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
2705         * config/rs6000/rs6000.c (cfgloop.h): Include.
2706         (can_override_loop_align): New.
2707         (rs6000_option_override_internal): Set it.
2708         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
2709         (rs6000_loop_align): New function.
2710         (rs6000_loop_align_max_skip): Likewise.
2711
2712 2010-11-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2713
2714         PR driver/45703
2715         * collect2.c (main): Print --help output to stdout.  Do not
2716         exit right away, so ld --help is appended.  Add empty lines
2717         to separate output suitably.
2718
2719 2010-11-04  Jakub Jelinek  <jakub@redhat.com>
2720
2721         PR tree-optimization/46233
2722         * ipa-pure-const.c (local_pure_const): Do noreturn discovery
2723         after calling analyze_function, not before.
2724
2725         PR target/46234
2726         * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
2727         instead of build_va_arg_indirect_ref.
2728         * config/spu/spu.c (spu_va_start): Likewise.
2729         * config/s390/s390.c (s390_va_start): Likewise.
2730
2731 2010-11-03  Uros Bizjak  <ubizjak@gmail.com>
2732
2733         PR middle-end/46292
2734         * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
2735         if the innermode is not vector mode, determine the mode of a subreg
2736         by using mode_for_size of inner_size.
2737
2738 2010-11-04  Richard Guenther  <rguenther@suse.de>
2739
2740         PR rtl-optimization/46183
2741         * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
2742         (execute_rtl_pre): Likewise.
2743         (execute_rtl_hoist): Likewise.
2744
2745 2010-11-04  Richard Guenther  <rguenther@suse.de>
2746
2747         PR tree-optimization/46068
2748         * ipa-split.c (consider_split): Remove gcc_unreachable.
2749
2750 2010-11-04  Richard Guenther  <rguenther@suse.de>
2751
2752         * tree-nested.c (build_addr): Use build_fold_addr_expr.
2753
2754 2010-11-04  Richard Guenther  <rguenther@suse.de>
2755
2756         PR tree-optimization/45991
2757         * gimplify.c (force_gimple_operand_1): Use the provded test
2758         function in the initial test.
2759
2760 2010-11-04  Jeff Law  <law@redhat.com>
2761
2762         * ira.c (validate_equiv_mem): Remove code to avoid invalidation
2763         of readonly memory equivalances for const/pure calls.
2764
2765 2010-11-04  Richard Guenther  <rguenther@suse.de>
2766
2767         PR tree-optimization/45733
2768         * tree-vect-stmts.c (reverse_vec_elements): Honor the
2769         permute builtins function return type.
2770
2771 2010-11-04  Joern Rennecke  <amylaar@spamcop.net>
2772
2773         PR middle-end/44765
2774         * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
2775         as an index, check it is not INVALID_REGNUM.
2776
2777         PR bootstrap/44756
2778         * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
2779         unsignedp.
2780         * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
2781
2782         PR bootstrap/44756
2783         * function.c (thread_prologue_and_epilogue_insns): Add
2784         ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
2785
2786         PR bootstrap/44756
2787         * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
2788
2789         PR target/44750
2790         * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
2791         (pdp11_preferred_reload_class): Rename class to rclass.
2792         (pdp11_preferred_output_reload_class): Likewise.
2793         * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
2794         ALL_COMPILERFLAGS .
2795         (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
2796
2797         PR bootstrap/44756
2798         * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
2799         iteration variables to enum machine_mode.
2800
2801         PR target/44751
2802         * config/h8300/h8300.c: Include df.h.
2803         (push, pop): Use add_reg_note.
2804         (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
2805         (compute_a_shift_cc): Likewise.
2806         (expand_a_shift): Argument code has type enum rtx_code.
2807         (struct shift_insn): Member cc_valid has type enum attr_cc.
2808         (struct shift_info) <cc_inline, cc_special>: Likewise.
2809         enum attr_cc.
2810         * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
2811         (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
2812
2813 2010-11-04  Ira Rosen  <irar@il.ibm.com>
2814
2815         PR tree-optimization/46213
2816         * tree-vect-loop.c (vect_is_simple_reduction_1): Handle
2817         MINUS_EXPR only if the first operand is reduction operand.
2818
2819 2010-11-04  Richard Guenther  <rguenther@suse.de>
2820             Richard Henderson  <rth@redhat.com>
2821
2822         * tree.def (FMA_EXPR): New tree code.
2823         * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
2824         * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
2825         * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
2826         * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
2827         * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
2828         * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
2829         (execute_optimize_widening_mul): Call it.  Reorganize to allow
2830         dead stmt removal.  Move TODO flags ...
2831         (pass_optimize_widening_mul): ... here.
2832         * flag-types.h (enum fp_contract_mode): New enum.
2833         * common.opt (flag_fp_contract_mode): New variable.
2834         (-ffp-contract): New option.
2835         * opts.c (common_handle_option): Handle it.
2836         * doc/invoke.texi (-ffp-contract): Document.
2837         * tree.h (fold_fma): Declare.
2838         * builtins.c (fold_fma): New function.
2839         (fold_builtin_fma): Likewise.
2840         (fold_builtin_3): Call it for fma.
2841         * fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
2842         * optabs.c (optab_for_tree_code): Handle FMA_EXPR.
2843         * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
2844         New expanders.
2845         * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
2846         named patterns.
2847         * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
2848         * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
2849         (fms_optab, fnma_optab, fnms_optab): New defines.
2850         * gimplify.c (gimplify_expr): Handle binary truth expressions
2851         explicitly.  Handle FMA_EXPR.
2852         * tree-vect-stmts.c (vectorizable_operation): Handle ternary
2853         operations.
2854
2855 2010-11-04  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
2856             Richard Guenther  <rguenther@suse.de>
2857
2858         * passes.c (init_optimization_passes): Move veclower after SSA.
2859         * tree-vect-generic.c (uniform_vector_p): New function.
2860         (expand_vector_operations_1): Handle conversion.
2861         (pass_lower_vector): Update SSA form.
2862
2863 2010-11-04  Iain Sandoe  <iains@gcc.gnu.org>
2864
2865         * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
2866         plugin capabilities.
2867         * configure: Regenerate.
2868
2869 2010-11-03  Xinliang David Li  <davidxl@google.com>
2870
2871         PR target/46200
2872         * tree-ssa-loop-ivopts.c (get_computation_cost_at):
2873         Adjust cbase if the use stmt is after iv update.
2874
2875 2010-11-03  Kaz Kojima  <kkojima@gcc.gnu.org>
2876
2877         * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
2878
2879 2010-11-03  Kaz Kojima  <kkojima@gcc.gnu.org>
2880
2881         * config/sh/sh.c (sh_expand_prologue): Remove unnecessary
2882         comment.  Pass true to the last argument of output_stack_adjust.
2883
2884 2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
2885
2886         PR target/46295
2887         * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
2888         if 256bit AVX register is used.
2889
2890 2010-11-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
2891
2892         * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
2893         xsmindp/xsmaxdp on VSX for single precision min/max.
2894         * config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
2895         (vsx_sminsf3): Ditto.
2896
2897 2010-11-03  Eric Botcazou  <ebotcazou@adacore.com>
2898
2899         * combine.c (try_combine): Fix formatting issues, improve comments and
2900         fix a pasto.
2901
2902 2010-11-03  Eric Botcazou  <ebotcazou@adacore.com>
2903
2904         * tree-tailcall.c (find_tail_calls): Convert the operands to the type
2905         of the result before building binary expressions.
2906
2907 2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
2908
2909         PR rtl-optimization/45865
2910         * Makefile.in (df-problems.o): Revert revision 164552.
2911         * basic-block.h (enum bb_flags): Likewise.
2912         * cfgcleanup.c (block_was_dirty): Likewise.
2913         (try_forward_edges): Likewise.
2914         (try_crossjump_bb): Likewise.
2915         (try_head_merge_bb): Likewise.
2916         (try_optimize_cfg): Likewise.
2917         (cleanup_cfg): Likewise.
2918         * df-core.c (df_set_bb_dirty): Likewise.
2919         * df-problems.c: Likewise.
2920         (df_simulate_find_uses): Likewise.
2921         (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
2922         (find_memory, find_memory_store): Likewise.
2923         (can_move_insns_across): Likewise.
2924         * df.h (can_move_insns_across): Likewise.
2925         * ifcvt.c (find_memory): Likewise.
2926         (dead_or_predicable): Likewise.
2927
2928 2010-11-03  Richard Guenther  <rguenther@suse.de>
2929
2930         PR middle-end/46288
2931         * predict.c (strip_predict_hints): Simply DCE builtin expect if
2932         the result is unused.
2933
2934 2010-11-03  Jakub Jelinek  <jakub@redhat.com>
2935
2936         PR tree-optimization/46009
2937         * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
2938         cond_if_else_store_replacement if bb1 and bb2 have the same
2939         single successor.
2940         (cond_store_replacement): Use gimple_assign_single_p, don't
2941         check if rhs is SSA_NAME or invariant.  Call release_defs for
2942         assign.
2943         (cond_if_else_store_replacement): New function.
2944
2945 2010-11-03  Richard Guenther  <rguenther@suse.de>
2946
2947         * opts.c (finish_options): Properly check for all WHOPR
2948         flags before complaining about -flto-partition.
2949
2950 2010-11-04  Alan Modra  <amodra@gmail.com>
2951
2952         * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
2953         (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
2954         TARGET_SECURE_PLT.
2955         * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
2956         * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
2957         on input, "r" on output.
2958
2959 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2960
2961         Implemented -fobjc-std=objc1 flag.
2962         * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
2963         option.
2964         * doc/standards.texi (Standards): Updated the section on
2965         Objective-C; mention support for Objective-C 2.0 features and the
2966         new -fstd-objc=objc1 flag to disable them.
2967
2968 2010-11-03  Richard Guenther  <rguenther@suse.de>
2969
2970         PR middle-end/46241
2971         * dwarf2out.c (scope_die_for): Properly detect global scope.
2972
2973 2010-11-03  Richard Guenther  <rguenther@suse.de>
2974
2975         PR tree-optimization/46190
2976         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
2977         Properly compute peel iterations.
2978
2979 2010-11-03  Richard Guenther  <rguenther@suse.de>
2980
2981         PR tree-optimization/46286
2982         * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
2983         re-allocated vector data.
2984
2985 2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
2986
2987         PR target/46285
2988         * config/i386/i386.c (ix86_expand_call): Conditionally decorate
2989         calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
2990         is completed.
2991
2992 2010-11-03  Richard Guenther  <rguenther@suse.de>
2993
2994         PR tree-optimization/46217
2995         * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
2996         flag matches.
2997         (execute_update_addresses_taken): Likewise.
2998
2999 2010-11-03  Joern Rennecke  <joern.rennecke@embecosm.com>
3000
3001         PR bootstrap/44335
3002         * targhooks.c (targhook_words_big_endian): New function.
3003         (targhook_float_words_big_endian): Likewise.
3004         * targhooks.h (targhook_words_big_endian): Declare.
3005         (targhook_float_words_big_endian): Likewise.
3006         * target.def (words_big_endian, float_words_big_endian): New hooks.
3007
3008 2010-11-03  Jakub Jelinek  <jakub@redhat.com>
3009
3010         PR tree-optimization/46165
3011         * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
3012         a normal call into noreturn call.
3013
3014 2010-11-03  Richard Guenther  <rguenther@suse.de>
3015
3016         PR middle-end/46251
3017         * builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
3018         not INDIRECT_REFs.
3019
3020 2010-11-03  Jakub Jelinek  <jakub@redhat.com>
3021
3022         PR tree-optimization/46107
3023         * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
3024         if cfg_hook_duplicate_loop_to_header_edge failed.
3025
3026 2010-11-03  Ian Lance Taylor  <iant@google.com>
3027
3028         PR lto/46273
3029         * config.gcc: Don't set lto_binary_reader.
3030         * doc/install.texi (Prerequisites): Remove libelf paragraphs.
3031         (Configuration): Mention --disable-lto.  Remove --with-libelf
3032         paragraph.
3033
3034 2010-11-03  Jakub Jelinek  <jakub@redhat.com>
3035
3036         PR debug/46252
3037         * reload1.c (delete_dead_insn): Use prev_active_insn instead of
3038         prev_real_insn.
3039         * gcse.c (insert_insn_end_basic_block): Likewise.
3040
3041         PR rtl-optimization/46034
3042         PR rtl-optimization/46212
3043         PR rtl-optimization/46248
3044         * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
3045         and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
3046         before i0dest -> i0src substitution and pass 1 instead of 0 as last
3047         argument to subst on i2pat.
3048
3049 2010-11-02  Ian Lance Taylor  <iant@google.com>
3050
3051         * configure.ac: Use AC_SYS_LARGEFILE.
3052         * configure: Rebuild.
3053         * config.in: Rebuild.
3054
3055 2010-11-02  Nathan Froyd  <froydnj@codesourcery.com>
3056
3057         * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
3058         fold_convert.
3059         * c-typeck.c (build_function_call_vec): Likewise.
3060         * cfgexpand.c (expand_debug_expr): Likewise.
3061         * cgraphunit.c (assemble_thunk): Likewise.
3062         * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
3063         * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
3064         (fold_binary_loc, fold_ternary_loc): Likewise.
3065         * gimple-fold.c (get_symbol_constant_value): Likewise.
3066         * gimple-low.c (lower_builtin_setjmp): Likewise.
3067         * gimple.c (gimple_cond_get_ops_from_tree): Likewise.
3068         * gimplify.c (gimplify_init_constructor): Likewise.
3069         * lambda.h (build_linear_expr): Likewise.
3070         * omp-low.c (omp_reduction_init): Likewise.
3071         * tree-inline.c (remap_ssa_name): Likewise.
3072         * tree-object-size.c (compute_object_sizes): Likewise.
3073         * tree-sra.c (init_subtree_with_zero): Likewise.
3074         (sra_ipa_modify_assign): Likewise.
3075         * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
3076         * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
3077         (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
3078         (undistribute_ops_list): Likewise.
3079         * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
3080         * tree-vect-stmts.c (vectorizable_call): Likewise.
3081         * tree.c (build_vector_from_ctor, build_one_cst): Likewise.
3082         (build_zero_cst): Handle more cases directly.  Update comment.
3083
3084 2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
3085
3086         * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
3087         * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
3088
3089         * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
3090         and call ix86_split_call_vzeroupper instead of
3091         ix86_split_call_pop_vzeroupper.
3092         (*call_pop_1_vzeroupper): Likewise.
3093         (*sibcall_pop_1_vzeroupper): Likewise.
3094         (*call_value_pop_0_vzeroupper): Likewise.
3095         (*call_value_pop_1_vzeroupper): Likewise.
3096         (*sibcall_value_pop_1_vzeroupper): Likewise.
3097
3098 2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
3099
3100         * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
3101
3102 2010-11-02  Eric Botcazou  <ebotcazou@adacore.com>
3103
3104         * basic-block.h (insert_insn_end_bb_new): Delete.
3105         * cfgrtl.c (insert_insn_end_bb_new): Likewise.
3106
3107 2010-11-02  Uros Bizjak  <ubizjak@gmail.com>
3108             H.J. Lu  <hongjiu.lu@intel.com>
3109
3110         * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
3111         (ix86_split_call_pop_vzeroupper): Likewise.
3112
3113         * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
3114         (ix86_expand_call): Conditionally decorate calls with
3115         UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
3116         (ix86_split_call_vzeroupper): New.
3117         (ix86_split_call_pop_vzeroupper): Likewise.
3118
3119         * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
3120         (*call_pop_0_vzeroupper): New insn_and_split pattern.
3121         (*call_pop_1_vzeroupper): Likewise.
3122         (*sibcall_pop_1_vzeroupper): Likewise.
3123         (*call_0_vzeroupper): Likewise.
3124         (*call_1_vzeroupper): Likewise.
3125         (*sibcall_1_vzeroupper): Likewise.
3126         (*call_1_rex64_vzeroupper): Likewise.
3127         (*call_1_rex64_ms_sysv_vzeroupper): Likewise.
3128         (*call_1_rex64_large_vzeroupper): Likewise.
3129         (*sibcall_1_rex64_vzeroupper): Likewise.
3130         (*call_value_pop_0_vzeroupper): Likewise.
3131         (*call_value_pop_1_vzeroupper): Likewise.
3132         (*sibcall_value_pop_1_vzeroupper): Likewise.
3133         (*call_value_0_vzeroupper): Likewise.
3134         (*call_value_0_rex64_vzeroupper): Likewise.
3135         (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
3136         (*call_value_1_vzeroupper): Likewise.
3137         (*sibcall_value_1_vzeroupper): Likewise.
3138         (*call_value_1_rex64_vzeroupper): Likewise.
3139         (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
3140         (*call_value_1_rex64_large_vzeroupper): Likewise.
3141         (*sibcall_value_1_rex64_vzeroupper): Likewise.
3142
3143 2010-11-02  Ian Lance Taylor  <iant@google.com>
3144
3145         PR lto/46273
3146         * config.gcc: Revert last patch: set lto_binary_reader.
3147
3148 2010-11-02  Richard Guenther  <rguenther@suse.de>
3149
3150         PR tree-optimization/46149
3151         * tree-ssa-structalias.c (get_constraint_for_1): Properly handle
3152         non-indirect MEM_REF variants.
3153
3154 2010-11-02  Richard Guenther  <rguenther@suse.de>
3155
3156         PR tree-optimization/46216
3157         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
3158         Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
3159
3160 2010-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3161
3162         * configure.ac (*-*-irix6*): Disable set_have_as_tls.
3163         (*-*-osf*): Likewise.
3164         * configure: Regenerate.
3165
3166 2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
3167
3168         * config/i386/driver-i386.c (host_detect_local_cpu): Updated
3169         for Intel Core 2 and Core i7.
3170
3171 2010-11-02  Maxim Kuvyrkov  <maxim@codesourcery.com>
3172
3173         Model decoder of Core 2/i7 for multipass scheduling.
3174
3175         * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
3176         New type to hold target-specific data for multipass scheduling.
3177         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
3178         * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
3179         Core 2/i7.
3180         (core2i7_secondary_decoder_max_insn_size,)
3181         (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
3182         New static variables.
3183         ([const_]ix86_first_cycle_multipass_data_t): New typedefs.
3184         ([_]ix86_first_cycle_multipass_data): New static variable.
3185         (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
3186         Implement targetm.sched hooks.
3187         (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
3188         of ...
3189         (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
3190         Implement new targetm.sched hooks.
3191         (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
3192         targetm.sched hook to install multipass scheduling hooks on demand.
3193
3194         * doc/tm.texi.in: Document new targetm.sched hooks.
3195         * doc/tm.texi: Regenerate.
3196
3197         * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
3198         (first_cycle_multipass_data_t): New typedef.
3199         (struct choice_entry: target_data): New field.
3200         (max_issue): Add first_cycle_insn_p parameter.  Call new target hooks
3201         to allow target model restrictions not represented in DFA.
3202         (choose_ready, schedule_block): Update.
3203         (sched_extend_ready_list, sched_finish_ready_list): Call new target
3204         hooks to initialize target-specific data for multipass scheduling.
3205         * sched-int.h (max_issue): Update declaration.
3206         * sel-sched.c (choose_best_insn): Update.
3207         * target.def (first_cycle_multipass_{begin, issue, backtrack},)
3208         (first_cycle_multipass_{init, fini}): Define and document new
3209         targetm.sched hooks.
3210
3211 2010-11-02  Richard Guenther  <rguenther@suse.de>
3212
3213         PR tree-optimization/46184
3214         * tree-vect-loop.c (vectorizable_reduction): Try to obtain the
3215         input vector type from the reduction operand as well.
3216
3217 2010-11-02  Richard Guenther  <rguenther@suse.de>
3218
3219         PR tree-optimization/46177
3220         * tree-loop-distribution.c (prop_phis): Use
3221         mark_virtual_phi_result_for_renaming.
3222
3223 2010-11-02  Martin Jambor  <mjambor@suse.cz>
3224
3225         PR middle-end/46120
3226         * tree.c (get_binfo_at_offset): Bail out on artificial
3227         fields.  Identify primary bases according to their offsets.
3228
3229 2010-11-02  Martin Jambor  <mjambor@suse.cz>
3230
3231         PR tree-optimization/45875
3232         * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
3233         (gimple_get_relevant_ref_binfo): Detect primary bases according to
3234         their field offset.
3235
3236 2010-11-02  Ian Lance Taylor  <iant@google.com>
3237
3238         * doc/install.texi (Configuration): Note in two places that Java
3239         is not enabled by default.
3240
3241 2010-11-02  Ian Lance Taylor  <iant@google.com>
3242
3243         * doc/install.texi (Prerequisites): Remove libelf paragraphs.
3244         (Configuration): Mention --disable-lto.  Remove --with-libelf
3245         paragraph.
3246
3247 2010-11-02  Ian Lance Taylor  <iant@google.com>
3248
3249         * configure.ac: Remove elf_getshdrstrndx test.  Don't substitute
3250         LTO_BINARY_READER or LTO_USE_LIBELF.  Remove LIBELFLIBS and
3251         LIBELFINC.  Remove HAVE_libelf.
3252         * config.gcc: Don't set lto_binary_reader.
3253         * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
3254         (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
3255         (LIBS): Remove $(LIBELFLIBS).
3256         (INCLUDES): Remove $(LIBELFINC).
3257         * configure: Rebuild.
3258         * config.in: Rebuild.
3259
3260 2010-11-02  Nathan Froyd  <froydnj@codesourcery.com>
3261
3262         * config/microblaze/microblaze-protos.h (function_arg): Delete.
3263         (function_arg_advance): Delete.
3264         * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
3265         (FUNCTION_ARG): Delete.
3266         * config/microblaze/microblaze.c (function_arg_advance): Rename to...
3267         (microblaze_function_arg_advance): ...this.  Make static.  Take a
3268         const_tree and a bool.
3269         (function-arg): Rename to...
3270         (microblaze_function_arg): ...this.  Make static.  Take a const_tree
3271         and a bool.
3272         (microblaze_expand_prologue): Call targetm.calls.function_arg and
3273         targetm.calls.function_arg_advance.
3274         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
3275
3276 2010-11-02  Iain Sandoe  <iains@gcc.gnu.org>
3277
3278         Merge from FSF "apple/trunk" branch.
3279
3280         * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
3281         * config/darwin.opt: .. to here.
3282         (matt-stubs): New option.
3283         * config/i386/darwin.opt: Delete.
3284         * config/i386/i386.h (MACHOPIC_ATT_STUB): New.
3285         (MACHO_DYNAMIC_NO_PIC_P): New.
3286         (MACHOPIC_INDIRECT): New.
3287         (MACHOPIC_PURE): New.
3288         * config/i386/darwin.h (DARWIN_X86) Define to 1.
3289         (MACHOPIC_ATT_STUB): New.
3290         (CC1_SPEC): Do not remove mdynamic-no-pic.
3291         Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
3292         UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
3293         (FUNCTION_PROFILER): Correct over-length line.
3294         (SUBTARGET_OVERRIDE_OPTIONS): New.
3295         (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
3296         * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
3297         (legitimate_constant_p): Handle mdynamic-no-pic.
3298         (ix86_legitimate_address_p): Likewise.
3299         (ix86_legitimize_address): Likewise.
3300         (ix86_expand_move): Likewise.
3301         (machopic_output_stub): Update for ATT-style stubs and
3302         mdynamic-no-pic.
3303         * config/darwin-protos.h (machopic_symbol_defined_p): New.
3304         * config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
3305         TARGET_DYNAMIC_NO_PIC: Remove.
3306         Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
3307         UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
3308         * config/rs6000/rs6000.c (darwin_rs6000_override_options):
3309         Remove handling of mdynamic-no-pic.
3310         * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
3311         Define if required.
3312         (machopic_symbol_defined_p): Do not try to use current_function_decl
3313         when generating _get_pc thunks within stubs.
3314         (machopic_indirect_data_reference): Rework for direct conditionals
3315         rather than #ifdefs, add x86 mdynamic-no-pic
3316         (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
3317         defined value.
3318         (darwin_override_options): Handle mdynamic-no-pic here.
3319         * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
3320         (machopic_lazy_symbol_ptr3_section): New.
3321         (machopic_picsymbol_stub2_section): New.
3322         (machopic_picsymbol_stub3_section): New.
3323         * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
3324         (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
3325         (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
3326         Moved common definition from x86 and rs6000.
3327         (MACHO_DYNAMIC_NO_PIC_P): Override value.
3328         (MACHOPIC_INDIRECT): Likewise.
3329         (MACHOPIC_PURE): Likewise.
3330         * config.gcc (x86-darwin-*): Remove darwin.opt.
3331
3332 2010-11-02  Jakub Jelinek  <jakub@redhat.com>
3333
3334         PR debug/46255
3335         * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
3336         instead of gsi_last_bb.
3337
3338 2010-11-02  Bernd Schmidt  <bernds@codesourcery.com>
3339             Maxim Kuvyrkov  <maxim@codesourcery.com>
3340
3341         * config/i386/i386.c (cpu_names): Add "corei7".
3342         * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
3343
3344 2010-11-02  Bernd Schmidt  <bernds@codesourcery.com>
3345             Maxim Kuvyrkov  <maxim@codesourcery.com>
3346
3347         Tune alignment for Intel Core i7
3348
3349         * config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
3350         (enum processor_type): Update comment.  Add entries for Core i7.
3351         * config/i386-c.c (ix86_target_macros_internal): Update.
3352         * config/i386.c (m_COREI7{_32,_64}): New macros.
3353         (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
3354         (processor_target_table): Tune alignment for Core i7.
3355         (ix86_option_override_internal): Use PROCESSOR_COREI7_*.
3356
3357         * doc/invoke.texi: Document "corei7" option value.
3358
3359 2010-11-02  Bernd Schmidt  <bernds@codesourcery.com>
3360             Maxim Kuvyrkov  <maxim@codesourcery.com>
3361             H.J. Lu  <hjl.tools@gmail.com>
3362
3363         Basic support for Intel Core i7
3364
3365         * i386.c (ix86_option_override_internal): Add entry for corei7, use
3366         generic tuning.  Use generic32 when compiling for 32-bit ABI.
3367
3368 2010-11-02  Iain Sandoe  <iains@gcc.gnu.org>
3369
3370         * config/darwin.c (darwin_asm_named_section): Check for __DWARF
3371         sections and call darwin_asm_dwarf_section() to handle them.
3372         (darwin_asm_dwarf_section): New.
3373         (darwin_file_start): Remove code emitting dwarf section symbols.
3374
3375 2010-11-02  Chung-Lin Tang  <cltang@codesourcery.com>
3376
3377         * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
3378         explicitly disable stack protection when building libgcc.
3379         (CRTSTUFF_CFLAGS): Same, for crtbegin/end.
3380
3381 2010-11-01  Jason Merrill  <jason@redhat.com>
3382
3383         * fold-const.c (fold_indirect_ref_1): Handle folding
3384         POINTER_PLUS_EXPR to ARRAY_REF.
3385
3386 2010-11-01  Kaz Kojima  <kkojima@gcc.gnu.org>
3387
3388         * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3389         (sh_delegitimize_address): New function.
3390
3391 2010-11-01  Joseph Myers  <joseph@codesourcery.com>
3392
3393         * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
3394         * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
3395         (CC1_SPEC): Don't handle -target.
3396         * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
3397         options.
3398         * config/darwin.opt (Zallowable_client, Zbundle_loader,
3399         Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
3400         Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
3401         Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
3402         Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
3403         Zweak_reference_mismatches, client_name, compatibility_version,
3404         current_version, dylinker_install_name, pagezero_size,
3405         read_only_relocs, seg1addr, segs_read_only_addr,
3406         segs_read_write_addr, sub_library, sub_umbrella): New.
3407         * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
3408         * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
3409         * config/freebsd.opt: New.
3410         * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
3411         * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
3412         * config/rpath.opt: New.
3413         * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
3414         (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
3415         Use rpath.opt.
3416
3417 2010-11-01  Joseph Myers  <joseph@codesourcery.com>
3418