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