OSDN Git Service

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