OSDN Git Service

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