OSDN Git Service

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