OSDN Git Service

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