OSDN Git Service

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