1 2010-10-07 Alan Modra <amodra@gmail.com>
3 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
4 rather than sign extension by hand.
6 2010-10-07 Jan Hubicka <jh@suse.cz>
9 * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
11 2010-10-07 Richard Guenther <rguenther@suse.de>
14 * configure.ac: Fix typo.
15 * configure: Regenerated.
17 2010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
20 define_builtin_std where it's unnecessary.
21 * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
23 2010-10-06 Anatoly Sokolov <aesok@post.ru>
25 * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
26 * doc/tm.texi.in: Regenerate.
27 * system.h (CLASS_LIKELY_SPILLED_P): Poison.
28 * targhooks.c (default_class_likely_spilled_p): Don't use the
29 CLASS_LIKELY_SPILLED_P macro.
31 * config/arm/arm.md: Update comment.
33 2010-10-06 Jan Hubicka <jh@suse.cz>
35 * ipa.c (cgraph_remove_unreachable_nodes): External references can
37 (cgraph_externally_visible_p): We can not bring local comdats that
38 are known to linker; fix handling of internal visibility.
39 (function_and_variable_visibility): Likewise.
41 2010-10-06 Eric Botcazou <ebotcazou@adacore.com>
43 PR rtl-optimization/45394
44 * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
45 (struct rtx_subst_pair): Remove AFTER field.
46 (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
47 (propagate_for_debug): Remove MOVE parameter and adjust.
48 (try_combine): In the special case where I2 is a PARALLEL, combine only
49 destinations of SETs and set I2SRC to the I2 source.
50 Adjust calls to propagate_for_debug throughout.
51 * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
54 2010-10-06 Olivier Hainque <hainque@adacore.com>
56 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
57 switch on insn codes as sequence of ifs.
59 2010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
61 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
62 be UI_NONE for picochip.
63 (picochip_option_override): Do not disable exception flags.
64 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
67 2010-10-06 Richard Guenther <rguenther@suse.de>
69 * Makefile.in (regmove.o): Depend on $(TARGET_H).
71 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
73 Implemented fast enumeration for Objective-C.
74 * c-parser.c (objc_could_be_foreach_context): New.
75 (c_lex_one_token): Recognize RID_IN keyword in a potential
76 Objective-C foreach context.
77 (c_parser_declaration_or_fndef): Added parameter. Accept
78 Objective-C RID_IN keyword as terminating a declaration; in that
79 case, return the declaration in the new parameter.
80 (c_parser_extenral_declaration): Updated calls to
81 c_parser_declaration_or_fndef.
82 (c_parser_declaration_or_fndef): Same change.
83 (c_parser_compound_statement_nostart): Same change.
84 (c_parser_label): Same change.
85 (c_parser_objc_methodprotolist): Same change.
86 (c_parser_omp_for_loop): Same change.
87 (c_parser_for_statement): Detect and parse Objective-C foreach
89 (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
90 * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
91 fast enumeration parsing code to turn off the c99 error but still
92 perform checks on the loop declarations.
93 * c-tree.h (check_for_loop_decls): Updated declaration.
94 * doc/objc.texi: Document fast enumeration.
96 2010-10-06 Nick Clifton <nickc@redhat.com>
98 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by
100 (MDR_REGNUM): Define.
101 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed
103 (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
104 (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
105 (REGISTER_NAMES): Add MDR.
106 (DWARF2_DEBUGGING_INFO): Define to 1.
107 * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
108 (F): New function. Sets RTX_FRAME_RELATED_P.
109 (mn10300_gen_multiple_store): Use F.
110 (expand_prologue): Use F. Use gen_movsf() to push floating
112 (expand_epilogue): Use gen_movsf() to pop floating point
114 (mn10300_option_override): Disable combine stack adjust pass.
116 2010-10-06 Thomas Schwinge <thomas@schwinge.name>
119 * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
120 LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
122 2010-10-06 Jakub Jelinek <jakub@redhat.com>
124 * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
125 BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
126 BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
127 BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
128 BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
129 BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
130 BUILT_IN_TOUPPER): Mark as leaf.
133 * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
134 BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
135 BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
136 BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
137 BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
138 BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
139 Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
141 2010-10-05 Anatoly Sokolov <aesok@post.ru>
143 * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
144 * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
145 (m68hc11_class_likely_spilled_p): New function.
147 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
149 * c-parser.c (c_parser_objc_method_definition): Updated comment.
151 2010-10-05 Jan Hubicka <jh@suse.cz>
153 * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
155 * opts.c (decode_options): Handle lto partitions.
156 * common.opt (flto-partition=1to1, flto-partition=balanced): New.
157 * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
159 2010-10-05 Jan Hubicka <jh@suse.cz>
161 * cgraphunit.c (assemble_function): Output thunks and aliases before
164 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
166 * config/picochip/picochip.c (picochip_option_override): Disable
167 exception flags for picochip.
169 2010-10-05 Joseph Myers <joseph@codesourcery.com>
171 * opts-common.c (handle_option, handle_generated_option,
172 read_cmdline_option, set_option): Add diagnostic_context
173 parameter. Update calls among these functions.
174 (set_option): Don't use global_dc.
175 * opts.c (read_cmdline_options): Pass global_dc to
177 (decode_options): Pass global_dc to enable_warning_as_error.
178 (common_handle_option): Pass global_dc to enable_warning_as_error.
179 (enable_warning_as_error): Add diagnostic_context parameter.
180 Document parameters. Don't use global_dc. Pass
181 diagnostic_context parameter to handle_generated_option.
182 * opts.h (set_option, handle_option, handle_generated_option,
183 read_cmdline_option, enable_warning_as_error): Add
184 diagnostic_context parameter.
185 * Makefile.in (lto-opts.o): Update dependencies.
186 * coretypes.h (struct diagnostic_context, diagnostic_context):
188 * diagnostic.h (diagnostic_context): Don't declare typedef here.
189 * gcc.c (process_command): Pass global_dc to read_cmdline_option.
190 * langhooks-def.h (struct diagnostic_context): Don't declare here.
191 (lhd_print_error_function, lhd_initialize_diagnostics): Declare
192 using diagnostic_context typedef.
193 * langhooks.c (lhd_initialize_diagnostics): Declare using
194 diagnostic_context typedef.
195 * langhooks.h (struct diagnostic_context): Don't declare here.
196 (initialize_diagnostics, print_error_function): Declare using
197 diagnostic_context typedef.
198 * lto-opts.c: Include diagnostic.h.
199 (lto_reissue_options): Pass global_dc to set_option. Pass
200 DK_UNSPECIFIED not 0.
201 * plugin.c (plugins_internal_error_function): Declare using
202 diagnostic_context typedef.
203 * plugin.h (struct diagnostic_context): Don't declare here.
204 (plugins_internal_error_function): Declare using
205 diagnostic_context typedef.
207 2010-10-05 Olivier Hainque <hainque@adacore.com>
208 Nicolas Roche <roche@adacore.com>
210 * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
211 * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
213 2010-10-05 Ira Rosen <irar@il.ibm.com>
215 PR tree-optimization/45752
216 * tree-vect-slp.c (vect_get_mask_element): Remove static
217 variables, make them function arguments.
218 (vect_transform_slp_perm_load): Pass new arguments to
219 vect_get_mask_element.
221 2010-10-05 Richard Guenther <rguenther@suse.de>
223 * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
224 (gimple_mod_pow2): Likewise.
225 (gimple_mod_subtract): Likewise.
226 (gimple_ic): Likewise.
227 (gimple_stringop_fixed_value): Likewise.
228 * tree-profile.c (tree_init_edge_profiler): Mark profile
229 functions nothrow and leaf.
230 (add_abnormal_goto_call_edges): Remove.
231 (tree_gen_edge_profiler): Work on SSA form.
232 (tree_gen_ic_profiler): Likewise. Simplify.
233 (do_tree_profiling): Update SSA form.
234 (pass_tree_profile): Remove.
235 (do_tree_profiling): Likewise.
236 (gate_tree_profile_ipa): New function.
237 (pass_ipa_tree_profile): New.
238 (tree_profiling): Re-write as IPA pass. Properly drop const/pure
239 state of instrumented functions.
240 * passes.c (init_optimization_passes): Remove early non-SSA
241 inlining. Move profiling after early optimizations.
242 * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
243 (pass_ipa_early_inline): Likewise.
244 * tree-pass.h (pass_ipa_early_inline): Remove.
245 (pass_tree_profile): Likewise.
246 (pass_ipa_tree_profile): Declare.
248 2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
249 Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
251 * gcc/config/s390/s390.c (z196_cost): New.
252 (s390_handle_arch_option): Add -march=z196.
253 (s390_option_override): Use the new cost function and use the z10
254 defaults also for z196.
255 (legitimate_reload_constant_p): Adjust comment.
256 (legitimate_reload_fp_constant_p): New function.
257 (s390_preferred_reload_class): Distingiush between FP and Int constants.
258 (preferred_la_operand_p): Avoid la with index on z196.
259 (s390_adjust_priority): Trigger also for z196.
260 (s390_issue_rate): Issue rate for z196 is 3.
261 (s390_z10_fix_long_loop_prediction): Rename to ...
262 (s390_fix_long_loop_prediction): ... this.
263 (s390_reorg): Apply the z10 adjustments also for z196.
264 (s390_loop_unroll_adjust): Do this also for z196.
265 * gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
266 (enum processor_flags): Add PF_Z196.
267 (TARGET_AVOID_CMP_AND_BRANCH): New macro.
268 (TARGET_CPU_Z196, TARGET_Z196): New macros.
269 * gcc/config.gcc: Enable z196 for --with-arch.
270 * gcc/config/s390/2817.md: New file.
271 * gcc/config/s390/2084.md: New type for multiply and add.
272 * gcc/config/s390/2097.md: Likewise.
273 * gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
274 (UNSPECV_ATOMIC_OP): New constants.
275 (fmadddf, fmaddsf): New values for type attribute.
276 (z196prop): New insn attribute.
277 (cpu, cpu_facility): Add z196.
278 (ATOMIC_Z196): New code iterator.
279 (noxa): New code attribute.
280 (gk): New mode attribute.
281 (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
282 Support load zero for fp constants.
283 (fixuns_truncdddi2, fixuns_trunctddi2)
284 (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
286 (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
287 (popcounthi2, popcountqi2): New expander.
288 (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
289 (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
290 (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
292 (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
293 (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
294 (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc, *sub<mode>3)
295 (*sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly, *sub<mode>3_cc)
296 (*sub<mode>3_cc2, *sub<mode>3_cconly, *sub<mode>3_cconly2)
297 (*anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc, *andsi3_cconly)
298 (*andsi3_zarch, *andsi3_esa, *andhi3_zarch, *andqi3_zarch, *iordi3_cc)
299 (*iordi3_cconly, *iordi3, *iorsi3_cc, *iorsi3_cconly, *iorsi3_zarch)
300 (*iorhi3_zarch, *iorqi3_zarch, *xordi3_cc, *xordi3_cconly, *xordi3)
301 (*xorsi3_cc, *xorsi3_cconly, *xorsi3, *xorhi3, *xorqi3, *<shift><mode>3)
302 (*<shift><mode>3_and, *ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
303 (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
304 Support new z196 instructions.
306 2010-10-05 Richard Guenther <rguenther@suse.de>
309 * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
310 case where gimplification optimizes away the stmt.
312 2010-10-04 Jakub Jelinek <jakub@redhat.com>
315 * var-tracking.c (strip_pointer_flags): New function.
316 (emit_note_insn_var_location): If rtx_equal_p check failed,
317 retry on locations simplified with simplify_replace_fn_rtx
318 and strip_pointer_flags as its callback.
320 2010-10-04 Jan Hubicka <jh@suse.cz>
322 * gimple-fold.c (static_object_in_other_unit_p): Rename to...
323 (can_refer_decl_in_current_unit_p): ... this one; reverse return
324 value; handle comdats too.
325 (canonicalize_constructor_val): Use it; handle function_decls
327 (gimple_fold_obj_type_ref_known_binfo): Likewise.
328 * gimple.c (get_base_address): Accept all kinds of decls.
330 2010-10-04 Joseph Myers <joseph@codesourcery.com>
332 * flags.h (g_switch_value, g_switch_set): Remove.
333 * opts.c (g_switch_value, g_switch_set): Remove.
334 * config/g.opt (G): Add Var(g_switch_value).
335 * config/alpha/alpha.c (alpha_handle_option): Don't handle -G
337 (alpha_option_override): Check global_options_set.x_g_switch_value
338 instead of g_switch_set.
339 (alpha_in_small_data_p): Remove cast in comparison with
341 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
342 g_switch_value to unsigned HOST_WIDE_INT.
343 * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
345 (frv_handle_option): Don't handle -G here.
346 (frv_option_override): Check global_options_set.x_g_switch_value
347 instead of g_switch_set. Don't modify g_switch_set.
348 (frv_in_small_data_p): Remove cast in comparison with
350 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
351 g_switch_value to unsigned HOST_WIDE_INT.
352 * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
353 (ia64_option_override): Check global_options_set.x_g_switch_value
354 instead of g_switch_set.
355 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
357 (lm32_in_small_data_p): Remove cast in comparison with
359 * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
360 ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
362 * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
363 (m32r_init): Check global_options_set.x_g_switch_value instead of
365 (m32r_in_small_data_p): Remove cast in comparison with
367 (m32r_file_start): Format g_switch_value with %d.
368 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
369 ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned
371 * config/microblaze/microblaze.c (microblaze_handle_option): Don't
373 (microblaze_option_override): Check
374 global_options_set.x_g_switch_value instead of g_switch_set.
375 * config/mips/mips.c (mips_handle_option): Don't handle -G here.
376 (mips_option_override): Check global_options_set.x_g_switch_value
377 instead of g_switch_set.
378 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G
380 (rs6000_file_start): Format g_switch_value with %d.
381 (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
382 comparisons with g_switch_value.
383 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
384 global_options_set.x_g_switch_value instead of g_switch_set.
385 * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
386 global_options_set.x_g_switch_value instead of g_switch_set.
387 * config/score/score.c (score_handle_option): Don't handle -G
389 * config/score/score3.c (score3_option_override): Check
390 global_options_set.x_g_switch_value instead of g_switch_set.
391 * config/score/score7.c (score7_option_override): Check
392 global_options_set.x_g_switch_value instead of g_switch_set.
394 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
396 * common.opt (fira-coalesce): Remove.
398 * doc/invoke.texi (flag_ira_coalesce): Remove.
400 * ira-color.c (allocno_coalesced_p): Move before
401 copy_freq_compare_func.
402 processed_coalesced_allocno_bitmap): Ditto.
403 (update_conflict_hard_regno_costs): Don't use
404 ALLOCNO_FIRST_COALESCED_ALLOCNO.
405 (allocno_cost_compare_func, print_coalesced_allocno): Remove.
406 (assign_hard_reg): Assume no coalesced allocnos.
407 (get_coalesced_allocnos_attributes): Remove.
408 (bucket_allocno_compare_func): Assume no coalesced allocnos.
409 (push_allocno_to_stack): Ditto.
410 (remove_allocno_from_bucket_and_push): Use
411 ira_print_expanded_allocno instead of print_coalesced_allocno.
412 (push_allocnos_to_stack): Assume uncoalesced allocnos.
413 (all_conflicting_hard_regs_coalesced): Ditto. Rename to
414 all_conflicting_hard_regs.
415 (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
416 (setup_allocno_left_conflicts_size): Ditto.
417 (put_allocno_into_bucket): Ditto.
418 (copy_freq_compare_func): Remove.
419 (copy_freq_compare_func, merge_allocnos): Move before
420 coalesced_pseudo_reg_freq_compare.
421 coalesced_allocno_conflict_p): Ditto.
422 (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove
423 parameter. Assume it true.
424 (color_allocnos): Assume uncoalesced allocnos. Use
425 ira_print_expanded_allocno instead of print_coalesced_allocno.
426 (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
429 * ira.c: Remove comment about coalescing.
431 2010-10-04 Joseph Myers <joseph@codesourcery.com>
433 * config/mips/mips.h (target_flags_explicit): Declare for
436 2010-10-04 Andi Kleen <ak@linux.intel.com>
438 * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
439 gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
441 2010-10-04 Matthias Klose <doko@ubuntu.com>
443 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
444 multilib osdirname if it exists.
445 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
447 2010-10-04 Jakub Jelinek <jakub@redhat.com>
450 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
451 arg0's type or its unsigned counterpart as utype. Convert
452 arg1 to utype unconditionally.
454 2010-10-04 Julian Brown <julian@codesourcery.com>
456 * expr.c (expand_assignment): Add assertion to prevent emitting
457 null rtx for movmisalign pattern.
458 (expand_expr_real_1): Likewise.
459 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
460 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
461 (arm_vector_alignment_reachable): New.
462 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
463 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
464 (arm_print_operand): Include alignment qualifier in %A.
465 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
466 (movmisalign<mode>): New expander.
467 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
470 2010-10-04 Joseph Myers <joseph@codesourcery.com>
472 * optc-gen.awk: Define global_options_set. Don't define
473 target_flags_explicit.
474 * opth-gen.awk: Declare global_options_set. Define
475 target_flags_explicit as macro.
476 * opts-common.c (handle_option): Take opts_set and generated_p
478 (handle_generated_option, read_cmdline_option, set_option): Take
480 (set_option): Use opts_set instead of hardcoding target_flags and
481 target_flags_explicit.
482 * opts.c (sel_sched_switch_set, profile_arc_flag_set,
483 flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
484 flag_value_profile_transformations_set, flag_peel_loops_set,
485 flag_branch_probabilities_set, flag_inline_functions_set,
486 flag_ipa_cp_set, flag_ipa_cp_clone_set,
487 flag_predictive_commoning_set, flag_unswitch_loops_set,
488 flag_gcse_after_reload_set): Remove.
489 (common_handle_option, lang_handle_option, target_handle_option):
490 Take opts_set parameter. Assert that it is &global_options_set.
491 (common_handle_option): Don't set _set variables. Check opts_set
492 instead of such variables.
493 (enable_warning_as_error): Pass &global_options_set to
494 handle_generated_option.
495 * opts.h (cl_option_handler_func.handler, set_option,
496 handle_option, handle_generated_option, read_cmdline_option): Add
498 (handle_option): Add generated_p parameter.
499 * config/i386/i386.c (ix86_function_specific_save,
500 ix86_function_specific_restore): Updat for renaming of
501 target_flags_explicit field.
502 * config/i386/i386.opt (target_flags_explicit): Rename to
503 ix86_target_flags_explicit.
504 * config/ia64/ia64.c (ia64_override_options_after_change): Check
505 global_options_set.x_flag_selective_scheduling and
506 global_options_set.x_flag_selective_scheduling2, not
507 sel_sched_switch_set.
508 * flags.h (sel_sched_switch_set,
509 flag_speculative_prefetching_set): Remove.
510 * gcc.c (driver_handle_option): Take opts_set parameter. Assert
511 that it is &global_options_set.
512 (process_command): Pass &global_options_set to
514 * lto-opts.c (lto_reissue_options): Pass &global_options_set to
516 * toplev.c (target_flags_explicit): Remove.
518 2010-10-04 Jan Hubicka <jh@suse.cz>
521 * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
522 use get_ref_base_and_offset to handle references.
523 (fold_const_aggregate_ref): Update.
525 2010-10-04 Martin Jambor <mjambor@suse.cz>
527 PR tree-optimization/45572
528 * ipa-prop.c (ipa_make_edge_direct_to_target): Call
529 ipa_check_create_node_params.
530 * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
532 2010-10-04 Yao Qi <yao@codesourcery.com>
534 * doc/passes.texi: Clean up.
536 2010-10-03 Ian Lance Taylor <iant@google.com>
538 * c-typeck.c (lookup_field): If -fplan9-extensions, permit
539 referring to a field using a typedef name.
540 (find_anonymous_field_with_type): New static function.
541 (convert_to_anonymous_field): New static function.
542 (convert_for_assignment): If -fplan9-extensions, permit converting
543 pointer to struct to pointer to anonymous field.
544 * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous
546 (is_duplicate_field): New static function.
547 (detect_field_duplicates_hash): If -fplan9-extensions, check for
548 typedef names duplicating field names.
549 (detect_field_duplicates): Likewise.
550 * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
551 (C Dialect Options): Document -fplan9-extensions.
552 * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
554 2010-10-03 H.J. Lu <hongjiu.lu@intel.com>
556 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
558 (vect_create_data_ref_ptr): Likewise.
559 * tree-vect-stmts.c (vectorizable_store): Likewise.
560 (perm_mask_for_reverse): Likewise.
561 (reverse_vec_elements): Likewise.
562 (vectorizable_load): Likewise.
564 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
566 * cppbuiltin.c: New file.
567 * cppbuiltin.h: New file.
568 * Makefile.in: Take into account cppbuiltin.{h,c}.
570 2010-10-03 Andi Kleen <ak@linux.intel.com>
572 * lto-cgraph.c (input_cgraph): Check for missing sections.
574 2010-10-03 Uros Bizjak <ubizjak@gmail.com>
576 * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 preticate
577 to nonimmediate_operand. Force operand 2 to register when allowed.
578 (*<shiftrt_insn><mode>3_mask): Ditto.
579 (*<rotate_insn><mode>3_mask): Ditto.
581 2010-10-02 H.J. Lu <hongjiu.lu@intel.com>
583 PR tree-optimization/45720
584 PR tree-optimization/45764
585 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
586 Don't accept backwards consecutive accesses.
587 (vect_create_data_ref_ptr): Disallow negative steps.
589 * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
590 (perm_mask_for_reverse): Removed.
591 (reverse_vec_elements): Likewise.
592 (vectorizable_load): Don't handle negative steps.
594 2010-10-02 Jan Hubicka <jh@suse.cz>
596 * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
597 call destination is known.
599 2010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
602 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
605 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
607 * doc/install.texi (Configuration): Document build_configargs,
608 host_configargs, target_configargs.
610 2010-10-01 Uros Bizjak <ubizjak@gmail.com>
612 * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
613 (*<shiftrt_insn><mode>3_mask): Ditto.
614 (*<rotate_insn><mode>3_mask): Ditto.
616 2010-10-01 Steve Ellcey <sje@cup.hp.com>
618 PR tree-optimization/44716
619 * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
620 (HOT_TEXT_SECTION_NAME): Define.
622 2010-10-01 Nick Clifton <nickc@redhat.com>
624 * common.opt: Add -fcombine-stack-adjustments.
625 * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
626 * combine-stack-adj.c (gate_handle_stack_adjustments): Check
627 flag_combine_stack_adjustments.
628 * doc/invoke.texi: Document the new option.
630 2010-10-01 Richard Guenther <rguenther@suse.de>
632 PR tree-optimization/45854
633 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
635 2010-10-01 Anthony Green <green@moxielogic.com>
637 * config.gcc: Fix moxie-*-rtems* configuration.
639 2010-10-01 Richard Guenther <rguenther@suse.de>
641 * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
642 (gen_decl_die): Likewise.
644 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
646 * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
647 to the function code for SPU MD builtins.
648 (spu_expand_builtin): Update.
649 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
651 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
653 * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
654 sjlj_except_unwind_info.
656 2010-10-01 Tristan Gingold <gingold@adacore.com>
658 * configure.ac: Define the nop insn for avr*-*-*
659 * configure: Regenerate.
661 2010-10-01 Alan Modra <amodra@gmail.com>
664 * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
665 extend toc_restore_insn.
667 2010-09-30 Richard Guenther <rguenther@suse.de>
669 PR tree-optimization/43959
670 * function.c (gimplify_parameters): Use create_tmp_reg instead of
673 2010-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
675 * config/sh/sh.c (sh_expand_prologue): Set
676 current_function_static_stack_size.
678 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
680 * configure.ac: Check for Solaris 8 ld with .hidden support.
681 * configure: Regenerate.
683 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
686 * graphite.c (graphite_initialize): Call scev_reset.
688 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
690 * sese.h (scev_analyzable_p): Return false for real or floating
691 point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
693 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
695 * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
697 * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
699 * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
700 Do not allocate ub_expr, it is passed in initialized.
702 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
704 * graphite-clast-to-gimple.c (init_cloog_input_file): New.
705 (build_cloog_prog): Dump CLooG input file when
706 flag_graphite_dump_cloog is set. This is disabled on trunk.
707 * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
709 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
711 * graphite-clast-to-gimple.c (graphite_verify): Remove call to
712 verify_dominators for CDI_POST_DOMINATORS.
713 * sese.h: Remove comment about CDI_POST_DOMINATORS.
714 (recompute_all_dominators): Remove call to free_dominance_info
715 for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
716 for CDI_POST_DOMINATORS.
718 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
720 * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
721 over pbb_dim_iter_domain.
723 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
725 * graphite-flattening.c: Fix comments.
727 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
729 * Makefile.in (OBJS-common): Add graphite-flattening.o.
730 (graphite-flattening.o): New rule.
731 * common.opt (floop-flatten): New flag.
732 * doc/invoke.texi (-floop-flatten): Documented.
733 * graphite-flattening.c: New.
734 * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
735 * graphite-poly.h (flatten_all_loops): Declared.
736 (lst_remove_loop_and_inline_stmts_in_loop_father): New.
737 * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
738 is set, also set flag_graphite.
740 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
742 * graphite-poly.c (cloog_checksum): New.
743 * graphite-poly.h (cloog_checksum): Declared.
745 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
747 * graphite-poly.c (pbb_number_of_iterations): Removed.
748 (pbb_number_of_iterations_at_time): Correctly compute the number
749 of iterations in the transformed loop.
750 * graphite-poly.h (pbb_number_of_iterations): Removed.
752 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
754 * graphite-poly.h (lst_update_scattering_seq): Removed.
755 (lst_update_scattering): Correctly handle outermost loop dewey
758 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
760 * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
761 lst_strip_mine_profitable_p. Call lst_niter_for_loop.
762 * graphite-poly.h (lst_niter_for_loop): New.
764 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
766 * graphite-poly.c (apply_poly_transforms): Do not abort when the
767 transform read from disk is not legal. Call fatal_error instead.
769 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
771 * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
772 (print_scop_header): Removed. Inlined in the only call place...
773 (print_scop): ... here.
775 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
777 * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
779 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
781 * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
783 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
785 * graphite-dependences.c (dot_deps): Avoid set but not used warning.
786 (dot_deps_stmt): Same.
787 * graphite-poly.c (dot_lst): Same.
789 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
791 * graphite-blocking.c (scop_do_strip_mine): Do not call
792 graphite_legal_transform.
793 (scop_do_block): Same.
795 2010-09-30 Vladimir Kargov <kargov@gmail.com>
797 * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
800 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
802 * tree-scalar-evolution.c (instantiate_array_ref): New.
803 (instantiate_scev_r): Also handle ARRAY_REFs.
805 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
807 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
808 Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
809 RESULT_DECL, and FIELD_DECL. Return false for an
810 SSA_NAME_IS_DEFAULT_DEF.
811 (compute_scalar_evolution_in_loop): Do not further analyze the
812 scalar evolution when no_evolution_in_loop_p returns true.
814 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
816 * tree-chrec.h (evolution_function_is_affine_p): Do not check
817 whether CHREC_LEFT is invariant. A function is affine when
818 CHREC_RIGHT is invariant.
820 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
822 * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
824 (rewrite_degenerate_phi): Same.
825 (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
827 2010-09-30 Vladimir Kargov <kargov@gmail.com>
829 * graphite-scop-detection.c (graphite_can_represent_scev,
830 graphite_can_represent_expr, stmt_has_simple_data_refs_p,
831 graphite_can_represent_loop): Remove outermost_loop.
833 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
836 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
837 handle GIMPLE_CALLs with no LHS.
839 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
841 * graphite-poly.c (init_graphite_out_file): New.
842 (init_graphite_in_file): New.
843 (apply_poly_transforms): Updated to enable reading and writing of
846 2010-09-30 Tobias Grosser <grosser@fim.uni-passau.de>
848 * graphite-scop-detection.c (graphite_can_represent_scev): Remove
851 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
853 * graphite-clast-to-gimple.c (precision_for_value): Adjust
854 computation of precision by 1.
856 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
858 * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
859 (openscop_read_polyhedron_matrix): New.
860 * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
861 (openscop_read_N_int): Same.
862 * graphite-poly.c (openscop_read_N_int): New.
863 (openscop_read_one_int): New.
864 (openscop_read_N_string): New.
865 (openscop_read_one_string): New.
866 (openscop_read_powerset_matrix): New.
867 (graphite_read_transforms): Remove.
868 (graphite_read_scatt): New.
869 (graphite_read_scop_file): New.
870 (apply_poly_transforms): Updated to call graphite_read_scop_file.
872 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
874 * graphite-poly.c: Change include order.
876 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
878 * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
879 (cloog_matrix_nrows): New.
881 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
883 * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
885 * graphite-poly.c (openscop_print_scattering_function_1): Same.
886 (print_scattering_function_1): Same.
887 (openscop_print_pbb_domain): Same.
888 (openscop_print_scop_context): Same.
889 (print_scop_context): Same.
891 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
893 * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
894 (openscop_print_pdr_polyhedron): Print pph.
896 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
898 * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
899 priority signed types.
901 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
903 * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
904 the call to lang_hooks.types.type_for_size. Call
905 build_nonstandard_integer_type.
907 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
909 * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
910 (openscop_print_polyhedron_matrix): New.
911 * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
912 * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
913 (openscop_print_pdr_powerset): New.
914 (openscop_print_powerset_matrix): New.
915 (openscop_print_scattering_function_1): New.
916 (print_scattering_function): Add support for scattering names and
918 (graphite_write_transforms): Remove.
919 (print_pdr_access_layout): Updated to support OpenScop format.
921 (openscop_print_pbb_domain): New.
922 (print_pbb_body): Added a parameter to allow indicating that pbb_body
924 (print_pbb): Updated to call the new print_pbb_body.
925 (openscop_print_scop_context): New.
926 (print_scop_header): New.
927 (print_scop): Updated to call print_scop_header.
928 * graphite-poly.h: Document OpenScop format.
930 2010-09-30 Anatoly Sokolov <aesok@post.ru>
932 * config/cris/m32c.c (cris_memory_move_cost): New.
933 (cris_register_move_cost): Make static. Change arguments type from
934 enum reg_class to reg_class_t.
935 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
936 * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
937 * config/cris/cris-protos.h (cris_register_move_cost): Remove.
939 2010-09-30 Jakub Jelinek <jakub@redhat.com>
942 * config/i386/i386.c (ix86_gimplify_va_arg): Use
943 INTVAL (XEXP (slot, 1)) as prev_size.
945 2010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com>
948 * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
949 * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
951 * config/rs6000/option-defaults.h (toplevel): Change #if
952 TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
953 global option changes.
955 2010-09-30 Jakub Jelinek <jakub@redhat.com>
957 * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
959 PR tree-optimization/31261
960 * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
961 for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
963 2010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
966 * Makefile.in (build/gen%$(build_exeext)): Move rule after all
967 special-casing for generators and turn into ...
968 ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
969 rule, for better error messages in case of toplevel dependency errors.
970 (genprog): Add hooks, rename to ...
971 (genprogerr): ... this, and let genprog also contain check,
973 ((genprog:%=build/gen%$(build_exeext))): Rename to ...
974 ((genprogerr:%=build/gen%$(build_exeext))): ... this.
975 (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
977 2010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
978 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
980 * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
981 for GMP, MPFR and MPC.
983 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
985 * config/sparc/sparc.opt (mimpure-text): Move ...
986 * config/sol2.opt: ... here. Correct description.
987 * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
988 * doc/invoke.texi (Option Summary, SPARC Options): Move
989 -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
990 (Option Summary, Solaris 2 Options): ... here.
991 (Submodel Options, Solaris 2 Options): New menu entry.
992 (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
993 (Solaris 2 Options): ... here.
995 2010-09-30 Michael Eager <eager@eagercon.com>
997 * extend.texi (interrupt_handler): Add MicroBlaze to list.
998 (save_volatiles): Describe option for MicroBlaze.
999 * invoke.texi: Add MicroBlaze Options.
1000 * contrib.texi: Add acknowledgment.
1001 * md.texi: Add MicroBlaze d and z constraints.
1002 * install.texi: Add microblaze-*-elf.
1003 * configure.ac: Add microblaze-*-* to target list.
1004 * configure: Regenerate.
1005 * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
1006 * config/microblaze/microblaze-protos.h: New.
1007 * config/microblaze/crti.s: New.
1008 * config/microblaze/predicates.md: New.
1009 * config/microblaze/linux.h: New.
1010 * config/microblaze/microblaze.md: New.
1011 * config/microblaze/constraints.md: New.
1012 * config/microblaze/crtn.s: New.
1013 * config/microblaze/microblaze.opt: New.
1014 * config/microblaze/microblaze-c.c: New.
1015 * config/microblaze/t-microblaze: New.
1016 * config/microblaze/microblaze.c: New.
1017 * config/microblaze/microblaze.h: New.
1019 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
1021 * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
1022 parse @optional/@required and set the flags as appropriate.
1024 2010-09-30 Nathan Froyd <froydnj@codesourcery.com>
1026 * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
1028 2010-09-30 Joseph Myers <joseph@codesourcery.com>
1030 * opt-functions.awk (static_var): Update comment.
1031 (var_ref): Return offsetof expression or -1, not variable address.
1032 * optc-gen.awk: Generate structure field initializers instead of
1033 static variables. Expect -1 for missing variables instead of null
1034 pointer. Add gcc_options parameters to generated functions.
1035 * opth-gen.awk: Generate structure fields for static variables.
1036 Add gcc_options parameters to generated functions.
1037 * common.opt (optimize, optimize_size): Add variables.
1038 * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
1039 &global_options to cl_target_option_restore.
1040 * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
1041 &global_options to cl_optimization_restore, cl_target_option_save
1042 and cl_target_option_restore.
1043 (ix86_set_current_function): Pass &global_options to
1044 cl_target_option_restore.
1045 * config/pdp11/pdp11.h (optimize): Remove.
1046 * config/rs6000/rs6000.h (optimize): Remove.
1047 * config/sh/sh.h (optimize): Remove.
1048 * config/xtensa/xtensa.h (optimize): Remove.
1049 * coretypes.h (struct gcc_options): Declare.
1050 * diagnostic.c (diagnostic_initialize): Initialize
1051 context->option_state.
1052 (diagnostic_report_diagnostic): Pass option_state to
1053 option_enabled hook.
1054 * diagnostic.h (diagnostic_context.option_enabled): Add void *
1056 (diagnostic_context.option_state): New field.
1057 * final.c (final_start_function, final, final_scan_insn): Rename
1058 optimize parameter to optimize_p.
1059 * flags.h (optimize, optimize_size): Remove.
1060 * function.c (invoke_set_current_function_hook): Pass
1061 &global_options to cl_optimization_restore.
1062 * gcc.c (driver_handle_option): Take gcc_options parameter.
1063 Assert that it is &global_options.
1064 (process_command): Pass &global_options to read_cmdline_option.
1065 * ipa-pure-const.c (suggest_attribute): Pass &global_options to
1067 * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
1068 &global_options to set_option.
1069 * opts-common.c (handle_option, handle_generated_option,
1070 read_cmdline_option, set_option): Take explicit gcc_options
1071 parameters. Use option_flag_var.
1072 (option_flag_var): New.
1073 * opts.c (common_handle_option, lang_handle_option,
1074 target_handle_option): Take gcc_options parameter. Assert that it
1076 (read_cmdline_options): Pass &global_options to read_cmdline_option.
1077 (print_filtered_help): Use option_flag_var. Pass &global_options
1079 (common_handle_option): Use option_flag_var.
1080 (option_enabled): Take opts parameter. Use option_flag_var.
1081 (get_option_state): Take gcc_options parameter. Use
1082 option_flag_var. Pass gcc_options parameter to option_enabled.
1083 (enable_warning_as_error): Pass &global_options to
1084 handle_generated_option.
1085 * opts.h (struct cl_option): Change flag_var to flag_var_offset.
1086 (cl_option_handler_func.handler): Take gcc_options parameter.
1087 (option_enabled, get_option_state, set_option, handle_option,
1088 handle_generated_option, read_cmdline_option): Take gcc_options
1090 * toplev.c (optimize, optimize_size): Remove.
1091 (print_switch_values): Pass &global_options to option_enabled.
1092 (option_affects_pch_p): Use option_flag_var. Pass &global_options
1093 to get_option_state.
1094 (general_init): Initialize global_dc->option_state.
1095 * tree.c (build_optimization_node): Pass &global_options to
1096 cl_optimization_save.
1097 (build_target_option_node): Pass &global_options to
1098 cl_target_option_save.
1100 2010-09-30 Martin Jambor <mjambor@suse.cz>
1102 * tree-sra.c (type_consists_of_records_p): Do not check for trailing
1103 zero sized bit-fields.
1105 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
1107 * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
1108 Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
1109 (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
1110 (c_parser_objc_class_declaration): Same change.
1111 (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
1112 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
1113 (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
1114 instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
1115 and RID_AT_PUBLIC instead of RID_PUBLIC.
1116 (c_parser_statement_after_labels): Use RID_AT_TRY instead of
1117 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
1119 2010-09-30 Tom G. Christensen <tgc@jupiterrise.com>
1121 * doc/install.texi (Binaries): Update link to HP-UX porting centre.
1122 Add links to current providers of packages for Solaris and IRIX.
1124 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
1126 Merge from 'apple/trunk' branch on FSF servers.
1127 * c-parser.c: Applied change originally in c-parse.in.
1129 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
1132 * c-decl.c (start_decl): Check for redeclaration of class name.
1133 * c-parse.in (after_type_declarator): Recognize CLASSNAME.
1135 2010-09-29 Steve Ellcey <sje@cup.hp.com>
1137 * config/ia64/ia64.c (ia64_builtin_decl): New.
1138 (TARGET_BUILTIN_DECL): Define.
1139 (ia64_builtins): New.
1140 (ia64_init_builtins): Save decls in ia64_builtins.
1142 2010-09-29 Bernd Schmidt <bernds@codesourcery.com>
1145 * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
1146 (move2add_use_add3_insn): Likewise.
1147 (reload_cse_move2add): Likewise.
1148 * rtlanal.c (get_full_rtx_cost): New function.
1149 * rtl.h (struct full_rtx_costs): New.
1150 (init_costs_to_max, init_costs_to_zero, costs_lt_p,
1151 costs_add_n_insns): New inline functions.
1152 (get_full_rtx_cost): Declare.
1155 * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
1156 invariants. Check for reg_equiv_invariant.
1157 (reload): Assert that spilled_pseudos is empty when returning.
1159 2010-09-29 Kai Tietz <kai.tietz@onevision.com>
1161 * config/i386/mingw32.h (TARGET_64BIT): replaced by
1162 TARGET_64BIT_DEFAULT in #if check.
1164 2010-09-29 Jack Howarth <howarth@bromo.med.uc.edu>
1166 * varasm.c (assemble_alias): Add error message for unsupported ifunc.
1168 2010-09-29 Mike Stump <mikestump@comcast.net>
1170 * config/darwin.h (flag_mkernel): Remove.
1171 (flag_apple_kext): Likewise.
1173 2010-09-29 Joseph Myers <joseph@codesourcery.com>
1174 Jack Howarth <howarth@bromo.med.uc.edu>
1176 * config/darwin.opt (undefined): Add.
1178 2010-09-29 Nathan Sidwell <nathan@codesourcery.com>
1181 * configure.ac: Add --enable-indirect-function option.
1182 * config.gcc: Add default_gnu_indirect_function.
1183 * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
1184 (HAVE_GNU_INDIRECT_FUNCTION): ... this.
1185 * varasm.c (do_assemble_alias): Adjust for macro name change.
1186 * configure: Rebuilt.
1187 * doc/install.texi: Document --enable-indirect-function.
1189 2010-09-29 Joseph Myers <joseph@codesourcery.com>
1191 * doc/options.texi (Variable, Var, Init): Update documentation
1192 without reference to VarExists.
1193 (VarExists): Remove.
1194 * common.opt, config/i386/i386.opt, config/linux.opt,
1195 config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
1196 Don't use VarExists.
1198 2010-09-29 Joseph Myers <joseph@codesourcery.com>
1200 * optc-gen.awk: Generate global_options initializer instead of
1201 individual variables. Add x_ prefix to names of structure members.
1202 * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
1203 names of structure members.
1204 * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
1205 HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
1206 * doc/tm.texi: Regenerate.
1207 * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
1208 * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
1209 * c-parser.c (disable_extension_diagnostics,
1210 restore_extension_diagnostics): Update names of cpp_options members.
1211 * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
1212 * common.opt (fcompare-debug-second): Don't use Var.
1213 * config/alpha/alpha.h (target_flags): Remove.
1214 * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
1215 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
1216 * config/bfin/bfin.h (target_flags): Remove.
1217 * config/cris/cris.h (target_flags): Remove.
1218 * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
1219 cl_target_option members.
1220 * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
1221 (ix86_function_specific_print, ix86_valid_target_attribute_tree,
1222 ix86_can_inline_p): Update names of cl_target_option members.
1223 * config/i386/i386.h (ix86_isa_flags): Remove.
1224 * config/lm32/lm32.h (target_flags): Remove.
1225 * config/mcore/mcore.h (mcore_stack_increment): Remove.
1226 * config/mcore/mcore.md (addsi3): Remove extern declaration of
1227 flag_omit_frame_pointer.
1228 * config/mep/mep.h (target_flags): Remove.
1229 * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
1230 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
1231 * config/mmix/mmix.h (target_flags): Remove.
1232 * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
1233 flag_expensive_optimizations): Remove.
1234 * config/s390/s390.h (flag_pic): Remove.
1235 * config/score/score-conv.h (target_flags): Remove.
1236 * config/sh/sh.h (sh_fixed_range_str): Remove.
1237 * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
1238 * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
1239 * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
1240 * diagnostic.c (diagnostic_initialize): Update names of
1241 diagnostic_context members.
1242 * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
1243 warn_system_headers.
1244 (diagnostic_report_warnings_p): Update for new names.
1245 * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
1246 * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
1247 HARD_FRAME_POINTER_IS_ARG_POINTER.
1248 * flags.h (flag_compare_debug): Declare.
1249 * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
1250 * opts.c (flag_compare_debug): Define.
1251 (common_handle_option): Update names of diagnostic_context
1252 members. Handle -fcompare-debug-second.
1253 (fast_math_flags_struct_set_p): Update names of cl_optimization
1255 * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
1256 * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
1257 * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
1258 * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
1259 * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
1260 * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
1261 HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
1262 * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
1263 * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
1265 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
1267 * config/picochip/picochip.c (picochip_output_internal_label):
1268 This function can now be called for debug CFI labels, which can come
1269 in the middle of a vliw instruction. Postpone until end of vliw.
1271 2010-09-29 Richard Guenther <rguenther@suse.de>
1273 * tree.h (SCOPE_FILE_SCOPE_P): New macro.
1274 (DECL_FILE_SCOPE_P): Use it.
1275 (TYPE_FILE_SCOPE_P): New macro.
1277 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
1279 * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
1280 a CPP_NAME which is a reserved word, clearly separate cases for
1281 OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
1283 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
1285 * c-parser.c (c_lex_one_token): In Objective-C, do not replace
1286 token->value with the canonical spelling. Do exactly like C and
1287 C++ and leave it as it is.
1289 2010-09-28 Richard Henderson <rth@redhat.com>
1291 * config/alpha/alpha.c (alpha_builtins): New.
1292 (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
1293 (alpha_builtin_function): New.
1294 (alpha_add_builtins, alpha_init_builtins): Use it.
1296 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
1298 * doc/standards.texi (Standards): Expanded the section on
1299 Objective-C and Objective-C++.
1301 2010-09-28 DJ Delorie <dj@redhat.com>
1304 * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
1307 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
1309 * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
1310 attributes on methods.
1311 (c_parser_objc_method_definition): Handle attributes.
1312 (c_parser_objc_methodproto): Likewise.
1313 (c_parser_objc_maybe_method_attributes): New.
1314 (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
1315 missing definition, similar to that in ObjC++.
1317 2010-09-28 Richard Henderson <rth@redhat.com>
1319 * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
1320 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
1321 (CONFIG_SJLJ_EXCEPTIONS): Remove.
1322 (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
1323 (STACK_CHECK_PROTECT): Likewise.
1324 * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
1325 (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
1326 (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
1327 (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
1328 (dwarf2out_assembly_start): Likewise.
1329 * except.c (init_eh): Use targetm.except_unwind_info.
1330 (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
1331 (output_one_function_exception_table): Likewise.
1332 * final.c: Unconditionally include dwarf2out.h.
1333 (final_start_function): Unconditionally call dwarf2out routines.
1334 (final_end_function, final_scan_insn): Likewise.
1335 * function.c (expand_function_end): Use targetm.except_unwind_info.
1336 * opts.c (decode_options): Use targetm.except_unwind_info.
1337 * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
1338 * target.def (debug_unwind_info, except_unwind_info): New.
1339 * target.h (enum unwind_info_type): New.
1340 * targhooks.c (default_debug_unwind_info): New.
1341 (default_except_unwind_info): New.
1342 (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
1343 * targhooks.h: Declare them.
1344 * tree-tailcall.c: Include "target.h"
1345 (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
1346 * Makefile.in (tree-tailcall.o): Update.
1347 * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
1348 (lhd_gcc_personality): Likewise.
1350 * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
1351 (TARGET_EXCEPT_UNWIND_INFO): New.
1352 (DWARF2_UNWIND_INFO): Update.
1353 (TARGET_DEBUG_UNWIND_INFO): New.
1354 * doc/tm.texi: Rebuild.
1356 * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
1357 targetm.except_unwind_info.
1359 * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
1360 (arm_except_unwind_info): New.
1361 (arm_compute_func_type): Use it.
1362 (arm_expand_prologue, thumb_pushpop): Likewise.
1363 (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
1364 (arm_unwind_emit, arm_output_fn_unwind): Likewise.
1365 * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
1366 * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
1367 (DWARF2_UNWIND_INFO): Remove.
1368 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
1369 (ARM_EABI_UNWIND_TABLES): Remove.
1371 * config/ia64/ia64.c (ia64_debug_unwind_info): New.
1372 (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
1373 (ia64_except_unwind_info): New.
1374 (ia64_output_function_prologue): Use it.
1375 (ia64_add_bundle_selector_before): Likewise.
1376 (ia64_reorg, ia64_asm_unwind_emit): Likewise.
1377 * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
1378 (TARGET_UNWIND_INFO): Remove.
1380 * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
1382 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
1384 * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
1385 (c_parser_objc_protocol_definition): Likewise.
1386 (c_parser_external_declaration): Provide dummy attribute arguments.
1387 (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
1388 (c_parser_objc_class_definition): Handle attributes.
1389 (c_parser_objc_protocol_definition): Likewise.
1391 2010-09-28 Tobias Burnus <burnus@net-b.de>
1395 * toplev.h (save_decoded_options, save_decoded_options_count):
1396 New global variables.
1397 * toplev.c (save_decoded_options, save_decoded_options_count):
1400 2010-09-28 Ian Lance Taylor <iant@google.com>
1402 * config/i386/i386.c (ix86_supports_split_stack): Test
1403 HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
1405 2010-09-28 Ian Lance Taylor <iant@google.com>
1408 * opts.c (decode_options): Don't test whether the target supports
1409 split stack if flag_split_stack == 0.
1411 2010-09-28 Jan Hubicka <jh@suse.cz>
1413 * builtin-attrs.def (ATTR_LEAF): New attribute.
1414 (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
1415 ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
1416 ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
1417 ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
1418 ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
1419 ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
1420 ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
1421 * sync-builtins.def: Annotate all builtins by leaf.
1422 * omp-builtins.def: Annotate all builtins by leaf.
1423 * builtins.def: Annotate relevant builtins with leaf attribute.
1424 (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
1425 ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
1428 2010-09-28 Jan Hubicka <jh@suse.cz>
1430 * tree-ssa-ccp.c (fold_ctor_reference): New function.
1431 (fold_const_aggregate_ref): Use it.
1432 * fold-const.c (canonicalize_constructor_val): Check that we don't fold
1433 into external static.
1435 2010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1438 * config/i386/i386.opt (mvect8-ret-in-mem): Define.
1439 * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
1440 (ix86_solaris_return_in_memory): Remove.
1441 * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
1442 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
1443 (TARGET_SUBTARGET_DEFAULT): Redefine.
1444 * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
1445 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
1446 (TARGET_SUBTARGET_DEFAULT): Redefine.
1447 * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
1449 (i386 and x86-64 Options): Document -mvect8-ret-in-mem.
1451 2010-09-29 Alan Modra <amodra@gmail.com>
1454 * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
1455 * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
1456 * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
1458 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
1459 (rs6000_emit_prologue): Don't just create frame save info for r2,
1462 2010-09-28 Richard Henderson <rth@redhat.com>
1464 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
1465 when 8 bytes are requested.
1467 2010-09-28 Tristan Gingold <gingold@adacore.com>
1469 * config/avr/avr.c (expand_prologue): Set
1470 current_function_static_stack_size.
1472 2010-09-28 Tristan Gingold <gingold@adacore.com>
1474 * config/alpha/alpha.md: Change the initial condition of the
1477 2010-09-28 Uros Bizjak <ubizjak@gmail.com>
1479 * config/i386/sse.md (*avx_<umaxmin:code><mode>3):
1480 Split from *avx_<maxmin:code><mode>3.
1481 (*avx_<smaxmin:code><mode>3): Ditto.
1482 * config/i386/i386.md (maxmin): Remove code iterator.
1484 2010-09-27 Ian Lance Taylor <iant@google.com>
1486 * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
1487 requires assembler support for CFI directives.
1489 2010-09-27 Richard Henderson <rth@redhat.com>
1491 * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
1493 2010-09-27 Hans-Peter Nilsson <hp@axis.com>
1495 * emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
1496 that AFTER is not in the range FROM..TO, inclusive.
1498 2010-09-27 Hans-Peter Nilsson <hp@axis.com>
1499 Bernd Schmidt <bernds@codesourcery.com>
1501 PR rtl-optimization/45792
1502 * cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
1503 If not all insns are to be merged, for each edge, stash the
1504 next candidate after the to-be-merged insns before doing the
1505 merge, and use them for the retry at the new insertion point.
1506 Handle CC0 targets when retrying.
1508 2010-09-27 Ian Lance Taylor <iant@google.com>
1510 * common.opt (fsplit-stack): New option.
1511 * opts.c (decode_options): Set flag_split_stack to final value.
1512 * target.def (supports_split_stack): New hook.
1513 * gcc.c (STACK_SPLIT_SPEC): Define.
1514 (LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
1515 * doc/invoke.texi (Option Summary): Mention -fsplit-stack.
1516 (Code Gen Options): Document -fsplit-stack.
1517 * doc/extend.texi (Function Attributes): Mention no_split_stack.
1518 (Function Attributes): Document no_split_stack.
1519 * doc/tm.texi.in (Stack Smashing Protection): Add @hook
1520 TARGET_SUPPORTS_SPLIT_STACK.
1521 * doc/tm.texi: Rebuild.
1522 * function.c (thread_prologue_and_epilogue_insns): If
1523 flag_split_stack, add split stack prologue.
1524 * explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
1525 * varasm.c (saw_no_split_stack): New static variable.
1526 (assemble_start_function): Set saw_no_split_stack if the function
1527 has the no_split_stack attribute.
1528 (file_end_indicate_split_stack): New function.
1529 * output.h (file_end_indicate_split_stack): Declare.
1530 * libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
1532 * doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
1534 * config/i386/i386.c (ix86_option_override_internal): Don't set
1535 expand_builtin_va_start to NULL if -fsplit-stack.
1536 (ix86_function_regparm): Reduce local regparm by 1 for 32-bit
1538 (ix86_va_start): If -fsplit-stack, get overflow pointer from
1539 scratch register set by prologue.
1540 (ix86_code_end): If -fsplit-stack, call
1541 file_end_indicate_split_stack.
1542 (ix86_supports_split_stack): New static function.
1543 (SPLIT_STACK_AVAILABLE): Define.
1544 (split_stack_prologue_scratch_regno): New static function.
1545 (split_stack_fn): New static variable.
1546 (ix86_expand_split_stack_prologue): New function.
1547 (ix86_live_on_entry): New static function.
1548 (ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
1549 (output_pic_addr_const): Likewise.
1550 (i386_asm_output_addr_const_extra): Likewise.
1551 (ix86_expand_call): Change return type to rtx. Return the new
1553 (TARGET_SUPPORTS_SPLIT_STACK): Define.
1554 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
1555 * config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
1556 (split_stack_prologue, split_stack_return): New insns.
1557 (split_stack_space_check): New insn.
1558 * config/i386/i386.h (struct machine_function): Add
1559 split_stack_varargs_pointer field.
1560 * config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
1561 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
1562 * config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
1563 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
1564 * config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
1566 (ix86_expand_call): Update declaration.
1568 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
1570 * doc/objc.texi (Type encoding): Added the new 'long double' (D)
1571 code. Added byref, which was missing in the list of codes.
1572 Explain that enumeration values are encoded as the integer type
1573 that the compiler uses to store them. Explain and make examples
1574 of how 'const' interacts with pointers, and the complication of
1575 the encoding of 'const char *'.
1576 (Legacy type encoding): New subsection, explaining that GCC emits
1577 incorrect type encodings for the NeXT runtime for compatibility
1579 (@@encode): New subsection, explaining @encode and particularly
1580 that protocol qualifiers are not recognized inside an @encode()
1582 (Method signatures): New subsection, explaining how method
1583 signatures are encoded.
1585 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
1587 Merge from 'apple/trunk' branch on FSF servers. Removed small
1588 change in build_conditional_expr that had been added when fixing
1589 PR objc/27377 and which did the same check in a less complete way.
1591 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
1594 * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
1595 looking for objective-c common pointer types.
1597 2005-06-22 Ziemowit Laski <zlaski@apple.com>
1600 * c-typeck.c (build_conditional_expr): For two ObjC pointer types,
1601 use their ObjC common type.
1603 2010-09-27 Richard Guenther <rguenther@suse.de>
1605 * dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
1607 2010-09-27 Jie Zhang <jie@codesourcery.com>
1609 * print-tree.c (print_node): Print in-constant-pool.
1611 2010-09-27 Uros Bizjak <ubizjak@gmail.com>
1613 * config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
1614 (UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
1615 (MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
1616 (ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
1618 2010-09-26 Uros Bizjak <ubizjak@gmail.com>
1620 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge
1621 from pro_epilogue_adjust_stack_<mode>_{1,2}.
1622 (pro_epilogue_adjust_stack_<mode>_add): Rename from
1623 pro_epilogue_adjust_stack_<mode>_3.
1624 * config/i386/i386.c (pro_epilogue_adjust_stack): Update for
1625 renamed pro_epilogue_adjust_stack_{si,di}_add.
1626 (ix86_expand_prologue): Use indirect functions. Update for renamed
1627 pro_epilogue_adjust_stack_{si,di}_sub.
1629 2010-09-26 Uros Bizjak <ubizjak@gmail.com>
1631 * config/i386/i386.md (movmsk_df): New insn.
1632 (signbitdf): Split out of signbit<mode>2. Generate movmsk_df
1633 sequence for TARGET_SSE_MATH.
1635 2010-09-26 Richard Sandiford <rdsandiford@googlemail.com>
1637 * config/mips/mips.c (mips_builtin_decls): Declare.
1638 (mips_init_builtins): Store function declarations in
1640 (mips_builtin_decl): New function.
1641 (TARGET_BUILTIN_DECL): Define.
1643 2010-09-25 Kai Tietz <kai.tietz@onevision.com>
1644 Richard Henderson <rth@redhat.com>
1646 * config/i386/cygwin.asm: Include auto-host.h.
1647 (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
1648 cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
1649 (__chkstk, __alloca): Annotate for dwarf2 unwind info. Drop
1650 alignment code from the 64-bit path. Use gas local labels.
1651 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
1652 from _di_2. Remove the useless constant integer argument.
1653 (pro_epilogue_adjust_stack_<mode>_3): New.
1654 (allocate_stack_worker_probe_<mode>): Macroize from
1655 allocate_stack_worker_{32,64}. Use __chkstk_ms. Update all users.
1656 * config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
1657 use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
1658 (__chkstk_ms): New function.
1659 * config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
1660 * gcc/config/i386/t-interix: Likewise.
1661 * configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
1662 (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
1663 (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
1664 * configure, config.in: Rebuild.
1666 2010-09-25 Eric Botcazou <ebotcazou@adacore.com>
1668 * tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
1669 statements because of the return slot optimization.
1671 2010-09-25 Anatoly Sokolov <aesok@post.ru>
1673 * config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove.
1674 * config/avr/avr-protos.h (class_likely_spilled_p): Remove.
1675 * config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
1676 (class_likely_spilled_p): Rename to...
1677 (avr_class_likely_spilled_p): ...this. Make static. Change argument
1678 type to reg_class_t.
1680 2010-09-24 Jan Hubicka <jh@suse.cz>
1682 * lto-symtab.c (lto_symtab_entry_def): Add guessed field.
1683 (lto_symtab_resolve_symbols): Set it.
1684 (lto_symtab_merge_decls_1): Do not compute used_from_object_file;
1685 store resolution field in cgraph/varpool.
1686 * cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
1687 (cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
1688 (cgraph_dump_node): Drop used_from_object_file.
1689 (cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
1690 (cgraph_function_body_availability): Use decl_replaceable_p.
1691 (cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
1692 (cgraph_can_remove_if_no_direct_calls_and_refs): Use
1693 cgraph_used_from_object_file_p.
1694 (cgraph_will_be_removed_from_program_if_no_direct_calls): Use
1695 cgraph_used_from_object_file_p.
1696 (resolution_used_from_other_file_p): New functoin.
1697 (cgraph_used_from_object_file_p): New predicate.
1698 * cgraph.h: Include plugin-api.h
1699 (struct cgraph_local_info): Remove used_from_object_file.
1700 (struct cgraph_node): Add resolution field.
1701 (struct varpool_node): Likewise; remove used_from_object_file;
1702 reove const_value_known.
1703 (cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
1704 cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
1705 (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
1706 varpool_used_from_object_file_p): Declare.
1707 (varpool_get_node, varpool_extra_name_alias): Update prototype.
1708 * tree.h (DECL_REPLACEABLE_P): Remove.
1709 (decl_replaceable_p, decl_binds_to_current_def_p): Declare.
1710 * final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
1711 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
1712 input_overwrite_node, input_node, input_varpool_node): Stream
1714 * expr.c (expand_expr_real_1): Use const_value_known_p
1715 * ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
1717 (cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
1718 (function_and_variable_visibility): Set resolution for local vars
1719 and functions; use varpool_used_from_object_file_p.
1720 * varasm.c (resolution_to_local_definition_p, resolution_local_p): New
1722 (default_binds_local_p_1): Use resolutoin info.
1723 (decl_binds_to_current_def_p, decl_replaceable_p): New functions.
1724 * varpool.c (varpool_get_node): Constify.
1725 (const_value_known_p): Do not use vnode->const_value_known;
1726 use decl_replaceable_p.
1727 (varpool_finalize_decl): Do not set const_value_known.
1728 (cgraph_variable_initializer_availability): Use decl_replaceable_p
1729 (varpool_extra_name_alias): Return new node.
1730 (varpool_used_from_object_file_p): New function.
1732 2010-09-24 Richard Henderson <rth@redhat.com>
1734 * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New.
1735 (TARGET_DWARF_HANDLE_FRAME_UNSPEC): New.
1736 (do_spill): Use REG_CFA_OFFSET.
1737 (ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER
1739 (ia64_expand_epilogue): Likewise.
1740 (process_set): Split into ...
1741 (process_cfa_adjust_cfa): this,
1742 (process_cfa_register): this,
1743 (process_cfa_offset): and this new function.
1744 (ia64_asm_unwind_emit): Use them. Expect REG_CFA_* notes
1745 instead of REG_FRAME_RELATED_EXPR.
1747 2010-09-24 Olivier Hainque <hainque@adacore.com>
1749 * config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
1751 2010-09-24 Jan Hubicka <jh@suse.cz>
1753 * doc/extend.texi: (attribute leaf): Document.
1754 * tree.c (local_define_builtin): Handle ECF_LEAF.
1755 (build_common_builtin_nodes): Set ECF_LEAF where needed.
1756 * tree.h (ECF_LEAF): New.
1757 * ipa-reference.c (propagate_bits): For leaf calls propagate ever
1758 overwrittable and unavailable functions.
1759 (ipa_init): Put all_module_statics into optimization_summary_obstack.
1760 (copy_global_bitmap): Do not copy all_module_statics.
1761 (read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF.
1762 (propagate): Handle overwritable and unavailable leaf functions;
1763 initialize global info for overwritable and unavailable leaf functions;
1764 do not free all module statics.
1765 (ipa_reference_get_not_{read,written}_global): Leaf calls don't clobber
1767 * calls.c (flags_from_decl_or_type): Handle leaf.
1768 * tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do
1771 2010-09-24 Basile Starynkevitch <basile@starynkevitch.net>
1773 * gengtype.c: Reindented.
1774 * gengtype.h: Reindented.
1775 * gengtype-parse.c: Reindented.
1777 2010-09-24 Jan Hubicka <jh@suse.cz>
1779 PR tree-optimization/45738
1780 PR tree-optimization/45741
1781 * expr.c (string_constant): Allow CONST_DECL too;
1782 check that DECL_INITIAL is set.
1783 * varpool.c (const_value_known_p): Only look into VAR_DECL
1786 2010-09-24 Joseph Myers <joseph@codesourcery.com>
1788 * common.opt (undef): New.
1790 2010-09-24 Jakub Jelinek <jakub@redhat.com>
1793 * rtl.h (enum global_rtl_index): Add
1794 GR_VIRTUAL_PREFERRED_STACK_BOUNDARY.
1795 (LAST_VIRTUAL_POINTER_REGISTER): Define.
1796 (virtual_preferred_stack_boundary_rtx,
1797 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define.
1798 (LAST_VIRTUAL_REGISTER): Increase by one.
1799 (REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER
1800 instead of LAST_VIRTUAL_REGISTER.
1801 * function.c (instantiate_new_reg): Handle
1802 virtual_preferred_stack_boundary_rtx.
1803 * emit-rtl.c (init_virtual_regs): Handle
1804 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
1805 (init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx.
1806 * explow.c (round_push): If crtl->preferred_stack_boundary
1807 is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use
1808 virtual_preferred_stack_boundary_rtx alignment instead of
1809 crtl->preferred_stack_boundary alignment.
1810 (allocate_dynamic_stack_space): Use CONST_INT_P and REG_P
1811 macros. Never decrease crtl->preferred_stack_boundary,
1812 use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT
1813 instead of PREFERRED_STACK_BOUNDARY. Don't modify
1814 stack_pointer_delta in dynamic allocation, even when size
1816 (probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P
1818 * print-rtl.c (print_rtx): Handle
1819 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
1820 * config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use
1821 LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER.
1822 * config/frv/frv.c (frv_emit_movsi): Likewise.
1823 * config/arm/arm.c (thumb1_legitimate_address_p): Likewise.
1824 * config/rs6000/rs6000.c (virtual_stack_registers_memory_p):
1828 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
1831 * calls.c (expand_call): Make sure that all variable sized
1832 adjustments are multiple of preferred stack boundary after
1835 2010-09-24 Iain Sandoe <iains@gcc.gnu.org>
1836 Dominique Dhumieres <dominiq@lps.ens.fr>
1839 * gcc/config/darwin-driver.c (darwin_default_min_version):
1840 Adjust size passed to memcpy in two places.
1842 2010-09-24 Richard Guenther <rguenther@suse.de>
1844 * c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
1845 Make sure to not call set_type_context with error_mark_node.
1846 * langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P.
1848 2010-09-24 Richard Guenther <rguenther@suse.de>
1850 * Makefile.in (OBJS-onestep): Remove.
1851 (ALL_HOST_BACKEND_OBJS): Remove libbackend.o.
1852 (libbackend.a): Remove onestep support.
1853 (libbackend.o): Remove.
1854 * configure.ac (--enable-intermodule): Remove.
1855 * configure: Regenerate.
1857 2010-09-24 Bernd Schmidt <bernds@codesourcery.com>
1859 * cfgcleanup.c (flow_find_head_matching_sequence): Terminate when
1860 reaching the end of a block if it occurs at a DEBUG_INSN.
1862 2010-09-09 Tristan Gingold <gingold@adacore.com>
1865 * config/vms/vms-crt0-64.c: Removed.
1866 * config/vms/vms-crt0.c: Removed.
1867 * config/vms/vms-psxcrt0-64.c: Removed.
1868 * config/vms/vms-psxcrt0.c: Removed.
1869 * config/vms/vms-ucrt0.c: New file.
1870 * config/vms/t-vms64: Removed.
1871 * config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it. Remove DECC.
1872 Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o
1873 * config.gcc (alpha-dec-vms): Use t-vms.
1875 2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
1877 * doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove
1878 underfull hbox in DVI output.
1879 (-fobjc-class-cxx-cdtors): Same change.
1880 (-fobjc-exceptions): Tidied up documentation. Explain what the
1881 option does, but moved the (lenghty) description of the exception
1882 syntax into objc.texi.
1883 (-fobjc-gc): Explain that the option is not useful with the GNU
1885 (-fzero-link): Explain that the GNU runtime always works in
1887 * doc/objc.texi: All sections: simplified @node declarations
1888 removing specification of next, previous, up node.
1889 (Objective-C): Updated introduction.
1890 (Garbage Collection): Updated. The bohem-gc library is now
1891 included in gcc itself. Mention that this section only applies to
1892 the GNU Objective-C runtime.
1893 (compatibility_alias): Small tidy up.
1894 (Exceptions): New section mostly containing text previously in the
1895 description of the -fobjc-exception command-line option.
1896 (Synchronization): Same.
1898 2010-09-24 Uros Bizjak <ubizjak@gmail.com>
1900 * config/i386/i386.md (ix86_code_end): Move the initialization of
1901 xops array near the consumer. Use AX_REG and SP_REG instead of
1902 numerical constants.
1904 2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
1906 * c-typeck.c (convert_arguments): Use warning 'too many arguments to
1907 method [methodname]' for an Objective-C method instead of the less
1908 satisfactory 'too many arguments to function' (with no method name).
1910 2010-09-23 Eric Botcazou <ebotcazou@adacore.com>
1912 * tree-flow.h (execute_update_addresses_taken): Remove parameter.
1913 * tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages.
1914 (execute_update_addresses_taken): Remove parameter. Execute the
1915 optimization unconditionally.
1916 * passes.c (execute_function_todo): Call execute_update_addresses_taken
1917 unconditionally if TODO_rebuild_alias is set, else only when optimizing
1918 if TODO_update_address_taken is set.
1920 2010-09-23 Anatoly Sokolov <aesok@post.ru>
1922 * config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1923 * config/arm/arm-protos.h (arm_output_addr_const_extra): Remove.
1924 * config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1925 (arm_output_addr_const_extra): Make static.
1927 2010-09-23 Uros Bizjak <ubizjak@gmail.com>
1929 * config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and
1930 define as unspec_volatile.
1931 ("nops"): Define as unspec_volatile. Use fputs to write to
1932 asm_out_file directly. Output NOPs on separate lines using while loop.
1933 * config/i386/i386.c (ix86_code_end): Use fputs to write to
1934 asm_out_file directly. Output NOPs on separate lines using while loop.
1936 2010-09-23 Richard Guenther <rguenther@suse.de>
1938 PR tree-optimization/45565
1939 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
1940 Make sure to adjust the fndecl before replacing the stmt.
1942 2010-09-23 Richard Guenther <rguenther@suse.de>
1945 * gimplify.c (gimplify_expr): Properly pass on GS_ERROR when
1946 gimplifying MEM_REF.
1948 2010-09-23 Alan Modra <amodra@gmail.com>
1950 * config/rs6000/rs6000.c (toc_relative_ok): Delete.
1951 (rs6000_emit_move): Use SYMBOL_REF_LOCAL_P instead.
1953 2010-09-23 Bernd Schmidt <bernds@codesourcery.com>
1955 PR rtl-optimization/44374
1956 * basic-block.h (enum bb_flags): Add BB_MODIFIED.
1957 * df-core.c (df_set_bb_dirty): Set it.
1958 * ifcvt.c (find_memory): Remove function.
1959 (dead_or_predicable): Use can_move_insns_across.
1960 * df.h (can_move_insns_across): Declare function.
1961 * cfgcleanup.c (block_was_dirty): New static variable.
1962 (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
1963 than df_get_bb_dirty.
1964 (try_head_merge_bb): New static function.
1965 (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty
1967 * df-problems.c: Include "target.h"
1968 (df_simulate_find_uses): New static function.
1969 (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
1970 (find_memory, find_memory_store): New static functions.
1971 (can_move_insns_across): New function.
1972 * Makefile.in (df-problems.o): Update dependencies.
1974 2010-09-22 Eric Botcazou <ebotcazou@adacore.com>
1977 * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
1978 is specified and the suffix of the file isn't ".c".
1979 * config/sparc/linux64.h (ASM_SPEC): Likewise.
1981 2010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1983 * doc/contrib.texi (Contributors): Allow URL to wrap in PDF output.
1984 * doc/cppopts.texi: Fix markup of index entry.
1985 * doc/extend.texi (Constructing Calls): Fix markup of
1986 __builtin_va_arg_pack and __builtin_va_arg_pack_len definition.
1987 (Conditionals, C++ Comments, Pragmas, Unnamed Fields, Thread-Local)
1988 (Vague Linkage, C++ Attributes): Fix markup of index entries and
1990 * doc/invoke.texi (Option Summary): Fix spacing. Rewrap to
1992 (C Dialect Options, C++ Dialect Options, Warning Options)
1993 (Debugging Options, Spec Files, Darwin Options)
1994 (i386 and x86-64 Options, MIPS Options)
1995 (RS/6000 and PowerPC Options, Code Gen Options): Fix markup of
1996 index entries, avoid abbreviations, allow URLs to wrap, avoid
1997 long lines, avoid overlong pages from long @itemx lists.
1998 * doc/objc.texi (Garbage Collection): Allow URLs to wrap.
1999 * doc/standards.texi (Standards): Likewise.
2000 * doc/trouble.texi (Incompatibilities): Fix markup of index entry.
2002 2010-09-22 Joseph Myers <joseph@codesourcery.com>
2004 * opts-common.c (prune_options): Make static. Work with decoded
2006 (decode_cmdline_options_to_array): Call prune_options. Don't
2007 resize option array here.
2008 * opts.h (prune_options): Remove prototype.
2009 * gcc.c (process_command): Take decoded options; don't call
2010 decode_cmdline_options_to_array here. Use decoded options for argv[0].
2011 (main): Call decode_cmdline_options_to_array here instead of
2012 prune_options. Update call to process_command.
2013 * config/darwin-driver.c: Include opts.h.
2014 (darwin_default_min_version): Work with decoded options. Don't
2015 handle -b or -V here.
2016 * config/darwin.h (darwin_default_min_version): Update prototype.
2017 (GCC_DRIVER_HOST_INITIALIZATION): Update call to
2018 darwin_default_min_version.
2019 * config/i386/cygwin.h (mingw_scan): Update prototype.
2020 (GCC_DRIVER_HOST_INITIALIZATION): Update call to mingw_scan.
2021 * config/i386/cygwin1.c: Include opts.h.
2022 (mingw_scan): Work with decoded options.
2023 * config/i386/t-cygwin (cygwin1.o): Update dependencies.
2024 * config/t-darwin (darwin-driver.o): Update dependencies.
2026 2010-09-22 Joseph Myers <joseph@codesourcery.com>
2028 * common.opt (-assemble, -compile, -coverage, -debug, -dump,
2029 -dump=, -dumpbase, -dumpdir, -entry, -entry=, -extra-warnings,
2030 -for-assembler, -for-assembler=, -for-linker, -for-linker=,
2031 -force-link, -force-link=, -language, -language=,
2032 -library-directory, -library-directory=, -no-canonical-prefixes,
2033 -no-standard-libraries, -no-warnings, -optimize, -output,
2034 -output=, -pass-exit-codes, -pedantic, -pedantic-errors, -pie,
2035 -pipe, -prefix, -prefix=, -preprocess, -print-file-name,
2036 -print-file-name=, -print-libgcc-file-name,
2037 -print-multi-directory, -print-multi-lib,
2038 -print-multi-os-directory, -print-prog-name, -print-prog-name=,
2039 -print-search-dirs, -print-sysroot, -print-sysroot-headers-suffix,
2040 -profile, -save-temps, -shared, -specs, -specs=, -static,
2041 -symbolic, -time, -verbose, -param=, -sysroot, coverage, e, u,
2043 (fhelp, fhelp=, ftarget-help, fversion): Make into aliases.
2044 * gcc.c (A Short Introduction to Adding a Command-Line Option):
2046 (cc1_options): Correct specs for passing down --help,
2047 --target-help and --help=*. Add spec for passing down --version.
2048 (struct option_map, option_map, target_option_translations,
2049 translate_options): Remove.
2050 (driver_handle_option): Handle OPT__version, OPT__help, OPT__help_
2051 and OPT__target_help instead of OPT_fversion, OPT_fhelp,
2052 OPT_fhelp_ and OPT_ftarget_help.
2053 (process_command): Don't call translate_options. Call
2054 decode_cmdline_options_to_array before checking for
2055 -no-canonical-prefixes using decoded options.
2056 * opts-common.c (tm.h): Update comment on #include.
2057 (find_opt): Allow abbreviations of long options.
2058 (struct option_map, option_map): New.
2059 (decode_cmdline_option): Use them instead of hardcoding -Wno, -fno
2061 (target_option_translations): New.
2062 (decode_cmdline_options_to_array): Handle
2063 TARGET_OPTION_TRANSLATE_TABLE in driver.
2064 * opts.c (common_handle_option): Don't handle OPT_fhelp,
2065 OPT_ftarget_help, OPT_fhelp_ or OPT_fversion.
2067 2010-09-22 Richard Guenther <rguenther@suse.de>
2069 * tree-inline.c (optimize_inline_calls): Schedule cleanups
2070 only if we inlined something. Block compaction and conditional
2071 folding are done by cfg cleanup. Schedule update-address-taken.
2072 (tree_function_versioning): Remove redundant call to number_blocks.
2073 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Conditional
2074 folding is done by cfg cleanup.
2075 * passes.c (init_optimization_passes): Remove update-address-taken
2076 pass after IPA inlining.
2078 2010-09-22 Chung-Lin Tang <cltang@codesourcery.com>
2080 * postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
2081 to update conditions. Fix reg_mode[] check.
2083 2010-09-22 Hariharan Sandanagobalane <hariharan@picochip.com>
2085 * config/picochip/picochip.md (movhicc): Use expand to check whether
2086 movhicc is available and split it after reload.
2088 2010-09-22 Richard Guenther <rguenther@suse.de>
2090 * tree-ssanames.c (release_dead_ssa_names): Do not remove
2092 * passes.c (init_optimization_passes): Remove early CFG cleanup.
2093 * tree-optimize.c (execute_cleanup_cfg_pre_ipa): Remove.
2094 (pass_cleanup_cfg): Likewise.
2095 (execute_fixup_cfg): Cleanup.
2096 * tree-pass.h (pass_cleanup_cfg): Remove.
2098 2010-09-22 Martin Jambor <mjambor@suse.cz>
2100 * gimple-fold.c (fold_gimple_call): New parameter inplace, do not fold
2101 builtins if it is true.
2102 (fold_stmt_1): Call, fold_gimple_call always, pass inplace as a
2105 2010-09-22 Martin Jambor <mjambor@suse.cz>
2107 * tree-sra.c (struct access): New field grp_no_warning.
2108 (create_access_replacement): Set TREE_NO_WARNING according to
2110 (create_artificial_child_access): Use build_ref_for_model and set
2111 grp_no_warning if build_user_friendly_ref_for_offset fails.
2112 (propagate_subaccesses_across_link): Likewise.
2114 2010-09-22 Eric Botcazou <ebotcazou@adacore.com>
2117 * config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU.
2120 2010-09-22 Tristan Gingold <gingold@adacore.com>
2122 * config/alpha/alpha.c (alpha_use_linkage): Initialize target field.
2124 2010-09-22 Uros Bizjak <ubizjak@gmail.com>
2126 * config/i386/i386.h (MAX_STRINGOP_ALGS): Fix typo in the name.
2127 * config/i386/i386.c (decide_alg): Update for rename.
2129 2010-09-22 Jakub Jelinek <jakub@redhat.com>
2131 PR rtl-optimization/45739
2132 * simplify-rtx.c (simplify_binary_operation_1): Optimize even
2133 vector mode | CONST0_RTX (mode) and ^ CONST0_RTX (mode).
2135 2010-09-21 Anatoly Sokolov <aesok@post.ru>
2137 * config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): Remove macros.
2138 * config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra):
2140 * config/rs6000/rs6000.c (rs6000_output_addr_const_extra): Make static.
2141 (TTARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
2143 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
2146 * c-parser.c (c_parser_objc_method_definition): Check the return
2147 value of objc_start_method_definition and if false is returned,
2148 parse the method definition but emit no code.
2150 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
2153 * c-decl.c (detect_field_duplicates): If compiling Objective-C,
2154 call objc_get_interface_ivars ().
2156 2010-09-21 Kai Tietz <kai.tietz@onevision.com>
2159 * config/i386/i386.c (ix86_expand_prologue): Save r10 in case that
2160 static chain-register is used for 64-bit.
2162 2010-09-21 Richard Guenther <rguenther@suse.de>
2164 * dwarf2out.c (is_cu_die): New function.
2165 (add_pubtype): Use it.
2166 (gen_subprogram_die): Likewise.
2167 (gen_struct_or_union_type_die): Likewise.
2168 (dwarf2out_finish): Likewise.
2169 (comp_unit_die): Rename to ...
2170 (single_comp_unit_die): ... this.
2171 (comp_unit_die): New function lazily constructing and
2172 returning single_comp_unit_die.
2173 (is_cxx, is_fortran, is_ada, debug_dwarf, break_out_comdat_types,
2174 base_type_die, subrange_type_die, modified_type_die,
2175 lower_bound_default, add_bound_info, add_prototyped_attribute,
2176 dwarf2out_vms_debug_main_pointer, scope_die_for, retry_incomplete_types,
2177 dwarf2out_abstract_function, gen_type_die_with_usage, get_context_die,
2178 force_decl_die, gen_namespace_die, dwarf2out_decl,
2179 dwarf2out_start_source_file, dwarf2out_end_source_file,
2180 prune_unused_types, dwarf2out_finish): Use it.
2181 (gen_compile_unit_die): For GNU GIMPLE derive DW_AT_language from
2182 the global list of translation-unit decls.
2183 (dwarf2out_init): Do not create single_comp_unit_die here.
2184 (force_decl_die): Handle TRANSLATION_UNIT_DECL.
2186 2010-09-21 Richard Guenther <rguenther@suse.de>
2188 * dwarf2out.c (dwarf2out_decl): Do not always generate a DIE
2191 2010-09-21 Bernd Schmidt <bernds@codesourcery.com>
2193 * config/arm/iterators.md (qhs_extenddi_op): New mode_attr.
2194 (qhs_extenddi_cstr): Likewise.
2195 * config/arm/arm.md (zero_extend<mode>di2, extend<mode>di2): Use
2196 them for the source operand.
2198 2010-09-21 Uros Bizjak <ubizjak@gmail.com>
2200 * config/i386/i386.c (ix86_split_ashl): Rename single_width variable
2201 to half_width. Use GET_MODE_BITSIZE to calculate mode size.
2202 (ix86_split_ashr): Ditto.
2203 (ix86_split_lshr): Ditto.
2205 2010-09-21 Richard Guenther <rguenther@suse.de>
2207 PR tree-optimization/45580
2208 * tree-ssa-propagate.c (substitute_and_fold): Always replace
2210 * gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without
2211 virtuals fold the call into a regular indirect one.
2213 2010-09-20 Eric Botcazou <ebotcazou@adacore.com>
2215 PR rtl-optimization/42775
2216 * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
2217 scheduling is enabled.
2219 2010-09-20 Jakub Jelinek <jakub@redhat.com>
2221 PR rtl-optimization/45728
2222 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
2223 gen_lowpart_common first and if that fails, force_reg first
2224 before calling gen_lowpart.
2227 * cfgexpand.c (expand_one_stack_var_at): Use
2228 crtl->max_used_stack_slot_alignment as max_align, instead
2229 of maximum of that and PREFERRED_STACK_BOUNDARY.
2230 Don't call update_stack_alignment.
2232 2010-09-20 Eric Botcazou <ebotcazou@adacore.com>
2234 * langhooks.h (struct lang_hooks_for_types): Remove hash_types field.
2235 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete.
2236 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES.
2237 * system.h (LANG_HOOKS_HASH_TYPES): Poison.
2238 * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types.
2239 (build_nonstandard_integer_type): Likewise.
2240 (build_range_type_1): New function, built from...
2241 (build_range_type): ...this. Call build_range_type_1.
2242 (build_nonshared_range_type): New function.
2243 (build_array_type_1): New function, built from...
2244 (build_array_type: ...this. Call build_array_type_1.
2245 (build_nonshared_array_type): New function.
2246 * tree.h (build_nonshared_range_type): Declare.
2247 (build_nonshared_array_type): Likewise.
2249 2010-09-20 Anatoly Sokolov <aesok@post.ru>
2251 * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove.
2252 * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
2253 (arm_class_likely_spilled_p): New function.
2255 2010-09-20 Uros Bizjak <ubizjak@gmail.com>
2257 * config/i386/i386.c (ix86_expand_ashl_const): Rewrite using
2259 (ix86_split_ashl): Ditto.
2260 (ix86_split_ashr): Ditto.
2261 (ix86_split_lshr): Ditto.
2262 (ix86_adjust_counter): Ditto.
2264 2010-09-20 Nicola Pero <nicola.pero@meta-innovation.com>
2266 * c-family/c-common.h (constant_string_class): Documented with
2267 comment identical to the one already in c-common.c.
2269 2010-09-20 Jakub Jelinek <jakub@redhat.com>
2271 * dwarf2out.c (any_cfis_emitted): New static variable.
2272 (add_fde_cfi): Set it.
2273 (dwarf2out_frame_debug): Clear it before processing,
2274 if it is set afterwards, flush any queued reg saves.
2277 * dwarf2out.c (add_accessibility_attribute): Assume
2278 DW_ACCESS_private as the default for dwarf_version > 2
2279 and DW_TAG_class_type parent.
2280 (gen_inheritance_die): Assume DW_ACCESS_public as the default
2281 for dwarf_version > 2 and parent other than DW_TAG_class_type.
2283 2010-09-20 Rafael Carre <rafael.carre@gmail.com>
2286 * arm.md (arm_movt): Only enable on machines with MOVT.
2288 2010-09-20 Jie Zhang <jie@codesourcery.com>
2290 * config/arm/arm.c (arm_address_offset_is_imm): New.
2291 (arm_early_store_addr_dep): New.
2292 (arm_early_load_addr_dep): New.
2293 * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
2294 (arm_early_load_addr_dep): Declare.
2295 (arm_address_offset_is_imm): Declare.
2296 * config/arm/cortex-m4.md: New file.
2297 * config/arm/cortex-m4-fpu.md: New file.
2298 * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
2299 (attr generic_sched): Exclude cortexm4.
2300 (attr generic_vfp): Exclude cortexm4.
2302 2010-09-20 Richard Guenther <rguenther@suse.de>
2305 * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.
2307 2010-09-20 Jan Hubicka <jh@suse.cz>
2309 PR tree-optimize/45605
2310 * cgraph.h (const_value_known_p): Declare.
2311 (varpool_decide_const_value_known): Remove.
2312 * tree-ssa-ccp.c (get_base_constructor): Use it.
2313 * lto-cgraph.c (compute_ltrans_boundary): Likewise.
2314 * expr.c (string_constant): Likewise.
2315 * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
2316 * ipa.c (ipa_discover_readonly_nonaddressable_var,
2317 function_and_variable_visibility): Likewise.
2318 * gimplify.c (gimplify_call_expr): Likewise.
2319 * gimple-fold.c (get_symbol_constant_value): Likewise.
2320 * varpool.c (varpool_decide_const_value_known): Replace by...
2321 (const_value_known_p): ... this one; handle other kinds of DECLs
2322 too and work for automatic vars.
2323 (varpool_finalize_decl): Use const_value_known_p.
2325 2010-09-20 Rafael Carre <rafael.carre@gmail.com>
2328 * arm.md (arm_movtas_ze): Only enable on machine with MOVT.
2330 2010-09-20 Richard Guenther <rguenther@suse.de>
2332 PR tree-optimization/45705
2333 * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination.
2335 2010-09-20 Jakub Jelinek <jakub@redhat.com>
2337 PR rtl-optimization/45695
2338 * combine.c (try_combine): When splitting a two set pattern,
2339 make sure the pattern which will be put into i2 doesn't use REGs
2340 or MEMs set by insns in between i2 and i3.
2342 2010-09-19 Jan Hubicka <jh@suse.cz>
2345 * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid
2346 processing same node twice.
2348 2010-09-19 Anatoly Sokolov <aesok@post.ru>
2350 * config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove.
2351 * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
2352 (bfin_class_likely_spilled_p): New function
2354 2010-09-19 Ira Rosen <irar@il.ibm.com>
2356 PR tree-optimization/45714
2357 * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement
2358 created in vectorizable_call instead of the original statement in
2361 2010-09-19 Uros Bizjak <ubizjak@gmail.com>
2363 * config/i386/i386-protos.h (split_double_mode): New prototype.
2364 (split_di, split_ti): Remove prototypes.
2365 * config/i386/i386.c (split_double_mode): New function.
2366 (split_di, split_ti): Remove.
2367 (ix86_expand_branch): Use split_double_mode.
2368 (ix86_split_to_parts): Ditto.
2369 (ix86_split_ashl): Ditto.
2370 (ix86_split_ashr): Ditto.
2371 (ix86_split_lshr): Ditto.
2372 (ix86_force_to_memory): Ditto.
2373 * config/i386/i386.md: Use split_double_mode in double-mode splitters.
2375 2010-09-18 Jan Hubicka <jh@suse.cz>
2377 PR tree-optimization/45453
2378 * cgraphunit.c (cgraph_finalize_function): Consider comdat & external
2379 virtual functions are reachable.
2380 * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
2381 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
2382 * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
2383 when modifying function.
2385 2010-09-18 Jan Hubicka <jh@suse.cz>
2387 PR tree-optimization/45605
2388 * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
2389 * gimple-fold.c (static_object_in_other_unit_p): New function.
2390 (canonicalize_constructor_val): Use it.
2391 (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
2393 (gimple_fold_obj_type_ref_known_binfo): Use
2394 static_object_in_other_unit_p.
2396 2010-09-18 Richard Guenther <rguenther@suse.de>
2398 PR tree-optimization/45709
2399 * tree-inline.c (copy_phis_for_bb): Delay commit of edge
2400 insertions until after all PHI nodes of the block are processed.
2402 2010-09-18 Tijl Coosemans <tijl@coosemans.org>
2404 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
2406 2010-09-18 Kai Tietz <kai.tietz@onevision.com>
2408 * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
2410 2010-09-18 Richard Guenther <rguenther@suse.de>
2412 PR tree-optimization/45709
2413 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it.
2415 2010-09-17 Sebastian Pop <sebastian.pop@amd.com>
2417 * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
2418 (dot_deps_stmt): Same.
2419 * graphite-poly.c (dot_lst): Same.
2420 * graphite-scop-detection.c (dot_all_scops): Same.
2423 2010-09-17 Sebastian Pop <sebastian.pop@amd.com>
2426 2009-12-16 Ben Elliston <bje@au.ibm.com>
2428 * tree-data-ref.c (dot_rdg_1): Added back.
2429 (dot_rdg): Same. Added "#if 0" around system call.
2431 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
2432 Richard Henderson <rth@redhat.com>
2434 * config/i386/i386.c (initial_ix86_tune_features): Add
2435 X86_TUNE_PAD_SHORT_FUNCTION.
2436 (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
2437 (ix86_count_insn): New.
2438 (ix86_pad_short_function): Likewise.
2439 (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.
2441 * config/i386/i386.h (ix86_tune_indices): Add
2442 X86_TUNE_PAD_SHORT_FUNCTION.
2443 (TARGET_PAD_SHORT_FUNCTION): New.
2445 * config/i386/i386.md (UNSPEC_NOPS): New.
2448 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
2451 * calls.c (expand_call): Make sure that all variable sized
2452 adjustments are multiple of preferred stack boundary after
2455 2010-09-17 DJ Delorie <dj@redhat.com>
2457 * config/rx/rx.c (rx_print_operand): If __builtin_rx_setpsw() is
2458 passed an invalid value, print an error instead of ICEing.
2459 (valid_psw_flag): New.
2460 (rx_expand_builtin): Call it for setpsw/clrpsw.
2461 (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX.
2463 * config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
2464 (bitclr_in_memory): Likewise.
2465 (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.
2467 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
2470 * cfgexpand.c (update_stack_alignment): New.
2471 (get_decl_align_unit): Use it.
2472 (expand_one_stack_var_at): Call update_stack_alignment.
2474 2010-09-17 Richard Guenther <rguenther@suse.de>
2476 * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
2477 Properly copy the read string.
2479 2010-09-17 Joseph Myers <joseph@codesourcery.com>
2481 * doc/options.texi (Variable): Document.
2482 * optc-gen.awk, opth-gen.awk: Handle Variable records. Don't
2483 generate target_flags declarations explicitly. Don't define
2484 VarExists variables for the driver.
2485 * common.opt (target_flags): New Variable record.
2486 (flag_dump_unnumbered, flag_dump_unnumbered_links,
2487 flag_var_tracking, flag_var_tracking_assignments,
2488 flag_var_tracking_assignments_toggle): Don't mark variables with
2490 * config/i386/i386.c (ix86_isa_flags): Don't define here.
2491 * config/i386/i386.opt (ix86_isa_flags): Define here.
2492 * config/mcore/mcore.c (mcore_stack_increment): Don't define here.
2493 * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
2495 * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
2496 * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
2497 Only define for generator programs.
2498 * rtlanal.c (target_flags): Remove.
2499 * toplev.c (flag_var_tracking, flag_var_tracking_assignments,
2500 flag_var_tracking_assignments_toggle): Remove.
2502 2010-09-17 Michael Matz <matz@suse.de>
2504 PR tree-optimization/43432
2505 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
2506 Accept backwards consecutive accesses.
2507 (vect_create_data_ref_ptr): If step is negative generate
2509 * tree-vect-stmts.c (vectorizable_store): Reject negative steps.
2510 (perm_mask_for_reverse, reverse_vec_elements): New functions.
2511 (vectorizable_load): Handle loads with negative steps when easily
2514 2010-09-03 Jan Hubicka <jh@suse.cz>
2516 * lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
2518 2010-09-03 Naveen H.S <naveen.S@kpitcummins.com>
2520 * config/v850/v850.c (v850_function_value_regno_p): Make static.
2521 Adjust comments. Declare.
2522 (TARGET_FUNCTION_VALUE_REGNO_P): Define.
2523 * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.
2525 2010-09-17 Richard Guenther <rguenther@suse.de>
2527 * common.opt (combine): Remove.
2528 * gcc.c (default_compilers): Remove specs testing combine.
2529 The C compilers no longer can combine.
2530 (option_map): Remove -combine.
2531 (display_help): Remove -combine.
2532 (driver_handle_option): Remove OPT_combine handling.
2533 (compile_input_file_p): Remove.
2534 (do_spec): Remove code concerning combine.
2536 * doc/invoke.texi: Remove traces of -combine.
2537 * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver.
2539 2010-09-17 Richard Guenther <rguenther@suse.de>
2542 * builtins.c (fold_builtin_memory_op): Always properly adjust
2543 alignment of memory accesses.
2545 2010-09-16 Jan Hubicka <jh@suse.cz>
2547 * lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
2550 2010-09-16 H.J. Lu <hongjiu.lu@intel.com>
2552 * config/i386/i386-protos.h (ix86_split_idivmod): New prototype.
2554 * config/i386/i386.c (predict_jump): Add prototype.
2555 (flag_opts): Add -m8bit-idiv.
2556 (ix86_split_idivmod): New.
2558 * config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
2559 Add 2 splitters for SI/DI mode divide.
2560 (divmod<mode>4_1): New pattern.
2561 (udivmod<mode>4_1): Likewise.
2562 (testdi_ccno_1): Likewise.
2564 * config/i386/i386.opt (m8bit-idiv): New.
2566 * doc/invoke.texi: Document -m8bit-idiv.
2568 2010-09-16 Reza Yazdani <reza.yazdani@amd.com>
2571 * config/i386/i386.c (min_insn_size): Moved out of the
2572 ASM_OUTPUT_MAX_SKIP_PAD ifdef.
2574 2010-09-16 Jan Hubicka <jh@suse.cz>
2576 * lto-cgraph.c (lto_output_node): Fix handling of clones.
2577 * ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
2578 unreachable clones with reachable clones.
2579 * tree-inline.c (copy_bb): Fix sanity checking when producing
2582 2010-09-16 Anatoly Sokolov <aesok@post.ru>
2584 * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
2585 (TARGET_MEMORY_MOVE_COST): Define.
2586 (m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.
2588 2010-09-16 Alexander Monakov <amonakov@ispras.ru>
2590 * sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
2591 maybe_tidy_empty_bb.
2594 2010-09-06 Alexander Monakov <amonakov@ispras.ru>
2595 * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
2597 2010-09-16 Joseph Myers <joseph@codesourcery.com>
2599 * target.def (target_option.optimization): New hook.
2600 * doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
2601 TARGET_OPTION_OPTIMIZATION hook.
2602 * doc/tm.texi: Regenerate.
2603 * hooks.c (hook_void_int_int): New.
2604 * hooks.h (hook_void_int_int): Declare.
2605 * opts.c: Don't include tm_p.h.
2606 (decode_options): Use targetm.target_option.optimization instead
2607 of OPTIMIZATION_OPTIONS.
2608 * system.h (OPTIMIZATION_OPTIONS): Poison.
2609 * config/arm/arm-protos.h (arm_optimization_options): Remove.
2610 * config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
2611 (arm_optimization_options): Rename to arm_option_optimization.
2613 * config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
2614 * config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
2615 (cris_option_optimization): New.
2616 * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
2617 * config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
2618 (crx_option_optimization): New.
2619 * config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
2620 * config/frv/frv-protos.h (frv_optimization_options): Remove.
2621 * config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
2622 (frv_optimization_options): Rename to frv_option_optimization.
2624 * config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
2625 * config/h8300/h8300.c (h8300_option_optimization): New.
2626 (TARGET_OPTION_OPTIMIZATION): Define.
2627 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
2628 * config/i386/i386-protos.h (optimization_options): Remove.
2629 * config/i386/i386.c (optimization_options): Rename to
2630 ix86_option_optimization. Make static.
2631 (TARGET_OPTION_OPTIMIZATION): Define.
2632 * config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
2633 * config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
2634 * config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
2635 (ia64_optimization_options): Rename to ia64_option_optimization.
2636 Make static. Call SUBTARGET_OPTIMIZATION_OPTIONS.
2637 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove. Remove
2638 commented-out definition.
2639 * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
2640 instead of OPTIMIZATION_OPTIONS.
2641 * config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
2642 (m32r_option_optimization): New.
2643 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
2644 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
2646 * config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
2647 (mcore_option_optimization): New.
2648 * config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
2649 * config/mep/mep-protos.h (mep_optimization_options): Remove.
2650 * config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
2651 (mep_optimization_options): Rename to mep_option_optimization.
2652 Make static. Take unused level and size parameters.
2653 * config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
2654 * config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
2655 (mmix_option_optimization): New.
2656 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
2657 * config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
2658 (pdp11_option_optimization): New.
2659 * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
2660 * config/rs6000/rs6000-protos.h (optimization_options): Remove.
2661 * config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
2662 (optimization_options): Rename to rs6000_option_optimization.
2664 * config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
2665 * config/rx/rx-protos.h (rx_set_optimization_options): Remove.
2666 * config/rx/rx.c (rx_set_optimization_options): Rename to
2667 rx_option_optimization. Make static. Take unused level and size
2669 (TARGET_OPTION_OPTIMIZATION): Define.
2670 * config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
2671 * config/s390/s390-protos.h (optimization_options): Remove.
2672 * config/s390/s390.c (optimization_options): Rename to
2673 s390_option_optimization. Make static. Don't mark size parameter
2675 (TARGET_OPTION_OPTIMIZATION): Define.
2676 * config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
2677 * config/sh/sh-protos.h (sh_optimization_options): Remove.
2678 * config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
2679 (sh_optimization_options): Rename to sh_option_optimization. Make
2680 static. Don't mark parameters unused.
2681 * config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
2682 * config/spu/spu-protos.h (spu_optimization_options): Remove.
2683 * config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
2684 (spu_optimization_options): Rename to spu_option_optimization.
2686 * config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
2687 * config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
2688 (v850_option_optimization): New.
2689 * config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
2690 * config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
2691 (xtensa_option_optimization): New.
2692 * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.
2694 2010-09-16 Joseph Myers <joseph@codesourcery.com>
2696 * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
2697 (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
2698 * doc/tm.texi: Regenerate.
2699 * system.h (OVERRIDE_OPTIONS): Poison.
2700 * target.def (override): Default to hook_void_void.
2701 * targhooks.c (default_target_option_override): Remove.
2702 * genmodes.c, machmode.def: Update comments mentioning
2704 * config/alpha/alpha-modes.def: Update comment mentioning
2705 alpha_override_options.
2706 * config/alpha/alpha-protos.h (override_options): Remove.
2707 * config/alpha/alpha.c (override_options): Rename to
2708 alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make static.
2709 (TARGET_OPTION_OVERRIDE): Define.
2710 * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
2711 * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
2712 of OVERRIDE_OPTIONS.
2713 * config/arc/arc-protos.h (arc_init): Remove.
2714 * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
2715 (arc_init): Rename to arc_option_override. Make static.
2716 * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
2717 (OVERRIDE_OPTIONS): Remove.
2718 * config/arm/arm-protos.h (arm_override_options): Remove.
2719 * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
2720 (arm_override_options): Rename to arm_option_override. Make
2721 static. Call SUBTARGET_OVERRIDE_OPTIONS.
2722 * config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
2723 * config/arm/arm.md: Update comment referring to arm_override_options.
2724 * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
2725 instead of OVERRIDE_OPTIONS.
2726 * config/avr/avr-protos.h (avr_override_options): Remove.
2727 * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
2728 (avr_override_options): Rename to avr_option_override. Make static.
2729 * config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
2730 * config/bfin/bfin-protos.h (override_options): Remove (twice).
2731 * config/bfin/bfin.c (override_options): Rename to
2732 bfin_option_override. Make static.
2733 (TARGET_OPTION_OVERRIDE): Define.
2734 * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
2735 * config/cris/cris-protos.h (cris_override_options): Remove.
2736 * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
2737 (cris_override_options): Rename to cris_option_override. Make static.
2738 * config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
2739 * config/frv/frv-protos.h (frv_override_options): Remove.
2740 * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
2741 (frv_override_options): Rename to frv_option_override. Make static.
2742 * config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
2743 * config/h8300/h8300-protos.h (h8300_init_once): Remove.
2744 * config/h8300/h8300.c (h8300_init_once): Rename to
2745 h8300_option_override. Make static.
2746 (TARGET_OPTION_OVERRIDE): Define.
2747 * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
2748 * config/i386/i386-protos.h (override_options): Remove.
2749 * config/i386/i386.c (override_options): Rename to
2750 ix86_option_override_internal. Make static. Comments referring
2751 to this function and callers changed.
2752 (ix86_option_override): New.
2753 (TARGET_OPTION_OVERRIDE): Define.
2754 * config/i386/i386.h (OVERRIDE_OPTION): Remove.
2755 * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment.
2756 * config/ia64/ia64.c (ia64_file_start): Update comment referring
2757 to ia64_override_options.
2758 * config/iq2000/iq2000-protos.h (override_options): Remove.
2759 * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
2760 (override_options): Rename to iq2000_option_override. Make static.
2761 * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
2762 * config/lm32/lm32-protos.h (lm32_override_options): Remove.
2763 * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
2764 (lm32_override_options): Rename to lm32_option_override. Make static.
2765 * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
2766 * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
2767 (m32r_option_override): New.
2768 (m32r_init): Update comment.
2769 * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
2770 * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove.
2771 * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
2772 (m68hc11_override_options): Rename to m68hc11_option_override.
2773 Make static. Return void.
2774 * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
2775 * config/m68k/m68k-protos.h (override_options): Remove.
2776 * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
2777 (override_options): Rename to m68k_option_override. Make static.
2778 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
2779 * config/mcore/mcore-protos.h (mcore_override_options): Remove.
2780 * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
2781 (mcore_override_options): Rename to mcore_option_override. Make
2783 * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
2784 * config/mep/mep-protos.h (mep_override_options): Remove.
2785 * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
2786 (mep_override_options): Rename to mep_option_override. Make static.
2787 * config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
2788 * config/mmix/mmix-protos.h (mmix_override_options): Remove.
2789 * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
2790 (mmix_override_options): Rename to mmix_option_override. Make static.
2791 * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
2792 * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove.
2793 * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
2794 (mn10300_override_options): Rename to mn10300_option_override.
2796 * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
2797 * config/moxie/moxie-protos.h (moxie_override_options): Remove.
2798 * config/moxie/moxie.c (moxie_override_options): Rename to
2799 moxie_option_override. Make static.
2800 (TARGET_OPTION_OVERRIDE): Define.
2801 * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
2802 * config/picochip/picochip-protos.h (picochip_override_options):
2803 Remove. Update comment referring to picochip_override_options.
2804 * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
2805 (picochip_override_options): Rename to picochip_option_override.
2806 Make static. Update comment and definition of
2807 TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
2808 * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
2809 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
2810 * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
2811 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
2812 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
2813 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
2814 * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
2815 instead of OVERRIDE_OPTIONS.
2816 * config/rs6000/rs6000-modes.def: Update comment referring to
2817 rs6000_override_options.
2818 * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
2819 * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
2820 (rs6000_override_options): Rename to
2821 rs6000_option_override_internal. Make static. Commented
2822 referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
2823 (rs6000_option_override): New.
2824 * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
2825 instead of OVERRIDE_OPTIONS.
2826 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
2827 * config/s390/s390-protos.h (override_options): Remove.
2828 * config/s390/s390.c (override_options): Rename to
2829 s390_option_override. Make static.
2830 (TARGET_OPTION_OVERRIDE): Define.
2831 * config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
2832 * config/score/score-protos.h (score_override_options): Remove.
2833 * config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
2834 (score_override_options): Rename to score_option_override. Make
2836 * config/score/score.h (OVERRIDE_OPTIONS): Remove.
2837 Update comment referring to override_options.
2838 * config/score/score3.c (score3_override_options): Rename to
2839 score3_option_override.
2840 * config/score/score3.h (score3_override_options): Rename to
2841 score3_option_override.
2842 * config/score/score7.c (score7_override_options): Rename to
2843 score7_option_override.
2844 * config/score/score7.h (score7_override_options): Rename to
2845 score7_option_override.
2846 * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
2847 * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
2848 (sparc_override_options): Rename to sparc_option_override. Make
2849 static. Call SUBTARGET_OVERRIDE_OPTIONS.
2850 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
2851 * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
2852 instead of OVERRIDE_OPTIONS.
2853 * config/spu/spu-protos.h (spu_override_options): Remove.
2854 * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
2855 (spu_override_options): Rename to spu_option_override. Make
2857 * config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
2858 * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
2860 * config/vax/vax-protos.h (override_options): Remove.
2861 * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
2862 (override_options): Rename to vax_option_override. Make static.
2863 Call SUBTARGET_OVERRIDE_OPTIONS.
2864 * config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
2865 * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
2866 * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
2867 * config/xtensa/xtensa-protos.h (override_options): Remove.
2868 * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
2869 (override_options): Rename to xtensa_option_override. Make static.
2870 * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
2872 2010-09-16 Richard Guenther <rguenther@suse.de>
2874 PR tree-optimization/45623
2875 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
2876 (get_constraint_for_component_ref): If computing a constraint
2877 for the rhs handle type punning through unions.
2878 (get_constraint_for_address_of): Adjust.
2879 (get_constraint_for_1): Likewise.
2880 (get_constraint_for): Likewise.
2881 (get_constraint_for_rhs): New function.
2882 (do_structure_copy): Adjust.
2883 (make_constraint_to): Likewise.
2884 (handle_const_call): Likewise.
2885 (find_func_aliases): Likewise.
2886 (process_ipa_clobber): Likewise.
2887 (create_variable_info_for): Likewise.
2889 2010-09-16 Ira Rosen <irar@il.ibm.com>
2891 * tree-vectorizer.c: Fix documentation.
2892 * tree-vectorizer.h (vinfo_for_stmt): Add documentation.
2893 (set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
2894 is_pattern_stmt_p, is_loop_header_bb_p,
2895 stmt_vinfo_set_inside_of_loop_cost,
2896 stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
2897 known_alignment_for_access_p): Likewise.
2898 * tree-vect-loop.c: Fix documentation.
2899 (vect_get_cost): Start function name from new line.
2900 * tree-vect-data-refs.c: Fix documentation.
2901 * tree-vect_stmts.c: Likewise.
2902 (vect_create_vectorized_promotion_stmts): Always free vec_tmp.
2903 (vectorizable_store): Free vec_oprnds if allocated.
2904 (vectorizable_condition): Initialize several variables to avoid
2906 * tree-vect-slp.c: Fix documentation.
2908 2010-09-16 Richard Guenther <rguenther@suse.de>
2910 * tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
2911 is TS_TRANSLATION_UNIT_DECL.
2912 (initialize_tree_contains_struct): Adjust.
2913 (all_translation_units): New global vector.
2914 (build_translation_unit_decl): New function.
2915 * tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
2916 (struct tree_translation_unit_decl): New.
2917 (all_translation_units): Declare.
2918 (union tree_node): Add translation_unit_decl member.
2919 (build_translation_unit_decl): Declare.
2920 * treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
2921 * lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
2923 (pack_value_fields): Call it.
2924 (lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
2925 (lto_output_ts_translation_unit_decl_tree_pointers): New function.
2926 (lto_output_tree_pointers): Call it.
2927 * lto-streamer-in.c (lto_input_tree_ref): Handle references
2928 to TRANSLATION_UNIT_DECL.
2929 (unpack_ts_translation_unit_decl_value_fields): New function.
2930 (unpack_value_fields): Call it.
2931 (lto_input_ts_translation_unit_decl_tree_pointers): New function.
2932 (lto_input_tree_pointers): Call it.
2933 * lto-streamer.c (check_handled_ts_structures): Adjust.
2934 * lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
2935 * c-decl.c (all_translation_units): Remove.
2936 (pop_scope): Use build_translation_unit_decl.
2937 (collect_all_refs): Adjust.
2938 (for_each_global_decl): Likewise.
2939 (c_write_global_declarations): Likewise.
2941 2010-09-16 Jakub Jelinek <jakub@redhat.com>
2944 * fold-const.c (fold_checksum_tree): Change slot from const void **
2945 to void **, use CONST_CAST_TREE to store into *slot.
2947 2010-09-16 Uros Bizjak <ubizjak@gmail.com>
2949 * config/i386/i386.md: Remove unneeded empty conditions and
2950 preparation statements from expanders.
2951 * config/i386/mmx.md: Ditto.
2952 * config/i386/sse.md: Ditto.
2954 2010-09-16 Uros Bizjak <ubizjak@gmail.com>
2956 * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.
2958 2010-09-15 Eric Botcazou <ebotcazou@adacore.com>
2960 PR rtl-optimization/45593
2961 * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
2962 insns that were in delay slots as stand-alone insns.
2964 2010-09-15 Ian Lance Taylor <iant@google.com>
2966 * incpath.c (remove_duplicates): If name is not a directory, issue
2967 a warning rather than an error.
2969 2010-09-15 Martin Jambor <mjambor@suse.cz>
2972 * tree-sra.c (create_access): Check for bit-fields directly.
2974 2010-09-15 Jakub Jelinek <jakub@redhat.com>
2976 PR tree-optimization/45633
2977 * tree-cfg.c (verify_gimple_assign_binary): Allow
2978 MINUS_EXPR with lhs and rhs1 pointer vector and
2979 rhs2 sizetype vector.
2980 * expr.c (expand_expr_real_2) <case PLUS_EXPR>: For pointer
2981 or vector pointer use TER to optimize pointer subtraction.
2983 2010-09-15 Jie Zhang <jie@codesourcery.com>
2985 * config/arm/vfp.md (cmpsf_trap_vfp): Change type from
2988 2010-09-15 Ian Lance Taylor <iant@google.com>
2990 * config/i386/i386.md (truncxf<mode>2): Fix indentation.
2992 2010-09-15 Ian Lance Taylor <iant@google.com>
2994 * function.c (get_arg_pointer_save_area): Set
2995 arg_pointer_save_area_init to true.
2997 2010-09-15 Martin Jambor <mjambor@suse.cz>
2999 * tree-sra.c (generate_subtree_copies): Updated comment.
3000 (handle_unscalarized_data_in_subtree): Removed parameter lhs which is
3001 obtained from the statement iterator instead.
3002 (load_assign_lhs_subreplacements): Removed parameters lhs and
3003 right_offset, which is obtained from top_racc instead. Parameter lacc
3004 is now expected to be the root of the processed tree rather than root's
3005 first child. Updated all callers.
3007 2010-09-15 Joseph Myers <joseph@codesourcery.com>
3009 * config/pdp11/pdp11.c (register_move_cost): Rename to
3010 pdp11_register_move_cost.
3011 * config/pdp11/pdp11-protos.h (register_move_cost): Rename to
3012 pdp11_register_move_cost.
3013 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Call
3014 pdp11_register_move_cost instead of register_move_cost.
3016 2010-09-15 Tejas Belagod <tejas.belagod@arm.com>
3018 * config/arm/neon.md (vec_pack_trunc_<mode>): Instruction
3019 pattern for vmovn. Expansion in case of non
3020 -mvectorize-with-neon-quad.
3021 (neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for
3022 non- -mvectorize-with-neon-quad case.
3023 (move_lo_quad_<mode>): New expansion to vmov into low part.
3024 (move_hi_quad_<mode>): New expansion to vmov into high part.
3025 (move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion.
3026 (move_lo_quad_v4sf): Likewise.
3027 (move_lo_quad_v8hi): Likewise.
3028 (neon_move_lo_quad_<mode>): Instruction pattern for vmov into
3030 (neon_move_hi_quad_<mode>): Instruction pattern for vmov into
3032 * config/arm/iterators.md (ANY128): New mode iterator.
3033 (V_narrow_pack): New mode attribute.
3034 (V_HALF): Add attribute.
3035 (V_DOUBLE): Add attribute.
3036 (V_mode_nunits): Add attribute.
3038 2010-09-15 Eric Botcazou <ebotcazou@adacore.com>
3040 * config/alpha/alpha.c (alpha_expand_prologue): If stack checking
3041 is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes.
3043 2010-09-15 Olivier Hainque <hainque@adacore.com>
3044 Jose Ruiz <ruiz@adacore.com>
3046 * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define.
3047 * config/alpha/osf5-unwind.h: New file.
3049 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
3052 * config/mips/mips.c (mips_units_per_simd_word): Correct return type.
3053 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
3054 * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
3056 2010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3058 * c-lang.h (struct lang_type): Add variable_size GTY option.
3060 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
3063 * config/rs6000/rs6000.c (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
3065 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
3067 * config/i386/i386.c (ix86_lea_for_add_ok): Return false if
3068 result isn't used in memory address.
3070 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
3072 * defaults.h (UNITS_PER_SIMD_WORD): Removed.
3073 * config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise.
3074 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
3075 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
3076 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
3077 * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
3079 * target.def: Add units_per_simd_word to vectorize.
3081 * targhooks.c (default_units_per_simd_word): New.
3082 * targhooks.h (default_units_per_simd_word): Likewise.
3083 * config/arm/arm.c (arm_units_per_simd_word): Likewise.
3084 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
3085 * config/mips/mips.c (mips_units_per_simd_word): Likewise.
3086 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
3087 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
3088 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
3089 * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
3090 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
3092 * tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with
3093 TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments.
3095 * tree-vect-stmts.c: Don't include "tm_p.h".
3096 (get_vectype_for_scalar_type): Replace UNITS_PER_SIMD_WORD
3097 with targetm.vectorize.units_per_simd_word.
3099 * system.h (UNITS_PER_SIMD_WORD): Poisoned.
3101 * config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
3103 * config/i386/i386.c (ix86_units_per_simd_word): Make it static.
3104 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
3106 * doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD. Add
3107 TARGET_VECTORIZE_UNITS_PER_SIMD_WORD.
3109 * doc/tm.texi: Regenerated.
3111 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
3113 * tree-vect-stmts.c: Include "tm_p.h".
3115 * config/i386/i386-protos.h (ix86_units_per_simd_word): Moved
3118 2010-09-14 Martin Jambor <mjambor@suse.cz>
3120 * tree-sra.c (build_ref_for_offset): Loc made a parameter. Set the
3121 location of generated statement. Changed all callers.
3122 (build_ref_for_model): New parameter loc which used to set location of
3123 all generated expressions. Changed all callers.
3124 (generate_subtree_copies): Likewise.
3125 (init_subtree_with_zero): Likewise.
3126 (sra_modify_expr): Set locations of all generated statements and
3127 expressions to the location the original statement.
3128 (handle_unscalarized_data_in_subtree): Likewise.
3129 (load_assign_lhs_subreplacements): Likewise.
3130 (sra_modify_constructor_assign): Likewise.
3131 (sra_modify_assign): Likewise.
3133 2010-09-14 Eric Botcazou <ebotcazou@adacore.com>
3138 * doc/install.texi (sparc*-*-*): New section.
3139 (sparc-sun-solaris2*): Mention MPC alongside GMP and MPFR.
3141 2010-09-14 Jakub Jelinek <jakub@redhat.com>
3144 * builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi,
3145 expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead.
3146 (expand_builtin): Adjust caller.
3147 (expand_builtin_unop): Only use subtarget if it has the right mode.
3149 2010-09-14 Tristan Gingold <gingold@adacore.com>
3151 * configure.ac (plugins): Fix typos.
3152 * configure: Regenerate.
3154 2010-09-14 Jakub Jelinek <jakub@redhat.com>
3157 * dwarf2out.c (gen_decl_die): Call gen_type_die for origin before
3158 gen_type_die for function/method return type.
3160 2010-09-14 Ira Rosen <irar@il.ibm.com>
3162 PR tree-optimization/45470
3163 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
3164 can throw an exception.
3165 * tree-vect-stmts.c (vectorizable_call): Likewise.
3167 2010-09-14 DJ Delorie <dj@redhat.com>
3170 * config/mep/mep-protos.h (mep_save_register_info,
3171 mep_reinit_regs, mep_init_regs): Declare.
3173 * config/mep/mep.c: Move all target definitions to the end of the
3174 file to avoid the need for duplicate declarations.
3175 (mep_save_register_info, mep_reinit_regs, mep_init_regs): New.
3176 (mep_reorg_erepeat): Remove unused variables.
3177 (mep_expand_builtin): Likewise.
3179 * config/mep/mep-pragma.c: Don't include rtl.h.
3180 (INVALID_REGNUM): New.
3181 (mep_pragma_coprocessor_which): Call mep-specific rtl-layer bridge
3183 (mep_pragma_coprocessor_subclass): Rename "class" to "rclass".
3184 Avoid enum/integer math.
3186 2010-09-13 Joseph Myers <joseph@codesourcery.com>
3189 * config/mep/t-mep (GTM_H): Add insn-constants.h.
3190 * config/mep/mep.c (mep_conditional_register_usage): Take no
3192 * config/mep/mep-protos.h (mep_conditional_register_usage): Update
3194 * config/mep/mep-pragma.c (CONDITIONAL_REGISTER_USAGE): Update
3195 call to mep_conditional_register_usage.
3197 2010-09-13 Eric Botcazou <ebotcazou@adacore.com>
3200 * varasm.c (output_constant_def_contents): Set TREE_ASM_WRITTEN on
3203 2010-09-13 Jakub Jelinek <jakub@redhat.com>
3205 PR rtl-optimization/45617
3206 * combine.c (simplify_comparison): Optimize (X >> N) {>,>=,<,<=} C
3207 even if low N bits of X aren't known to be zero.
3209 2010-09-13 H.J. Lu <hongjiu.lu@intel.com>
3211 * config/i386/i386-protos.h (ix86_units_per_simd_word): New.
3213 * config/i386/i386.c (initial_ix86_tune_features): Add
3214 X86_TUNE_VECTORIZE_DOUBLE.
3215 (ix86_units_per_simd_word): New.
3217 * config/i386/i386.h (ix86_tune_indices): Add
3218 X86_TUNE_VECTORIZE_DOUBLE.
3219 (TARGET_VECTORIZE_DOUBLE): New.
3220 (UNITS_PER_SIMD_WORD): Defined with ix86_units_per_simd_word.
3222 2010-09-13 Pat Haugen <pthaugen@us.ibm.com>
3224 * tree-ssa-ter.c (temp_expr_table_d): Add call_cnt field.
3225 (new_temp_expr_table): Allocate call_cnt vector.
3226 (free_temp_expr_table): Free it.
3227 (process_replaceable): Add call_cnt parm and set in vector.
3228 (find_replaceable_in_bb): Skip replacement if def/use span a call.
3229 (debug_ter): Dump call_cnt value, remove stderr uses.
3231 2010-09-13 Jan Hubicka <jh@suse.cz>
3233 * tree.c (build_zero_cst): New.
3234 * tree.h (build_zero_cst): Declare.
3235 * tree-ssa-ccp.c (get_constant_value): Accept general operands.
3236 (get_base_constructor): Break out from ...
3237 (fold_const_aggregate_ref): Here; handle empty constructors.
3239 2010-09-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
3241 * config/arm/arm.md: (define_attr "conds"): Update comment.
3242 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
3243 conds attribute to clob.
3244 (arm_sync_compare_and_swapsi): Likewise.
3245 (arm_sync_compare_and_swap<mode>): Likewise.
3246 (arm_sync_lock_test_and_setsi): Likewise.
3247 (arm_sync_lock_test_and_set<mode>): Likewise.
3248 (arm_sync_new_<sync_optab>si): Likewise.
3249 (arm_sync_new_nandsi): Likewise.
3250 (arm_sync_new_<sync_optab><mode>): Likewise.
3251 (arm_sync_new_nand<mode>): Likewise.
3252 (arm_sync_old_<sync_optab>si): Likewise.
3253 (arm_sync_old_nandsi): Likewise.
3254 (arm_sync_old_<sync_optab><mode>): Likewise.
3255 (arm_sync_old_nand<mode>): Likewise.
3257 2010-09-13 Olivier Hainque <hainque@adacore.com>
3259 * fwprop.c (forward_propagate_and_simplify): Only attach a
3260 REG_EQUAL note to an insn if the destination is a register.
3261 * gcse.c (try_replace_reg): Likewise.
3263 2010-09-13 Richard Guenther <rguenther@suse.de>
3265 PR tree-optimization/45611
3266 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fix typo.
3267 (copy_ref_info): Likewise.
3269 2010-09-13 Alexandre Oliva <aoliva@redhat.com>
3274 * tree-pretty-print.c (dump_generic_node): Disregard top-level
3275 types of MEM_REF pointer types to the same type.
3277 2010-09-13 Hans-Peter Nilsson <hp@axis.com>
3279 PR rtl-optimization/41087
3280 * ifcvt.c (noce_get_condition): Don't allow conditions with
3283 2010-09-12 Anatoly Sokolov <aesok@post.ru>
3285 * config/frv/frv.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3286 * config/frv/frv-protos.h (frv_register_move_cost): Remove.
3287 * config/frv/frv.c (frv_register_move_cost): Make static. Change
3288 arguments type to reg_class_t. Add mode argument.
3289 (frv_memory_move_cost): New.
3290 (TARGET_REGISTER_MOVE_COSTS, TARGET_MEMORY_MOVE_COSTS): Define.
3292 2010-09-12 Bernd Schmidt <bernds@codesourcery.com>
3294 * config/arm/arm.md (arm_ashldi3_1bit, arm_ashrdi3_1bit,
3295 arm_lshrdi3_1bit): Put earlyclobber on the right alternative.
3297 2010-09-10 Jan Hubicka <jh@suse.cz>
3299 * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not check STATIC flag.
3301 2010-09-10 Richard Guenther <rguenther@suse.de>
3303 * tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
3304 * tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
3305 * lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
3306 not stream TYPE_DEBUG_REPRESENTATION_TYPE.
3307 * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.
3309 2010-09-10 Richard Guenther <rguenther@suse.de>
3311 * dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type
3312 for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS.
3313 * dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE
3314 using TYPE_VECTOR_SUBPARTS, not TYPE_DEBUG_REPRESENTATION_TYPE.
3316 2010-09-10 H.J. Lu <hongjiu.lu@intel.com>
3319 * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result
3320 of string folding is of integral type.
3322 2010-09-10 Ryan Mansfield <rmansfield@qnx.com>
3324 * doc/invoke.texi (-x): Fix typo.
3326 2010-09-10 Richard Guenther <rguenther@suse.de>
3329 * tree.c (free_lang_data_in_decl): Do not clear DECL_DEBUG_EXPR.
3330 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3331 Output DECL_DEBUG_EXPR.
3332 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
3333 Input DECL_DEBUG_EXPR.
3335 2010-09-10 Richard Guenther <rguenther@suse.de>
3337 * tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE.
3338 (build_index_type): Implement in terms of build_range_type.
3339 (build_range_type): Do not allow NULL_TREE type, improve
3340 hashing to cover more cases. Set TYPE_STRUCTURAL_EQUALITY_P
3342 * c-decl.c (grokdeclarator): When modifying TYPE_SIZE manually
3343 create a distinct copy of the type.
3345 2010-09-10 Kai Tietz <kai.tietz@onevision.com>
3347 * configure: Regenerated.
3348 * config.gcc: Add for x86_64 and i?86 mingw t-dfprule.
3350 2010-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3352 * config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9.
3353 * config/arm/cortex-a9-neon.md: New and partially generated.
3354 * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
3356 2010-09-10 Richard Guenther <rguenther@suse.de>
3358 * tree.h (build_index_2_type): Remove.
3359 * tree.c (build_index_2_type): Remove.
3361 2010-09-10 Jakub Jelinek <jakub@redhat.com>
3364 * dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
3365 HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
3366 (implicit_ptr_descriptor): Return NULL if dwarf_strict.
3368 2010-09-10 Martin Jambor <mjambor@suse.cz>
3370 PR tree-optimization/44972
3371 * tree-sra.c: Include toplev.h.
3372 (build_ref_for_offset): Entirely reimplemented.
3373 (build_ref_for_model): New function.
3374 (build_user_friendly_ref_for_offset): New function.
3375 (analyze_access_subtree): Removed build_ref_for_offset check.
3376 (propagate_subaccesses_across_link): Likewise.
3377 (create_artificial_child_access): Use
3378 build_user_friendly_ref_for_offset.
3379 (propagate_subaccesses_across_link): Likewise.
3380 (ref_expr_for_all_replacements_p): Removed.
3381 (generate_subtree_copies): Updated comment. Use build_ref_for_model.
3382 (sra_modify_expr): Use build_ref_for_model.
3383 (load_assign_lhs_subreplacements): Likewise.
3384 (sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
3385 checks for return values of build_ref_for_offset.
3386 * ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of
3387 build_ref_for_offset.
3388 * ipa-prop.h: Include gimple.h
3389 * ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs.
3390 (ipa_analyze_indirect_call_uses): Update comment.
3391 * Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies.
3392 (IPA_PROP_H): Likewise.
3394 2010-09-10 Martin Jambor <mjambor@suse.cz>
3396 PR tree-optimization/44972
3397 * ipa-prop.c (ipa_modify_call_arguments): Build MEM_REF instead of
3398 calling build_ref_for_offset.
3400 2010-09-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3402 * config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15.
3403 * config/arm/arm-cores.def (cortex-a15): New core. Treat it as a v7-a.
3404 * config/arm/arm-tune.md: Regenerate.
3405 * doc/invoke.texi (ARM Options): Document it.
3407 2010-09-09 Reza Yazdani <reza.yazdani@amd.com>
3409 * config/i386/i386.c: Include sched-int.h.
3410 (TARGET_SCHED_DISPATCH): Defined.
3411 (TARGET_SCHED_DISPATCH_DO): Defined.
3412 (DISPATCH_WINDOW_SIZE): Defined.
3413 (MAX_DISPATCH_WINDOWS): Defined.
3414 (MAX_INSN): Defined.
3416 (MAX_IMM_SIZE): Defined.