OSDN Git Service

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