1 2010-12-27 Joseph Myers <joseph@codesourcery.com>
3 * config/freebsd.opt (assert=, defsym=, profile, pthread,
4 rpath-link=, rpath=, soname=): New Driver options.
6 2010-12-26 Martin Jambor <mjambor@suse.cz>
8 * tree.c (get_binfo_at_offset): Use BINFO_TYPE instead of TREE_TYPE,
9 compare TYPE_MAIN_VARIANTs of types.
11 2010-12-26 Andreas Schwab <schwab@linux-m68k.org>
13 * config/m68k/t-linux (M68K_MLIB_CPU): Only include 680x0 CPUs.
15 2010-12-24 Alexander Monakov <amonakov@ispras.ru>
17 PR rtl-optimization/47036
18 * sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for
20 * sel-sched.c (moveup_expr): Ditto.
22 2010-12-23 Sebastian Pop <sebastian.pop@amd.com>
23 Richard Guenther <rguenther@suse.de>
25 PR tree-optimization/46758
26 * graphite-sese-to-poly.c (scan_tree_for_params_right_scev): Use
27 tree_int_to_gmp instead of int_cst_value.
28 (scan_tree_for_params_int): Same.
29 (scan_tree_for_params): Same.
30 (pdr_add_data_dimensions): Use ppl_set_inhomogeneous_tree.
32 2010-12-23 Sebastian Pop <sebastian.pop@amd.com>
34 PR tree-optimization/47002
35 * tree-data-ref.c (compute_data_dependences_for_loop): Pass in a
36 pointer to the loop_nest.
37 (analyze_all_data_dependences): Initialize and free the loop_nest.
38 (free_dependence_relations): Do not free loop_nest.
39 (build_rdg): Pass in the loop_nest, datarefs, and dependence_relations.
40 (free_rdg): Also free the data on edges.
41 * tree-data-ref.h (build_rdg): Update declaration.
42 (compute_data_dependences_for_loop): Same.
43 * tree-if-conv.c (if_convertible_loop_p_1): Pass in the loop_nest.
44 (if_convertible_loop_p): Allocate and free loop_nest.
45 * tree-loop-distribution.c (rdg_flag_loop_exits): Free conds.
46 (free_rdg_components): VEC_free components.
47 (distribute_loop): Update call to build_rdg. Allocate and free
48 loop_nest, datarefs, and dependence_relations.
49 * tree-loop-linear.c (linear_transform_loops): Allocate and free
51 * tree-parloops.c (loop_parallel_p): Same.
52 * tree-predcom.c (tree_predictive_commoning_loop): Same.
53 * tree-vect-data-refs.c (vect_analyze_data_refs): Pass to
54 compute_data_dependences_for_loop a pointer to LOOP_VINFO_LOOP_NEST.
55 * tree-vect-loop.c (new_loop_vec_info): Initialize LOOP_VINFO_LOOP_NEST.
56 (destroy_loop_vec_info): Free LOOP_VINFO_MAY_ALIAS_DDRS and
58 * tree-vect-slp.c (destroy_bb_vec_info): Call free_data_refs and
59 free_dependence_relations.
60 * tree-vectorizer.h (struct _loop_vec_info): Add a field loop_nest.
61 (LOOP_VINFO_LOOP_NEST): New.
63 2010-12-23 Martin Jambor <mjambor@suse.cz>
65 * ipa.c (cgraph_remove_unreachable_nodes): Update former_clone_of even
68 2010-12-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
70 * configure.ac (gcc_cv_ld_eh_frame_hdr): Only check GNU ld for
71 --eh-frame-hdr. Check for working Sun ld version.
72 (HAVE_LD_EH_FRAME_HDR): Adapt comment.
73 (glibc_header_dir): Set only once. Rename to ...
74 (target_header_dir): ... this. Adapt users.
75 (gcc_cv_target_dl_iterate_frame_hdr): Check on *-*-solaris2*.
76 (TARGET_DL_ITERATE_PHDR): Define if present.
77 * configure: Regenerate.
78 * config.in: Likewise.
79 * config/t-sol2 (LIB2ADDEH, LIB2ADDEHDEP): Define.
80 * crtstuff.c (USE_PT_GNU_EH_FRAME): Define for recent Solaris 11
81 with linker support and dl_iterate_phdr.
82 * unwind-dw2-fde-glibc.c (USE_PT_GNU_EH_FRAME): Likewise.
83 (_Unwind_IteratePhdrCallback) [PT_SUNW_UNWIND]: Also accept
84 PT_SUNW_UNWIND .eh_frame_hdr sections.
85 [CRT_GET_RFIB_DATA && __i386__ && __sun__ && __svr4__]: Add
86 load_base to data->dbase.
87 [CRT_GET_RFIB_DATA && __x86_64__ && __sun__ && __svr4__]: Handle
88 64-bit Solaris 10+/x86.
89 * config/sol2-gld.h [TARGET_DL_ITERATE_PHDR && HAVE_LD_EH_FRAME_HDR]
90 (LINK_EH_SPEC): Define.
92 2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
94 * doc/extend.texi (Function Attributes, Volatiles): Fix typos.
95 * doc/install.texi (Prerequisites, Specific): Likewise.
96 * doc/invoke.texi (C Dialect Options, Debugging Options)
97 (Optimize Options, MicroBlaze Options)
98 (RS/6000 and PowerPC Options, RX Options, Code Gen Options): Likewise.
99 * doc/objc.texi (Method signatures)
100 (Fast enumeration protocol): Likewise.
101 * doc/tm.texi.in (Run-time Target, Register Arguments)
102 (Scheduling, Macros for Initialization, Misc): Likewise.
103 * doc/tm.texi: Renerate.
105 2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
107 * doc/objc.texi (Modern GNU Objective-C runtime API): Mention that
108 reference documentation for functions in the API is in the header
110 (Messaging with the GNU Objective-C runtime, Dynamically
111 registering methods, Forwarding hook): New sections.
113 2010-12-22 Sebastian Pop <sebastian.pop@amd.com>
115 PR tree-optimization/47019
116 * sese.h (scev_analyzable_p): Parameters of a SCoP are SCEV analyzable.
118 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
120 * c-aux-info.c (gen_formal_list_for_type): Use prototype_p.
121 * c-decl.c (diagnose_arglist_conflict): Likewise.
122 (diagnose_mismatched_decls, merge_decls): Likewise.
123 (c_builtin_function, c_builtin_function_ext_scope): Likewise.
124 (start_decl, start_function): Likewise.
125 * c-tree.h (C_DECL_ISNT_PROTOTYPED): Likewise.
126 * config/ia64/ia64.h (INIT_CUMULATIVE_ARGS): Likewise.
127 * config/mep/mep.c (mep_validate_interrupt): Likewise.
128 * config/pa/pa.h (INIT_CUMULATIVE_ARGS): Likewise.
129 * config/rs6000/rs6000.c (init_cumulative_args): Likewise.
130 * config/sh/sh.c (sh_init_cumulative_args): Likewise.
131 * config/sparc/sparc.c (init_cumulative_args): Likewise.
132 * dwarf2out.c (add_prototyped_attribute): Likewise.
133 (gen_subprogram_die): Likewise.
134 * ipa-type-escape.c (check_function_parameter_and_return_types):
136 (check_call): Likewise.
137 * tree-ssa.c (useless_type_conversion_p): Likewise.
139 2010-12-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
141 * config/spu/spu.md ("mov<mode>"): Use nonimmediate_operand
142 predicate for destination operand.
143 * config/spu/spu.c (spu_expand_mov): If move destination is an
144 invalid subreg, perform move in the subreg's inner mode instead.
146 2010-12-22 Martin Jambor <mjambor@suse.cz>
148 PR tree-optimization/45934
149 PR tree-optimization/46302
150 PR tree-optimization/46987
151 * gimple-fold.c (get_base_binfo_for_type): Removed.
152 (gimple_get_relevant_ref_binfo): Likewise.
153 (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality,
154 removed parameter inplace, updated the caller.
155 * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration.
156 * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants.
157 (ipcp_discover_new_direct_edges): Do not do devirtualization based on
159 * ipa-prop.c (compute_known_type_jump_func): Use
160 get_ref_base_and_extent and get_binfo_at_offset instead of
161 gimple_get_relevant_ref_binfo.
162 (compute_known_type_jump_func): Likewise.
163 (update_jump_functions_after_inlining): Do not derive types from
165 (try_make_edge_direct_virtual_call): Likewise.
166 * tree.c (get_binfo_at_offset): Get type from non-artificial fields.
168 2010-12-22 Joseph Myers <joseph@codesourcery.com>
170 * config/svr4.h: Remove.
171 * system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison.
172 * config.gcc, config/bfin/bfin.h, config/cris/cris.h,
173 config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h,
174 config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h,
175 config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h,
176 config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h,
177 config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h,
178 config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h,
179 config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h,
180 config/v850/v850.h, config/vxworks.h: Remove or update comments
183 2010-12-22 Andrey Belevantsev <abel@ispras.ru>
185 PR rtl-optimization/45352
186 PR rtl-optimization/46521
187 PR rtl-optimization/46522
188 * sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the
189 DFA state on the last iteration of the advancing loop.
190 (sel_sched_region_1): Propagate the rescheduling bit to the next
191 block also for empty blocks.
193 2010-12-22 Alexandre Oliva <aoliva@redhat.com>
196 * function.c (assign_parms_augmented_arg_list): Name and mark
197 DECL of result address as NAMELESS rather than IGNORED.
198 (assign_parms): Set DECL_VALUE_EXPR for indirect result.
199 * tree.h (tree_decl_common::decl_flag_2): Document RESULT_DECL.
200 (DECL_HAS_VALUE_EXPR_P): Accept RESULT_DECL.
201 * dwarf2out.c (loc_list_from_tree) <RESULT_DECL>: Use
203 * dbxout.c (dbxout_expand_expr) <RESULT_DECL>: Likewise.
204 * var-tracking.c (vt_add_function_parameter): New, split out of...
205 (vt_add_function_parameters): ... this. Handle incoming
206 pointer to hold result.
208 2010-12-22 Jie Zhang <jie@codesourcery.com>
210 * config/arm/arm.c (output_move_double): Update the comment
211 above the function to reflect the current implementation.
213 2010-12-21 Steven Bosscher <steven@gcc.gnu.org>
215 De-hookize profile infrastructure.
216 * value-prof.c (value_prof_hooks): Remove.
217 (struct value_prof_hooks): Remove.
218 (gimple_value_prof_hooks): Remove.
219 (gimple_register_value_prof_hooks): Remove.
220 (find_values_to_profile): Remove.
221 (value_profile_transformations): Remove.
222 (gimple_value_profile_transformations): No longer static.
223 (gimple_find_values_to_profile): Likewise.
224 * value-prof.h (gimple_register_value_prof_hooks): Remove prototype.
225 (find_values_to_profile): Likewise.
226 (value_profile_transformations): Likewise.
227 (tree_register_profile_hooks): Likewise.
228 (struct profile_hooks): Remove.
229 (tree_profile_hooks): Remove.
230 (gimple_find_values_to_profile): New protoype.
231 (gimple_value_profile_transformations): Likewise.
232 (gimple_init_edge_profiler): Likewise.
233 (gimple_gen_edge_profiler): Likewise.
234 (gimple_gen_interval_profiler): Likewise.
235 (gimple_gen_pow2_profiler): Likewise.
236 (gimple_gen_one_value_profiler): Likewise.
237 (gimple_gen_ic_profiler): Likewise.
238 (gimple_gen_ic_func_profiler): Likewise.
239 (gimple_gen_const_delta_profiler): Likewise.
240 (gimple_gen_average_profiler): Likewise.
241 (gimple_gen_ior_profiler): Likewise.
242 * profile.c (profile_hooks): Remove.
243 (instrument_edges): Call profiling functions directly instead
244 of through removed profile_hooks.
245 (instrument_values): Likewise.
246 (branch_prob): Call gimple_find_values_to_profile instead of
247 removed find_values_to_profile.
248 Call gimple_init_edge_profiler instead of removed hook.
249 (tree_register_profile_hooks): Remove.
250 * tree-profile.c (tree_init_ic_make_global_vars): Rename to
251 init_ic_make_global_vars.
252 (tree_init_edge_profiler): Rename to gimple_init_edge_profiler
253 and no longer static.
254 (tree_gen_edge_profiler, tree_gen_interval_profiler,
255 tree_gen_pow2_profiler, tree_gen_one_value_profiler,
256 tree_gen_ic_profiler, tree_gen_ic_func_profiler,
257 tree_gen_const_delta_profiler, tree_gen_average_profiler,
258 tree_gen_ior_profiler): Similarly renamed and no longer static.
259 (tree_profiling): Do not initialize tree profiling hooks.
260 (tree_profile_hooks): Remove.
262 2010-12-21 Jakub Jelinek <jakub@redhat.com>
265 * config/i386/sse.md (sse2_loadlpd, sse2_movsd): Fix shufpd source
268 2010-12-21 Ira Rosen <irar@il.ibm.com>
270 PR tree-optimization/47001
271 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
272 the loads in reduction are different and there are no gaps between
275 2010-12-21 Steven Bosscher <steven@gcc.gnu.org>
278 * tree-ssa-phiprop.c (propagate_with_phi): Remove statement
279 completely from the function, including EH traces.
281 2010-12-21 Steven Bosscher <steven@gcc.gnu.org>
283 PR rtl-optimization/46755
284 * ira.c (ira): If some dead edges were removed, find and delete
285 any blocks that might have become unreachable.
287 2010-12-21 Jakub Jelinek <jakub@redhat.com>
289 PR rtl-optimization/47008
290 * postreload.c (reload_combine_note_store): Also handle
291 PRE_MODIFY and POST_MODIFY.
293 2010-12-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
295 * config/arm/arm.c (require_pic_register): Set INSN_LOCATOR for all
296 instructions injected into the prologue to prologue_locator.
298 2010-12-21 Jan Hubicka <jh@suse.cz>
301 * tree-inline.c (estimate_operator_cost): Handle VIEW_CONVERT_EXPR.
303 2010-12-21 Jie Zhang <jie@codesourcery.com>
305 * config/arm/arm-ldmstm.ml: Fix a typo in comment.
307 2010-12-21 Jakub Jelinek <jakub@redhat.com>
310 * expr.c (store_expr): Ignore alt_rtl if equal to target,
311 but has side-effects.
313 2010-12-21 Anatoly Sokolov <aesok@post.ru>
315 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Remove.
316 * config/sh/sh-protos.h (secondary_reload_info, sh_secondary_reload):
317 Remove forward declaration.
318 * config/sh/sh.c (sh_preferred_reload_class): New function.
319 (sh_secondary_reload): Make static.
320 (TARGET_PREFERRED_RELOAD_CLASS): Define.
322 2010-12-20 Joseph Myers <joseph@codesourcery.com>
324 * config/alpha/linux.h (OPTION_GLIBC): Define differently if
326 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC):
327 Define differently if SINGLE_LIBC.
328 * config/rs6000/linux.h (OPTION_GLIBC): Define differently if
330 * config/rs6000/linux64.h (OPTION_GLIBC): Define differently if
332 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
333 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Define
334 SINGLE_LIBC instead of OPTION_GLIBC.
335 (*-*-uclinux*): Define DEFAULT_LIBC and SINGLE_LIBC.
336 (bfin*-uclinux*, moxie-*-uclinux*, m68k-*-uclinux*): Don't define
337 DEFAULT_LIBC or use linux.opt.
339 2010-12-20 Richard Henderson <rth@redhat.com>
341 * config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Generate
342 UNSPEC patterns by hand, with the proper mode; use gen_const_mem.
343 * config/mn10300/mn10300.md (call, call_value): Generate UNSPEC_PLT
344 by hand, with the proper mode.
345 (symGOT2reg, symGOT2reg_i, symGOTOFF2reg): Remove.
346 (symGOTOFF2reg_i, sym2PIC, sym2PLT): Remove.
348 2010-12-20 Sanjin Liu <scliu@faraday-tech.com>
349 Mingfeng Wu <mingfeng@faraday-tech.com>
351 * config/arm/arm-cores.def: Add Faraday CPU support -
352 fa526/fa626/fa606te/fa626te/fmp626/fa726te.
353 * config/arm/arm-tune.md: Regenerate.
354 * config/arm/arm.c (arm_fa726te_tune): New tune_params for fa726te
355 (fa726te_sched_adjust_cost): New cost function for fa726te.
356 (arm_issue_rate): Add fa726te.
357 * config/arm/arm.md (generic_sched): Add Faraday cores to generic_sched
358 and include machine description files.
359 * config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Add fa526 and fa626.
360 * config/arm/t-arm (MD_INCLUDES): Include machine description files for
362 * config/arm/t-arm-elf: Add multilib option for Faraday cores.
363 * config/arm/t-linux-eabi: Add multilib option for Faraday cores except
365 * doc/invoke.texi: Document -mcpu for Faraday cores.
366 * config/arm/fa526.md: New file.
367 * config/arm/fa606te.md: New file.
368 * config/arm/fa626te.md: New file.
369 * config/arm/fmp626.md: New file.
370 * config/arm/fa726te.md: New file.
372 2010-12-20 Yvan Roux <yvan.roux@st.com>
374 * config/arm/lib1funcs.asm (ARM_DIV_BODY case __OPTIMIZE_SIZE__): Fix
375 condition on IT instruction for early termination.
377 2010-12-20 Joseph Myers <joseph@codesourcery.com>
379 * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't define.
380 (DBX_REGISTER_NUMBER): Define.
381 * config/rs6000/lynx.h (DBX_REGISTER_NUMBER): Define.
382 * config/rs6000/netbsd.h (DBX_REGISTER_NUMBER): Define.
383 * config/rs6000/sysv4.h (SIZE_TYPE): Define.
384 (ASM_SPEC): Define without using SVR4_ASM_SPEC.
385 (DBX_REGISTER_NUMBER): Undefine.
386 * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
387 powerpc-*-eabisim*, powerpc-*-elf*, powerpc-*-eabialtivec*,
388 powerpc-xilinx-eabi*, powerpc-*-eabi*, powerpc-*-rtems*,
389 powerpc-*-linux* | powerpc64-*-linux*, powerpc64-*-gnu*,
390 powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
391 powerpc-wrs-vxworks|powerpc-wrs-vxworksae, powerpcle-*-elf*,
392 powerpcle-*-eabisim*, powerpcle-*-eabi*): Don't use svr4.h.
394 2010-12-20 Iain Sandoe <iains@gcc.gnu.org>
395 Jan Hubicka <jh@suse.cz>
398 * opts.c (finish_options): Enable -freorder-functions
399 when -freorder-blocks-and-partition is active.
401 2010-12-20 Iain Sandoe <iains@gcc.gnu.org>
406 * config/darwin.c (generating_for_darwin_version): New var.
407 (darwin_text_section): Remove.
408 (darwin_rodata_section): Do not check function section here.
409 (darwin_emit_unwind_label): Do not emit for Darwin >= 9.
410 Emit distinct labels for successive calls for the same decl.
411 (darwin_override_options): Set generating_for_darwin_version.
412 Add FIXME and disable -freorder-blocks-and-partition.
413 Suppress automatic asynchronous unwind tables for m32.
414 Switch off -freorder-blocks-and-partition when unwind tables
415 will be generated. Update to use generating_for_darwin_version.
416 (darwin_function_section): Check for cases that need to be placed
417 in coalesced sections.
418 * config/darwin-sections.def: Define hot, cold, startup and
419 exit sections for both coalesced and regular code.
420 * config/darwin.h (USE_SELECT_SECTION_FOR_FUNCTIONS): Delete.
421 * config/darwin10.h (TARGET_ASM_EMIT_UNWIND_LABEL): Delete.
423 2010-12-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
425 * doc/cppopts.texi: Use @var when appropriate.
426 * doc/extend.texi (Structure-Packing Pragmas): Likewise.
427 * doc/gimple.texi (Logical Operators)
428 (Adding a new GIMPLE statement code): Likewise.
429 * doc/invoke.texi (Target Options, Precompiled Headers): Likewise.
430 * doc/plugins.texi (Plugins): Likewise.
432 * doc/install.texi (Configuration, Building, Testing, Specific):
433 Remove leading whitespace from examples.
435 2010-12-19 Andi Kleen <ak@linux.intel.com>
438 * collect2.c (main): Handle -fno-lto.
439 * opts.c (common_handle_option): Handle -fno-lto.
441 2010-12-19 Eric Botcazou <ebotcazou@adacore.com>
444 * config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro.
445 (PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro.
446 * config/sparc/sparc.c (pic_helper_needed): Delete.
447 (global_offset_table): Likewise.
448 (pic_helper_symbol): Rename to...
449 (got_helper_rtx): ...this.
450 (global_offset_table_rtx): New global variable.
451 (sparc_got_symbol): Likewise.
452 (sparc_got): New static function.
453 (check_pic): Use local variable and call sparc_got.
454 (sparc_tls_symbol): Initialize to NULL_RTX.
455 (sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS
456 and 32-bit ABI and copy the GOT symbol to a new register otherwise.
457 (get_pc_thunk_name): Rename local variable.
458 (gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}.
459 (load_pic_register): Rename to...
460 (load_got_register): ...this. Adjust and call gen_load_pcrel_sym.
461 (sparc_expand_prologue): Do not test flag_pic.
462 (sparc_output_mi_thunk): Use pic_offset_table_rtx directly.
463 (sparc_file_end): Test got_helper_rtx instead of pic_helper_needed.
464 Rename local variable and do not call get_pc_thunk_name again.
465 * config/sparc/sparc.md (load_pcrel_sym): Add operand #3.
467 2010-12-19 Dave Korn <dave.korn.cygwin@gmail.com>
471 * varasm.c (symbol_alias_set_t): New typedef for derived pointer_set
473 (symbol_alias_set_create): New wrapper function.
474 (symbol_alias_set_destroy): Likewise.
475 (symbol_alias_set_contains): Likewise.
476 (symbol_alias_set_insert): Likewise.
477 (compute_visible_aliases): Use the above and return symbol_alias_set_t,
479 (remove_unreachable_alias_pairs): Adjust likewise to match.
480 (finish_aliases_1): Likewise.
482 2010-12-19 Chung-Lin Tang <cltang@codesourcery.com>
484 * config/arm/arm.c (arm_legitimate_index_p): Add VFP load/store
485 index range case. Change to SF/DFmode tests to avoid capturing HFmode.
486 (thumb2_legitimate_index_p): Same.
488 2010-12-18 Jakub Jelinek <jakub@redhat.com>
490 PR tree-optimization/46969
491 * tree-parloops.c (struct reduction_info): Add reduc_version.
492 (reduction_info_hash): Return reduc_version field.
493 (reduction_phi): Set reduc_version to gimple_uid (phi).
494 (build_new_reduction): Set reduc_version to SSA_NAME_VERSION of
496 (set_reduc_phi_uids): New function.
497 (gather_scalar_reductions): Call it at the end through htab_traverse.
499 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
501 * c-parser.c (c_parser_objc_try_catch_finally_statement): Call
502 objc_maybe_warn_exceptions.
503 (c_parser_objc_synchronized_statement): Call
504 objc_maybe_warn_exceptions.
506 2010-12-18 Jakub Jelinek <jakub@redhat.com>
508 PR tree-optimization/46985
509 * tree-scalar-evolution.c (instantiate_scev_r): If chrec is NULL,
510 return it immediately.
512 2010-12-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
515 * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead
516 of next_real_insn. Search forward checking for both ASM_INPUT and
517 ASM_OPERANDS asms until exit condition is found.
518 (branch_needs_nop_p): Likewise.
519 (use_skip_p): New function.
520 (output_cbranch): Use use_skip_p.
521 (output_bb, output_bvb): Likewise.
523 2010-12-18 Kai Tietz <kai.tietz@onevision.com>
526 * config/i386/i386.c (ix86_keep_aggregate_return_pointer):
528 (ix86_return_pops_args): Use ix86_keep_aggregate_return_pointer
529 function instead of KEEP_AGGREGATE_RETURN_POINTER.
530 (ix86_handle_callee_pop_aggregate_return): New handler.
531 (ix86_attribute_table): Add new attribute
532 callee_pop_aggregate_return.
533 * doc/extend.texi (callee_pop_aggregate_return): Add
534 attribute documentation.
536 2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
538 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS):
539 Only set sjlj exceptions for NeXT/m32.
541 2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
543 * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION):
544 Only expose when not building for target.
546 2010-12-17 Joseph Myers <joseph@codesourcery.com>
548 * config/netbsd.opt, config/netbsd-elf.opt: New files.
549 * config.gcc (alpha*-*-netbsd*, arm*-*-netbsdelf*, arm*-*-netbsd*,
550 i[34567]86-*-netbsdelf*, i[34567]86-*-netbsd*, x86_64-*-netbsd*,
551 m68k*-*-netbsdelf*, mips*-*-netbsd*, powerpc-*-netbsd*,
552 sh*-*-netbsd*, sparc-*-netbsdelf*, sparc64-*-netbsd*,
553 vax-*-netbsdelf*, vax-*-netbsd*): Use these .opt files.
555 2010-12-17 Richard Henderson <rth@redhat.com>
557 * regcprop.c (find_oldest_value_reg): Continue search instead of
558 failing if an element in the copy chain is of the wrong regclass.
560 2010-12-17 Paolo Bonzini <bonzini@gnu.org>
563 * function.c (used_types_insert): Handle ERROR_MARK.
564 * c-decl.c (grokdeclarator): Handle ERROR_MARK.
565 (declspecs_add_type): Leave error_mark_node in specs->type.
566 (finish_declspecs): Change it to integer_type_node here.
567 * c-parser.c (c_parser_peek_2nd_token): Move earlier.
568 (enum c_lookahead_kind): New.
569 (c_parser_next_token_starts_typename): New name of
570 c_parser_next_tokens_start_typename. Accept lookahead enum
571 and handle it here instead of...
572 (c_parser_next_tokens_start_declaration): ... here. Call it.
573 (c_parser_declspecs): Accept another argument. Do not exit
574 on C_ID_ID if it is guessed to be an unknown typename.
575 (c_parser_parms_declarator): Use 2nd token to distinguish a K&R
576 declaration from an ANSI declaration starting with an unknown
578 (c_parser_struct_declaration, c_parser_objc_type_name,
579 c_parser_typeof_specifier, c_parser_declarator,
580 c_parser_direct_declarator_inner): Adjust calls.
581 (c_parser_parameter_declaration): Likewise.
582 (c_parser_type_name): Pass back an error_mark_node to the caller.
583 (c_parser_postfix_expression): Do error recovery when
584 c_parser_type_name returns NULL.
586 2010-12-17 Joseph Myers <joseph@codesourcery.com>
588 * config/i386/netware.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE): Define.
589 * config/i386/nto.h (LIB_SPEC, ASM_SPEC): Define.
590 (DBX_REGISTER_NUMBER): Undefine.
591 * config/i386/sol2.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
592 * config/i386/vxworksae.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE):
594 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
595 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
596 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
597 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
598 i[3456x]86-*-netware*, i[34567]86-*-nto-qnx*,
599 i[34567]86-*-solaris2*,
600 i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae): Don't use svr4.h.
602 2010-12-17 H.J. Lu <hongjiu.lu@intel.com>
604 * config/i386/i386.c (move_or_delete_vzeroupper_2): Replace
605 "BB [%i]" with "[bb %i]" in dump.
606 (move_or_delete_vzeroupper_1): Likewise.
607 (rescan_move_or_delete_vzeroupper): Likewise. Always dump
608 upper 128bit state at exit.
610 2010-12-17 Joseph Myers <joseph@codesourcery.com>
612 * config/interix.opt: New.
613 * config/interix.h (LINK_SPEC): Don't handle -soname*.
614 * config.gcc (i[34567]86-*-interix3*): Use interix.opt.
616 2010-12-17 Andrew Stubbs <ams@codesourcery.com>
618 * config/arm/arm.md (maddhisi4, *maddhidi4): Use the canonical
619 operand order for plus.
620 Drop redundant % from constraints.
622 2010-12-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
624 * config/spu/t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and
626 * config/spu/spu.md ("floattisf2"): New expander.
627 ("floatunstisf2"): New insn pattern and splitter.
628 ("cgt_ti_m1"): New insn pattern.
630 2010-12-17 Bernd Schmidt <bernds@codesourcery.com>
632 * config/arm/arm.c (arm_select_cc_mode): Before calling
633 arm_select_dominance_cc_mode for AND or IOR operations, ensure
636 2010-12-17 Alexander Monakov <amonakov@ispras.ru>
639 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Prefer
640 to use unadjusted UB.
642 2010-12-17 Dodji Seketeli <dodji@redhat.com>
644 * dwarf2out.c (gen_type_die_with_usage): Do not try to emit debug
645 info for a redundant typedef that has DECL_ORIGINAL_TYPE set. Use
646 that underlying type instead.
648 2010-12-16 Jan Hubicka <jh@suse.cz>
651 * ipa-inline.c: Update doplevel comment.
652 (cgraph_estimate_size_after_inlining): Remove times attribute.
653 (cgraph_mark_inline_edge): Update.
654 (cgraph_mark_inline): Remove.
655 (cgraph_estimate_growth): Update.
656 (cgraph_check_inline_limits): Remove one only argument.
657 (cgraph_edge_badness): Update.
658 (cgraph_decide_recursive_inlining): Update.
659 (cgraph_decide_inlining_of_small_function): Fix handling of
660 tree_can_inline_p and call_stmt_cannot_inline_p.
661 (cgraph_flatten): Likewise.
662 (cgraph_decide_inlining): Update.
663 (cgraph_decide_inlining_incrementally): Fix handling of
664 call_stmt_cannot_inline_p.
666 2010-12-16 Joseph Myers <joseph@codesourcery.com>
668 * config/darwin.opt (dylinker, headerpad_max_install_names,
669 keep_private_externs, nofixprebinding, nomultidefs, noprebind,
670 noseglinkedit, object, prebind, prebind_all_twolevel_modules,
671 preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
672 twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
674 * config/darwin.h (LINK_SPEC): Remove '*' after
675 headerpad_max_install_names.
677 2010-12-16 Sebastian Pop <sebastian.pop@amd.com>
679 PR tree-optimization/46924
680 * graphite-sese-to-poly.c (detect_commutative_reduction): Do not
681 detect reductions outside the current SESE region.
682 * sese.h (stmt_in_sese_p): New.
683 (defined_in_sese_p): Call stmt_in_sese_p.
685 2010-12-16 Jakub Jelinek <jakub@redhat.com>
687 PR tree-optimization/46966
688 * graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
689 for bbs that are removed from SCOP_BBS vector.
691 2010-12-16 Eric Botcazou <ebotcazou@adacore.com>
693 * tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to
694 get_ref_base_and_extent returns -1 as the max size.
696 2010-12-16 Konrad Eisele <konrad@gaisler.com>
697 Eric Botcazou <ebotcazou@adacore.com>
699 Support for LEON processor
700 * config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
701 (sparc-*-linux*): Likewise.
702 (sparc-*-rtems*): Remove Solaris left-overs.
703 (sparc*-*-*): Remove obsolete sparc86x setting.
704 (sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
705 * doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
706 * config/sparc/sparc.h (TARGET_CPU_leon): Define.
707 (TARGET_CPU_sparc86x): Delete.
708 (TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
709 (TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
710 (TARGET_CPU_f934): Likewise.
711 (TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
712 (CPP_CPU_SPEC): Add entry for -mcpu=leon.
713 (enum processor_type): Add PROCESSOR_LEON. Reorganize.
714 * config/sparc/sparc.c (leon_costs): New cost array.
715 (sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
716 Initialize cost array to leon_costs if -mtune=leon.
717 * config/sparc/sparc.md (cpu attribute): Add leon. Reorganize.
718 Include leon.md scheduling description.
719 * config/sparc/leon.md: New file.
720 * config/sparc/t-elf: Do not assemble Solaris startup files.
721 * config/sparc/t-leon: New file.
722 * config/sparc/t-leon3: Likewise.
724 2010-12-16 Jakub Jelinek <jakub@redhat.com>
726 PR tree-optimization/43655
727 * tree-ssa-ter.c (is_replaceable_p): Don't use
728 gimple_references_memory_p for -O0, instead check for load
731 2010-12-16 Sebastian Pop <sebastian.pop@amd.com>
733 PR tree-optimization/46404
734 * graphite-clast-to-gimple.c (gloog): Call scev_reset.
736 2010-12-16 Anatoly Sokolov <aesok@post.ru>
738 * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
739 * config/sh/sh.c (sh_asm_output_addr_const_extra): New function.
740 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
742 2010-12-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
744 * config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
745 * config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define.
746 (LIBGCC2_UNITS_PER_WORD): Define if not already defined.
748 2010-12-16 Jakub Jelinek <jakub@redhat.com>
751 * cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode,
752 use TYPE_MODE (TREE_TYPE (tem)) instead of mode1.
754 2010-12-16 Chung-Lin Tang <cltang@codesourcery.com>
758 (zero_extendhisi2 for register input splitter): Change
759 "register_operand" to "s_register_operand".
760 (zero_extendqisi2 for register input splitter): Same.
762 2010-12-16 Jan Hubicka <jh@suse.cz>
765 * predic.c (predict_paths_leading_to_edge): New function.
766 (apply_return_prediction): Use it.
767 (predict_paths_for_bb): Do not special case abnormals.
769 2010-12-16 Joseph Myers <joseph@codesourcery.com>
771 * config.gcc (powerpc-*-lynxos*): Don't add lynx.opt to
774 2010-12-15 Joseph Myers <joseph@codesourcery.com>
776 * doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
777 * doc/tm.texi: Regenerate.
778 * system.h (US_SOFTWARE_GOFAST): Poison.
779 * config.gcc (enable_gofast): Don't handle.
780 * config/gofast.h: Remove.
781 * config/mips/t-gofast: Remove.
782 * config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
783 * config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
784 * config/mips/elforion.h: Don't mention GOFAST in comment.
785 * config/mips/mips.c: Don't include gofast.h.
786 (mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
787 * config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
789 * config/sparc/sparc.c: Don't include gofast.h.
790 (sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
791 * config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
794 2010-12-14 Jan Hubicka <jh@suse.cz>
796 * config/darwin.opt (dylinker, headerpad_max_install_names,
797 keep_private_externs, nofixprebinding, nomultidefs, noprebind,
798 noseglinkedit, object, prebind, prebind_all_twolevel_modules,
799 preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
800 twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
802 * config/darwin.h (LINK_SPEC): Remove '*' after
803 headerpad_max_install_names.
805 2010-12-14 Jan Hubicka <jh@suse.cz>
807 * tree.c (get_file_function_name): Avoid using random seed on
808 GLOBAL_sub_I and GLOBAL_sub_D.
810 2010-12-15 Martin Jambor <mjambor@suse.cz>
812 PR tree-optimization/46053
815 * cgraph.h (cgraph_indirect_call_info): New field thunk_delta.
816 * gimple.h (gimple_fold_obj_type_ref): Declaration removed.
817 (gimple_fold_call): Declare.
818 (gimple_adjust_this_by_delta): Likewise.
819 * cgraph.c (cgraph_make_edge_direct): New parameter delta. Updated
821 (cgraph_clone_edge): Create a copy of indirect_info also for direct
823 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Adjust this
825 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Renamed to
826 gimple_get_virt_mehtod_for_binfo, new parameter delta. Do not search
827 through thunks, in fact bail out if we encounter one, check that
828 BINFO_VIRTUALS is not NULL.
829 (gimple_adjust_this_by_delta): New function.
830 (gimple_fold_obj_type_ref): Removed.
831 (gimple_fold_obj_type_ref_call): New function.
832 (fold_gimple_call): Renamed to gimple_fold_call, made external.
833 Updated users. Call gimple_fold_obj_type_ref_call instead of
834 gimple_fold_obj_type_ref.
835 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Process
837 (ipcp_discover_new_direct_edges): Likewise.
838 * ipa-prop.c (ipa_make_edge_direct_to_target): New parameter delta.
840 (ipa_write_indirect_edge_info): Stream thunk_delta.
841 (ipa_read_indirect_edge_info): Likewise.
842 * tree-ssa-ccp.c (ccp_fold_stmt): Use gimple_fold_call instead of
843 gimple_fold_obj_type_ref.
845 2010-12-15 Alexander Monakov <amonakov@ispras.ru>
847 PR rtl-optimization/46649
848 * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
849 basic block in the region.
851 2010-12-15 Joseph Myers <joseph@codesourcery.com>
853 * config/stormy16/stormy16.h (LINK_SPEC, WCHAR_TYPE): Define.
854 * config.gcc (xstormy16-*-elf): Don't use svr4.h.
856 2010-12-15 Joseph Myers <joseph@codesourcery.com>
858 * config/rx/rx.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
859 * config.gcc (rx-*-elf*): Don't use svr4.h.
861 2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
863 PR tree-optimization/46845
864 * sese.c (scalar_evolution_in_region): Handle scop parameters
865 before scev analysis.
867 2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
869 PR tree-optimization/46928
870 * tree-data-ref.c (analyze_overlapping_iterations): Handle A[p] == A[p]
871 in data dependence analysis with p a parameter of the loop.
873 2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
875 PR tree-optimization/45948
876 * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New.
877 (stmt_has_scalar_dependences_outside_loop): New.
878 (stmt_generated_in_another_partition): New.
879 (add_scalar_computations_to_partition): New.
880 (rdg_build_partitions): Call add_scalar_computations_to_partition.
882 2010-12-14 Joseph Myers <joseph@codesourcery.com>
884 * config/arc/arc.h (LIB_SPEC): Define.
885 * config.gcc (arc-*-elf*): Don't use svr4.h.
887 2010-12-14 Joseph Myers <joseph@codesourcery.com>
889 * config/sh/elf.h (LIB_SPEC): Define.
890 * config.gcc (sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* |
891 sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* |
892 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* |
893 sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-rtems*,
894 sh-wrs-vxworks): Don't use svr4.h.
896 2010-12-14 Jan Hubicka <jh@suse.cz>
900 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
901 for aliases when they are used.
903 2010-12-14 Joseph Myers <joseph@codesourcery.com>
905 * config.gcc (sparc-*-elf*, sparc-*-rtems*, sparc-*-linux*,
906 sparc-*-netbsdelf*, sparc*-*-solaris2*, sparc-wrs-vxworks,
907 sparc64-*-elf*, sparc64-*-rtems*, sparc64-*-linux*,
908 sparc64-*-netbsd*, sparc64-*-openbsd*): Don't use svr4.h.
910 2010-12-14 Thomas Klein <th.r.klein@web.de>
912 * config/arm/arm.c (arm_expand_prologue): Report the static stack
913 size if -fstack-usage is used.
914 (thumb1_expand_prologue): Likewise.
916 2010-12-14 Jakub Jelinek <jakub@redhat.com>
919 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Use gsi_last_bb
920 instead of gsi_last_nondebug_bb if bump_in_latch.
922 PR tree-optimization/46909
923 * gimple-fold.c (and_var_with_comparison_1): Save partial
924 result even in the is_and case, if both partial results
925 are the same, return it.
926 (or_var_with_comparison_1): Use is_or predicate instead of
927 innercode == TRUTH_OR_EXPR test. Save partial result
928 even in the is_or case, if both partial results are the
929 same, return it. In the !is_or case when both partial
930 results are the same, return the partial result instead
931 of boolean_true_node.
933 2010-12-14 Jan Hubicka <jh@suse.cz>
936 * varasm.c (assemble_start_function): Do not call
937 resolve_unique_section.
938 * cfgexpand.c (gimple_expand_cfg): Resolve it here.
940 2010-12-14 Alexander Monakov <amonakov@ispras.ru>
942 PR rtl-optimization/46875
943 * sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs.
944 * sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps.
946 2010-12-14 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
948 * config/h8300/h8300.md (define_split) : Add condition for
949 "and with single_zero" splitter to handle 16-bit const operands.
950 * config/h8300/h8300.md (define_split) : Add condition for
951 "ior with single_one" splitter to handle 16-bit const operands.
952 * config/h8300/h8300.md (define_split) : Add condition for
953 "xor with single_one" splitter to handle 16-bit const operands.
954 * testsuite/gcc.dg/h8300-bit-insn-ice.c: New.
956 2010-12-13 Jan Hubicka <jh@suse.cz>
959 * ipa.c (cgraph_build_static_cdtor_1): Break out from ... Add FINAL
961 (cgraph_build_static_cdtor): ... here.
962 (build_cdtor): Use cgraph_build_static_cdtor_1.
964 2010-12-13 Joseph Myers <joseph@codesourcery.com>
966 * config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE,
967 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
968 * config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h.
970 2010-12-14 Bernd Schmidt <bernds@codesourcery.com>
972 PR rtl-optimization/44374
973 Reapply patch with fixes.
974 * basic-block.h (enum bb_flags): Add BB_MODIFIED.
975 * df-core.c (df_set_bb_dirty): Set it.
976 * ifcvt.c (find_memory): Remove function.
977 (dead_or_predicable): Use can_move_insns_across.
978 * df.h (can_move_insns_across): Declare function.
979 * cfgcleanup.c (block_was_dirty): New static variable.
980 (flow_find_head_matching_sequence): Test for epilogue notes.
981 (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
982 than df_get_bb_dirty.
983 (try_head_merge_bb): New static function.
984 (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty
986 * df-problems.c: Include "target.h"
987 (df_simulate_find_uses): New static function.
988 (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
989 (find_memory, find_memory_store): New static functions.
990 (can_move_insns_across): New function.
991 * Makefile.in (df-problems.o): Update dependencies.
993 2010-12-13 Joseph Myers <joseph@codesourcery.com>
995 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
996 (DBX_REGISTER_NUMBER): Undefine.
997 * config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
998 (DBX_REGISTER_NUMBER): Undefine.
999 * config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h.
1001 2010-12-13 Jack Howarth <howarth@bromo.med.uc.edu>
1002 Joseph Myers <joseph@codesourcery.com>
1005 * system.h: Include cstring for cxx bootstrap.
1007 2010-12-13 Jakub Jelinek <jakub@redhat.com>
1010 * lto-streamer-out.c (output_gimple_stmt): Never replace first
1011 GIMPLE_DEBUG argument with MEM_REF.
1014 * var-tracking.c (emitted_notes, string_pointer_flags): Removed.
1015 (emit_note_insn_var_location): Remove ENABLE_RTL_CHECKING verification.
1016 (vt_emit_notes): Don't initialize and destroy emitted_notes.
1018 2010-12-13 Nathan Froyd <froydnj@codesourcery.com>
1021 * config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
1022 (arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
1024 2010-12-13 Joseph Myers <joseph@codesourcery.com>
1026 * config/v850/v850.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1027 WCHAR_TYPE_SIZE): Define.
1028 * config.gcc (v850e1-*-*, v850e-*-*, v850-*-*): Don't use svr4.h.
1030 2010-12-13 Joseph Myers <joseph@codesourcery.com>
1032 * config.gcc (s390-*-linux*, s390x-*-linux*, s390x-ibm-tpf*):
1035 2010-12-13 Joseph Myers <joseph@codesourcery.com>
1037 * config/mn10300/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1038 WCHAR_TYPE_SIZE): Undefine.
1039 * config/mn10300/mn10300.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1040 WCHAR_TYPE_SIZE): Define.
1041 * config.gcc (mn10300-*-*): Don't use svr4.h.
1043 2010-12-13 Joseph Myers <joseph@codesourcery.com>
1045 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Undefine and redefine.
1046 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1047 * config.gcc (m68k-*-uclinux*, m68k-*-linux*): Don't use svr4.h.
1049 2010-12-13 Alexandre Oliva <aoliva@redhat.com>
1052 * jump.c (mark_all_labels): Skip debug insns.
1054 2010-12-13 Alexandre Oliva <aoliva@redhat.com>
1057 * cfgcleanup.c (try_forward_edges): Skip debug insns.
1059 2010-12-12 Jan Hubicka <jh@suse.cz>
1060 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1062 * varasm.c (default_function_section): Check flag_reorder_functions
1063 and targetm.have_named_sections.
1064 * config/darwin.c (darwin_function_section): Check
1065 flag_reorder_functions.
1067 2010-12-12 Finn Thain <fthain@telegraphics.com.au>
1070 * config/m68k/m68k.c (handle_move_double): Insert calls to
1071 m68k_final_prescan_insn to clean up @TLS operand syntax.
1073 2010-12-10 Sebastian Pop <sebastian.pop@amd.com>
1075 PR tree-optimization/43023
1076 * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p):
1078 (stores_zero_from_loop): Call stmt_stores_zero.
1079 * tree-data-ref.h (stmt_stores_zero): New.
1080 * tree-loop-distribution.c (generate_memset_zero): Do not return a
1081 boolean. Call gcc_assert on stride_of_unit_type_p.
1082 (generate_builtin): Call stmt_stores_zero.
1083 (rdg_flag_all_uses): Removed.
1084 (rdg_flag_similar_memory_accesses): Removed.
1085 (build_rdg_partition_for_component): Removed parameter
1086 other_stores. Removed call to rdg_flag_similar_memory_accesses.
1087 (can_generate_builtin): New.
1088 (similar_memory_accesses): New.
1089 (fuse_partitions_with_similar_memory_accesses): New.
1090 (rdg_build_partitions): Call
1091 fuse_partitions_with_similar_memory_accesses.
1093 2010-12-10 Jakub Jelinek <jakub@redhat.com>
1095 PR rtl-optimization/46804
1096 * regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note
1097 on the setter of src_reg rather than on insn. If it is
1098 equal to the setter's original SET_SRC, replace it with its
1099 zero or sign extension instead of dropping it.
1101 2010-12-10 Richard Guenther <rguenther@suse.de>
1104 * lto-symtab.c (lto_symtab_merge_decls_2): Avoid type warnings
1106 (lto_symtab_merge_decls_1): Adjust.
1108 2010-12-10 Dave Korn <dave.korn.cygwin@gmail.com>
1112 * target.def (mangle_assembler_name): New target asm_out hook.
1113 * targhooks.c (default_mangle_assembler_name): Add default hook
1115 * targhooks.h (default_mangle_assembler_name): Add prototype.
1116 * lto-symtab.c (lto_symtab_register_decl): Use new hook when
1117 processing DECL_ASSEMBLER_NAMEs for lto symtabs.
1118 (lto_symtab_get_resolution): Likewise.
1119 (lto_cgraph_replace_node): Likewise.
1120 (lto_symtab_prevailing_decl): Likewise.
1121 * lto-streamer-out.c (write_symbol): Likewise.
1122 * doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive.
1123 * doc/tm.texi: Regenerate.
1124 * config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to
1125 point at i386_pe_mangle_assembler_name.
1126 * config/i386/winnt.c (i386_pe_mangle_assembler_name): New function.
1127 * config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add
1130 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
1132 * c-typeck.c (readonly_error): Delete.
1134 2010-12-10 Jakub Jelinek <jakub@redhat.com>
1136 PR rtl-optimization/46865
1137 * rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
1138 ASM_OPERANDS and ASM_INPUT if integers are different, call locator_eq.
1139 * jump.c (rtx_renumbered_equal_p): Likewise.
1141 PR tree-optimization/46864
1142 * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
1143 when there are EDGE_EH exit edges.
1145 2010-12-10 Tobias Burnus <burnus@net-b.de>
1148 * configure.ac: Handle --disable-libquadmath-support.
1149 * doc/install.texi: Document --disable-libquadmath and
1150 --disable-libquadmath-support
1151 * configure: Regenerate.
1152 * config.in: Regenerate.
1154 2010-12-10 Jack Howarth <howarth@bromo.med.uc.edu>
1155 Iain Sandoe <iains@gcc.gnu.org>
1158 * config/darwin9.h (DSYMUTIL_SPEC): Add fortran source types.
1160 2010-12-10 Iain Sandoe <iains@gcc.gnu.org>
1162 * config/rs6000/rs6000.c
1163 (rs6000_darwin64_record_arg_advance_recurse): Name register increment
1164 explicitly. (rs6000_darwin64_record_arg_recurse): Make sure we split
1165 long doubles when we run out of regs. Also flag that this requires
1166 stack and therefore cannot be returned by value.
1167 (rs6000_darwin64_record_arg): Update comment.
1168 (rs6000_function_value): Likewise.
1170 2010-12-10 Nicola Pero <nicola.pero@meta-innovation.com>
1172 * c-parser.c (c_parser_objc_class_definition): Recognize
1173 Objective-C 2.0 class extensions.
1175 2010-12-10 Iain Sandoe <iains@gcc.gnu.org>
1177 * config/darwin.c: Remove c-tree.h and c-lang.h
1178 * config/t-darwin: Remove dependencies on c-tree.h and c-lang.h.
1180 2010-12-10 Joern Rennecke <amylaar@spamcop.net>
1183 * doc/tm.texi: Regenerate.
1184 * target.def: Fix "preferred" spelling. Refer to rclass by its
1186 * config/arm/arm.c (arm_preferred_rename_class): Rename parameter class
1189 2010-12-09 Paul Koning <ni1d@arrl.net>
1191 * config/pdp11/pdp11-protos.h (output_move_double,
1192 output_move_quad): Delete.
1193 (output_move_multiple, pdp11_expand_operands): New functions.
1194 (pdp11_action, pdp11_partorder): New enums.
1195 * config/pdp11/pdp11.md (movdi, movsi, movdf, movsf): Use
1196 output_move_multiple.
1197 (adddi3, subdi3, negdi2): New patterns.
1198 (addsi3, subsi3, negsi2): Use pdp11_expand_operands.
1200 (neghi2, negqi2): Use PDPint iterator.
1201 * config/pdp11/pdp11.c (find_addr_reg, output_move_double,
1202 output_move_quad): Delete.
1203 (pdp11_expand_operands, output_move_multiple): New functions.
1205 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1207 * config/vax/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1208 * config.gcc (vax-*-linux*): Don't use svr4.h.
1210 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
1212 * c-typeck.c (build_indirect_ref): Call invalid_indirection_error.
1214 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1216 * doc/extend.texi (Attribute Syntax): Correct description of
1217 attributes in pointer declarators.
1219 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1221 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Undefine.
1222 * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux*,
1223 mips*-*-linux*, mips-wrs-vxworks): Don't use svr4.h.
1225 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1227 * config/mep/mep.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1228 WCHAR_TYPE_SIZE): Define.
1229 * config.gcc (mep-*-*): Don't use svr4.h.
1231 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1233 * config/mcore/mcore.h (PTRDIFF_TYPE, WCHAR_TYPE,
1234 WCHAR_TYPE_SIZE): Define.
1235 * config/svr3.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1236 WCHAR_TYPE_SIZE): Don't define.
1237 * config.gcc (mcore-*-elf): Don't use svr4.h.
1239 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1241 * config.gcc (m32r-*-elf*, m32rle-*-elf*, m32r-*-rtems*,
1242 m32r-*-linux*, m32rle-*-linux*): Don't use svr4.h.
1244 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1246 * config/iq2000/iq2000.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
1247 WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1248 * config.gcc (iq2000*-*-elf*): Don't use svr4.h.
1250 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1252 * config.gcc (ia64*-*-linux*, ia64*-*-hpux*): Don't use svr4.h.
1254 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1256 * config/pa/pa32-linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1257 * config.gcc (hppa*64*-*-linux*, hppa*-*-linux*): Don't use svr4.h.
1259 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1261 * config/moxie/moxie.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
1262 WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1263 * config/moxie/rtems.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
1264 WCHAR_TYPE, WCHAR_TYPE_SIZE): Undefine.
1265 * config.gcc (moxie-*-elf, moxie-*-uclinux*): Don't use svr4.h.
1267 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1269 * config/frv/frv.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1270 WCHAR_TYPE_SIZE): Define.
1271 * config.gcc (frv-*-elf, frv-*-*linux*): Don't use svr4.h.
1273 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1275 * config/fr30/fr30.h (LIB_SPEC, LINK_SPEC, SIZE_TYPE,
1276 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1277 * config.gcc (fr30-*-elf): Don't use svr4.h.
1279 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1281 * config/cris/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
1282 * config.gcc (crisv32-*-linux* | cris-*-linux*): Don't use svr4.h.
1284 2010-12-09 Richard Guenther <rguenther@suse.de>
1287 * gimple-fold.c (canonicalize_constructor_val): Canonicalize addresses.
1289 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1291 * config/i386/netware.h (TARGET_POSIX_IO): Define.
1292 * config/i386/nto.h (TARGET_POSIX_IO): Define.
1293 * config/ia64/hpux.h (TARGET_POSIX_IO): Define.
1294 * config/moxie/moxie.h (TARGET_POSIX_IO): Don't undefine.
1295 * config/openbsd.h (TARGET_POSIX_IO): Define.
1296 * config/rtems.h (TARGET_POSIX_IO): Define.
1297 * config/sh/embed-elf.h (TARGET_POSIX_IO): Don't undefine.
1298 * config/sol2.h (TARGET_POSIX_IO): Define.
1299 * config/svr4.h (TARGET_POSIX_IO): Don't define.
1300 * config/vxworksae.h (TARGET_POSIX_IO): Define.
1302 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1304 * config/i386/nto.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1305 * config/ia64/hpux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1306 * config/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
1308 * config/mips/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
1310 * config/mips/netbsd.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1312 * config/rs6000/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1314 * config/rs6000/linux64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1316 * config/sol2.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1317 * config/sparc/netbsd-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1319 * config/sparc/openbsd64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1321 * config/sparc/sp64-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1323 * config/svr4.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't define.
1324 * config/xtensa/elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
1327 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1329 * config/ia64/hpux.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
1331 * config/m68k/netbsd-elf.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1332 * config/m68k/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1333 * config/mips/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1334 * config/sol2.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
1336 * config/sparc/sparc.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1337 * config/svr4.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1339 2010-12-09 Martin Jambor <mjambor@suse.cz>
1341 * ipa-prop.c (compute_complex_ancestor_jump_func): Work also if the
1342 zero is the first phi parameter.
1344 2010-12-09 Martin Jambor <mjambor@suse.cz>
1346 * ipa-prop.h (struct ipa_parm_adjustment): New field alias_ptr_type.
1347 * ipa-prop.c (ipa_modify_call_arguments): Use it.
1348 * tree-sra.c (splice_param_accesses): Test that all accesses have the
1349 same alias reference type.
1350 (turn_representatives_into_adjustments): Set alias_ptr_type of the
1353 2010-12-09 Martin Jambor <mjambor@suse.cz>
1356 * tree-sra.c (splice_param_accesses): Check that there are not
1357 multiple ADDRESSABLE types.
1359 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1361 * config/arc/arc.h (ASM_SPEC): Remove %{v}.
1362 * config/bfin/bfin.h (ASM_SPEC): Remove %{v}.
1363 * config/cris/cris.h (ASM_SPEC): Remove %{v:-v}.
1364 * config/fr30/fr30.h (ASM_SPEC): Remove %{v}.
1365 * config/frv/frv.h (ASM_SPEC): Remove %{v}.
1366 * config/i386/linux.h (ASM_SPEC): Remove %{v}.
1367 * config/i386/linux64.h (ASM_SPEC): Remove %{v}.
1368 * config/i386/mingw-w64.h (ASM_SPEC): Remove %{v}.
1369 * config/i386/sol2-10.h (ASM_SPEC): Remove %{v}.
1370 * config/i386/vxworks.h (ASM_SPEC): Remove %{v}.
1371 * config/i386/x86-64.h (ASM_SPEC): Remove %{v}.
1372 * config/lm32/lm32.h (ASM_SPEC): Remove %{v}.
1373 * config/m32r/m32r.h (ASM_SPEC): Remove %{v}.
1374 * config/m68k/linux.h (ASM_SPEC): Remove %{v:-V}.
1375 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{v}.
1376 * config/mips/mips.h (ASM_SPEC): Remove %{v}.
1377 * config/mips/vxworks.h (ASM_SPEC): Remove %{v}.
1378 * config/pa/pa-linux.h (ASM_SPEC): Remove %{v:-V}.
1379 * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Remove %{v}.
1380 * config/rs6000/linux64.h (ASM_SPEC): Remove %{v:-V}.
1381 * config/rs6000/vxworks.h (ASM_SPEC): Remove %{v:-v}.
1382 * config/sparc/openbsd64.h (ASM_SPEC): Remove %{v:-V}.
1383 * config/svr4.h (SVR4_ASM_SPEC): Remove %{v:-V}.
1384 * config/xtensa/elf.h (ASM_SPEC): Remove %{v}.
1385 * config/xtensa/linux.h (ASM_SPEC): Remove %{v}.
1387 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1389 * config/i386/openbsdelf.h (LINK_SPEC): Use %{r:} not %{r*:}.
1390 * config/mips/openbsd.h (LINK_SPEC): Use %{r:} not %{r*:}.
1391 * config/netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): Use %{r:} not %{r*:}.
1392 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Use %{r:} not %{r*:}.
1393 * config/sparc/openbsd64.h (LINK_SPEC): Use %{r:} not %{r*:}.
1394 * config/vax/netbsd-elf.h (LINK_SPEC): Use %{r:} not %{r*:}.
1396 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1398 * config/alpha/freebsd.h (LINK_SPEC): Don't use %{!dynamic-linker:}.
1399 * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
1400 * config/arm/freebsd.h (LINK_SPEC): Likewise.
1401 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Likewise.
1402 * config/bfin/linux.h (LINK_SPEC): Likewise.
1403 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Likewise.
1404 * config/frv/linux.h (LINK_SPEC): Likewise.
1405 * config/i386/freebsd.h (LINK_SPEC): Likewise.
1406 * config/i386/freebsd64.h (LINK_SPEC): Likewise.
1407 * config/i386/linux.h (LINK_SPEC): Likewise.
1408 * config/i386/linux64.h (LINK_SPEC): Likewise.
1409 * config/i386/openbsdelf.h (LINK_SPEC): Likewise.
1410 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
1411 * config/ia64/linux.h (LINK_SPEC): Likewise.
1412 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
1413 * config/m32r/linux.h (LINK_SPEC): Likewise.
1414 * config/m68k/linux.h (LINK_SPEC): Likewise.
1415 * config/microblaze/linux.h (LINK_SPEC): Likewise.
1416 * config/mips/linux.h (LINK_SPEC): Likewise.
1417 * config/mips/linux64.h (LINK_SPEC): Likewise.
1418 * config/mips/openbsd.h (LINK_SPEC): Likewise.
1419 * config/mn10300/linux.h (LINK_SPEC): Likewise.
1420 * config/netbsd-elf.h (LINK_SPEC): Likewise.
1421 * config/pa/pa-linux.h (LINK_SPEC): Likewise.
1422 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
1423 LINK_OS_LINUX_SPEC64): Likewise.
1424 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC,
1425 LINK_OS_LINUX_SPEC, LINK_OS_GNU_SPEC, LINK_OS_NETBSD_SPEC): Likewise.
1426 * config/s390/linux.h (LINK_SPEC): Likewise.
1427 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Likewise.
1428 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1429 * config/sparc/linux.h (LINK_SPEC): Likewise.
1430 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
1431 LINK_SPEC): Likewise.
1432 * config/sparc/openbsd64.h (LINK_SPEC): Likewise.
1433 * config/vax/linux.h (LINK_SPEC): Likewise.
1434 * config/xtensa/linux.h (LINK_SPEC): Likewise.
1436 2010-12-09 Joseph Myers <joseph@codesourcery.com>
1438 * config/bfin/bfin.h (ASM_SPEC): Remove %{n} and %{T}.
1439 * config/frv/frv.h (ASM_SPEC): Likewise.
1440 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
1441 * config/i386/sol2.h (ASM_SPEC): Likewise.
1442 * config/m68k/linux.h (ASM_SPEC): Likewise.
1443 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1444 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
1445 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1446 * config/sol2.h (ASM_SPEC): Likewise.
1447 * config/sparc/linux.h (ASM_SPEC): Likewise.
1448 * config/sparc/linux64.h (ASM_SPEC): Likewise.
1449 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1450 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
1451 * config/svr4.h (SVR4_ASM_SPEC): Likewise.
1453 2010-12-09 Richard Guenther <rguenther@suse.de>
1455 * reginfo.c (struct subregs_of_mode_node): Remove.
1456 (subregs_of_mode): Likewise.
1457 (som_hash): Likewise.
1459 (invalid_mode_changes): New bitmap.
1460 (record_subregs_of_mode): Get subregs_of_mode argument.
1461 Fill in invalid_mode_changes bitmap.
1462 (find_subregs_of_mode): Get subregs_of_mode argument and pass
1464 (init_subregs_of_mode): Adjust.
1465 (finish_subregs_of_mode): Likewise.
1466 (invalid_mode_change_p): Query invalid_mode_changes bitmap.
1468 2010-12-09 Richard Guenther <rguenther@suse.de>
1470 * ira.c (ira): Do not call finish_subregs_of_mode.
1471 * ira-costs.c (finish_costs): Call finish_subregs_of_mode.
1473 2010-12-09 Richard Guenther <rguenther@suse.de>
1475 * rtl.h (invalid_mode_change_p): Adjust prototype.
1476 * reginfo.c (invalid_mode_change_p): Remove from argument.
1477 * ira-costs.c (print_allocno_costs): Adjust callers.
1478 (find_costs_and_classes): Likewise.
1480 2010-12-09 Jakub Jelinek <jakub@redhat.com>
1482 * config/s390/s390.md (*mov<mode>cc): Change lgoc and stgoc to
1483 locg and stocg even in comment.
1484 (sync_old_<atomic><mode>): Give mode to UNSPEC_VOLATILE.
1487 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx
1489 (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead
1491 * config/rs6000/altivec.md (VI_scalar): New mode attr.
1492 (altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of
1493 vector mode for operand 0, put operand 1 into UNSPEC.
1495 2010-12-09 Yao Qi <yao@codesourcery.com>
1497 * config/arm/arm.c (arm_preferred_rename_class): Implement targethook
1498 PREFERRED_RENAME_CLASS.
1500 2010-12-08 Ian Lance Taylor <iant@google.com>
1502 * doc/sourcebuild.texi (Front End): Remove reference to
1503 snapshot-README and snapshot-index.html.
1505 2010-12-08 Ian Lance Taylor <iant@google.com>
1507 * doc/sourcebuild.texi (Texinfo Manuals): Change update_web_docs
1508 to update_web_docs_svn.
1509 (Front End): Likewise.
1511 2010-12-08 Iain Sandoe <iains@gcc.gnu.org>
1513 * gcc/config.gcc (with_cpu): Default i[34567]86-*-darwin* and
1514 x86_64-*-darwin* to with_cpu:-core2.
1515 * gcc/config/i386/mmx.md (*mov<mode>_internal_rex64): Replace movq
1516 with movd for darwin assembler.
1517 * gcc/config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
1518 (*vec_concatv2di_rex64_sse): Ditto.
1520 2010-12-08 Richard Guenther <rguenther@suse.de>
1521 Sebastian Pop <sebastian.pop@amd.com>
1523 PR tree-optimization/45230
1524 PR tree-optimization/45231
1525 PR tree-optimization/45370
1526 * sese.c (rename_uses): Returns a bool. Call
1527 recompute_tree_invariant_for_addr_expr only on the RHS of a
1529 (graphite_copy_stmts_from_block): Call fold_stmt_inplace when
1530 rename_uses returns true.
1531 * tree-ssa-copy.c (replace_exp): Add a comment about calling
1532 fold_stmt_inplace after replace_exp.
1534 2010-12-08 Mike Stump <mikestump@comcast.net>
1537 * config/darwin.h (COLLECT_RUN_DSYMUTIL): Add.
1538 (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
1539 * config/darwin9.h (COLLECT_RUN_DSYMUTIL): Add.
1540 (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
1541 * collect2.c (post_ld_pass): Add.
1542 (process_args): Add.
1543 (maybe_run_lto_and_relink): Call post_ld_pass after ld.
1544 (main): Likewise. Call process_args.
1546 2010-12-08 Jakub Jelinek <jakub@redhat.com>
1549 * regrename.c (check_new_reg_p): Add ATTRIBUTE_UNUSED to reg parameter.
1551 2010-12-08 Richard Earnshaw <rearnsha@arm.com>
1554 * arm.c (thumb2_reorg): Also try to reduce <commutative_op> Rd, Rn, Rd
1555 into a 16-bit instruction.
1557 2010-12-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1560 * builtins.c (expand_builtin_pow_root): Don't optimize pow(x,y)
1561 where y is 0.25, 1./6., or 0.75 if the target does not have a sqrt
1562 instruction, but do optimize if y is 0.5 or 1./3. since that
1563 changes an expensive call into a cheaper one.
1565 2010-12-08 Richard Guenther <rguenther@suse.de>
1567 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift
1568 instead of a division to divide by BITS_PER_UNIT.
1570 2010-12-08 Richard Guenther <rguenther@suse.de>
1572 * gimplify.c (gimple_tree_eq): Assert hashes are equal only
1573 when checking is enabled.
1575 2010-12-07 Andrey Belevantsev <abel@ispras.ru>
1578 * haifa-sched.c (sched_create_recovery_edges): Update
1580 * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
1581 after deleting an empty block.
1582 (tidy_control_flow): Also verify dominators.
1583 (sel_remove_bb): Update dominator info after removing a block.
1584 (sel_redirect_edge_and_branch_force): Assert that no unreachable
1585 blocks will be created. Update dominator info.
1586 (sel_redirect_edge_and_branch): Update dominator info when
1587 basic blocks do not become unreachable.
1588 (sel_remove_loop_preheader): Update dominator info.
1590 2010-12-07 Richard Guenther <rguenther@suse.de>
1592 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
1593 Reset alignment information.
1594 (bump_vector_ptr): Likewise.
1596 2010-12-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1600 * config/pa/pa.c (pa_function_section): New function.
1601 (TARGET_ASM_FUNCTION_SECTION): Define.
1603 2010-12-07 Ian Lance Taylor <iant@google.com>
1604 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1607 * configure.ac: Disable AC_MSG_ERROR while looking for the C++
1609 * configure: Rebuild.
1611 2010-12-07 Paul Koning <ni1d@arrl.net>
1613 * config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative
1614 values with sign rather than as unsigned.
1616 2010-12-07 Paul Koning <ni1d@arrl.net>
1618 * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define.
1619 (pdp11_function_section): New function.
1621 2010-12-07 Joseph Myers <joseph@codesourcery.com>
1623 * config/mcore/mcore.c Don't include assert.h.
1624 (layout_mcore_frame, handle_structs_in_regs): Use gcc_assert.
1625 * config/spu/spu.c: Don't include assert.h.
1626 (spu_sms_res_mii): Use gcc_assert.
1628 2010-12-07 Sebastian Pop <sebastian.pop@amd.com>
1630 PR tree-optimization/42327
1631 * tree-data-ref.c (omega_setup_subscript): Call build_int_cst
1632 instead of using integer_minus_one_node.
1634 2010-12-07 Nathan Froyd <froydnj@codesourcery.com>
1637 * params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter.
1638 * doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document.
1640 2010-12-07 Richard Guenther <rguenther@suse.de>
1642 PR tree-optimization/46832
1643 * tree-ssa-math-opts.c (execute_optimize_widening_mul): Check
1644 that the call has a lhs.
1646 2010-12-07 Yao Qi <yao@codesourcery.com>
1648 * Makefile.in: Add $(TARGET_H) to the regrename.o rule.
1649 * regrename.c (struct du_head): Add new element length.
1650 (sort_du_head, get_element, merge, merge_sort_comparison):
1651 New functions of merge sort implementation to du_head list.
1652 (regrename_optimize): Sort du_head linked list by length.
1653 Iterate registers in a preferred-register-first order.
1654 Move some code to ...
1655 (check_new_reg_p): here. New function.
1656 (create_new_chain): Initialize length.
1657 (scan_rtx_reg): Increase length for non-debug insns.
1658 * target.def: New hook preferred_rename_class.
1659 * targhook.c (default_preferred_rename_class): New.
1660 * targhook.h: Declare it.
1661 * doc/tm.texi.in: New hook TARGET_PREFERRED_RENAME_CLASS.
1662 * doc/tm.texi: Regenerate.
1664 2010-12-07 Jakub Jelinek <jakub@redhat.com>
1667 * tree-parloops.c (separate_decls_in_region): Use UNKNOWN_LOCATION
1668 instead of BUILTINS_LOCATION.
1669 (create_loop_fn): Add LOC argument, pass it to build_decl instead of
1671 (create_parallel_loop): Add LOC argument, use it for OMP clauses
1672 and GIMPLE_*OMP* statements.
1673 (gen_parallel_loop): Determine locus for the parallel loop, pass it
1674 to create_loop_fn and create_parallel_loop.
1675 * cfgexpand.c (gimple_expand_cfg): For builtin functions, call
1676 set_curr_insn_source_location (UNKNOWN_LOCATION).
1678 2010-12-07 Joern Rennecke <amylaar@spamcop.net>
1679 Richard Guenther <rguenther@suse.de>
1682 * config/bfin/bfin.c (BB_AUX_INDEX): Cast to intptr_t.
1683 (bfin_reorder_loops): Change type of index to intptr_t.
1685 2010-12-07 Richard Guenther <rguenther@suse.de>
1687 PR tree-optimization/46726
1688 * tree-inline.c (estimate_num_insns): Special case pow (x, 2.0).
1690 2010-12-07 Richard Guenther <rguenther@suse.de>
1692 * tree-ssa-math-opts.c (execute_optimize_widening_mul): Unlink
1695 2010-12-07 Nicola Pero <nicola.pero@meta-innovation.com>
1697 * c-parser.c (c_parser_typeof_specifier): Removed special
1698 treatment of objc_volatilized attribute for Objective-C.
1700 2010-12-06 Vladimir Makarov <vmakarov@redhat.com>
1702 * ira.c (update_equiv_regs): Prohibit move insns if
1703 pressure-sensitive scheduling was done.
1705 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>
1707 * c-parser.c (c_parser_for_statement): Use c_fully_fold() instead
1708 of c_process_expr_stmt() for the iterating and collection
1709 expressions of an Objective-C fast enumeration loop.
1711 2010-12-06 Jakub Jelinek <jakub@redhat.com>
1714 * dwarf2out.c (modified_type_die): If both is_const_type and
1715 is_volatile_type is set, start with DW_TAG_const_type or
1716 DW_TAG_volatile_type depending on where we get qualified type
1717 in the recursive call.
1720 * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER
1721 as a store into that register.
1723 PR tree-optimization/46528
1725 * profile.c (branch_prob): Make sure last is never set to a debug
1729 * reginfo.c (init_subregs_of_mode): Don't call find_subregs_of_mode
1732 PR rtl-optimization/46777
1733 * cfglayout.c (duplicate_insn_chain): Avoid duplicating
1734 also barrier after tablejump.
1736 2010-12-06 Joern Rennecke <amylaar@spamcop.net>
1737 Richard Henderson <rth@redhat.com>
1740 * config/vax/vax.c (vax_output_int_move): Fold #if into if.
1742 2010-12-06 Eric Botcazou <ebotcazou@adacore.com>
1744 * config/sparc/sol2.h (PUSHSECTION_FORMAT): Redefine unconditionally.
1745 * config/sparc/sol2-gas.h (PUSHSECTION_FORMAT): Redefine.
1747 2010-12-06 Joern Rennecke <amylaar@spamcop.net>
1750 * config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE.
1751 (gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise.
1752 (int12_operand, int_2word_operand, uint16_operand): Likewise.
1753 (fpr_or_int6_operand, int6_operand, int5_operand): Likewise.
1754 (uint5_operand, uint4_operand): Likewise.
1755 * config/frv/frv.h (IN_RANGE_P): Delete.
1756 (GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE.
1757 (ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise.
1758 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
1759 (CONST_OK_FOR_P): Likewise.
1760 * config/frv/frv.md (*movqicc_internal2_int): Likewise.
1761 (*movqicc_internal2_float, *movhicc_internal2_int): Likewise.
1762 (*movhicc_internal2_float, *movsicc_internal2_int): Likewise.
1763 (*movsicc_internal2_float, casesi): Likewise.
1764 * config/frv/frv.c (frv_frame_offset_rtx): Likewise.
1765 (frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise.
1766 (frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise.
1767 (frv_split_cond_move, frv_rtx_costs): Likewise.
1770 * config/mmix/mmix.c (mmix_intval): Split shift count.
1772 2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
1774 * config/i386/i386.c (m_COREI7): New.
1775 (initial_ix86_tune_features): Turn on
1776 X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
1777 X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for Core i7.
1779 2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
1781 * config.gcc: Allow corei7-avx for --with-arch/--with-cpu.
1783 * config/i386/driver-i386.c (host_detect_local_cpu): Support
1786 * config/i386/i386.c (override_options): Handle "corei7-avx".
1788 * doc/invoke.texi: Document corei7-avx.
1790 2010-12-06 Richard Guenther <rguenther@suse.de>
1792 PR tree-optimization/46806
1793 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not
1794 coalesce different types.
1796 2010-12-06 Richard Guenther <rguenther@suse.de>
1798 PR tree-optimization/46785
1799 * tree-vect-loop.c (vect_is_simple_reduction_1): Also allow
1800 call statements as operand definition.
1802 2010-12-06 Mingjie Xing <mingjie.xing@gmail.com>
1804 * doc/tm.texi.in: Fix typo.
1805 * doc/tm.texi: Regenerate.
1807 2010-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1809 * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo in
1812 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>
1814 * c-family/c-common.h: Removed the declarations of all the objc_
1815 callbacks, and moved them into c-objc.h. Removed
1816 objc_ivar_visibility_kind and moved it into c-objc.h.
1817 * c-family/c-objc.h: New file.
1818 * c-family/c-common.c: Include c-objc.h.
1819 * c-family/c-format.c: Same change.
1820 * c-family/stub-objc.c: Same change.
1821 * c-decl.c: Include c-family/c-objc.h.
1822 * c-parser.c: Same change.
1823 * c-typeck.c: Same change.
1824 * c-config-lang.in (gtfiles): Added c-family/c-objc.h.
1825 * Makefile.in (c-decl.o): Depend on c-family/c-objc.h.
1826 (c-parser.o): same change.
1827 (c-typeck.o): Same change.
1828 (c-family/c-format.o): Same change.
1829 (c-family/stub-objc.o): Same change.
1830 (c-family/c-common.o): Same change.
1831 (PLUGIN_HEADERS): Added c-family/c-objc.h.
1833 2010-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1835 * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Ignore
1836 --with-dwarf2 option.
1838 2010-12-03 Jan Hubicka <jh@suse.cz>
1840 * lto-streamer-in.c (input_cfg): Fix pasto.
1842 2010-12-03 Jan Hubicka <jh@suse.cz>
1844 * ipa.c (cgraph_externally_visible_p): Do not localize builtins
1845 and functions with user asm defined names.
1846 (varpool_externally_visible_p): Do not localize vars with user
1849 2010-12-03 Jan Hubicka <jh@suse.cz>
1851 * dwarf2asm.c (dw2_output_indirect_constant_1): Set DECL_ASSEMBLER_NAME
1852 to prevent mangling with lto frontend.
1854 2010-12-03 Jan Hubicka <jh@suse.cz>
1856 * Makefile.in (LTO_STREAMER_H): Add GCOV_IO_H.
1857 * lto-cgraph.c (merge_profile_summaries): Fix thinko.
1859 2010-12-03 Jan Hubicka <jh@suse.cz>
1861 PR tree-optimization/46760
1862 * cgraph.c (cgraph_create_node): Initialize count_materialization_scale.
1863 * cgraph.h (struct cgraph_node): Add count_materialization_scale.
1864 * lto-cgraph.c (lto_output_edge): Fix assert.
1865 (lto_output_node): Output count_materialization_scale.
1866 (output_profile_summary): Output only runs and sum_max.
1867 (input_node): Input count_materialization_scale.
1868 (input_profile_summary): Read data into file specific gcov summary.
1869 (merge_profile_summaries): New function.
1870 (input_cgraph): Update call of input_profile_summary;
1871 call merge_profile_summaries.
1872 * lto-streamer-in.c (input_cfg): Add count_materialization_scale arg;
1873 rescale counts at read in.
1874 (intput_bb): Likewise.
1875 (input_function): Update call of input_bb.
1876 (lto_read_body): Update call of input_cfg.
1877 * lto-streamer.h: Inlclude gcov-io.h
1878 (lto_file_decl_data): Add gcov_ctr_summary.
1880 2010-12-03 Dave Korn <dave.korn.cygwin@gmail.com>
1882 * doc/tm.texi.in (Cond. Exec. Macros): Rename node from this ...
1883 (Cond Exec Macros): ... to this.
1884 * doc/tm.texi: Regenerate.
1886 2010-12-03 Jason Merrill <jason@redhat.com>
1889 * dwarf2out.c (gen_tagged_type_die): Don't put local types in
1892 2010-12-03 Nathan Froyd <froydnj@codesourcery.com>
1894 * config/arm/arm.c (arm_legitimate_index_p): Split
1895 VALID_NEON_QREG_MODE and VALID_NEON_DREG_MODE cases. Permit
1896 slightly larger constants in the latter case.
1897 (thumb2_legitimate_index_p): Likewise.
1899 2010-12-03 Joseph Myers <joseph@codesourcery.com>
1901 * common.opt (N, Q, Qn, Qy, Z, n, r, s, t): New options.
1902 * gcc.c (cc1_options): Add %{Qy:}.
1904 2010-12-03 Joseph Myers <joseph@codesourcery.com>
1906 * gcc.c (LINK_COMMAND_SPEC): Don't handle -A, -d or -m.
1907 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
1908 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
1910 2010-12-03 Alexander Monakov <amonakov@ispras.ru>
1912 PR rtl-optimization/45354
1913 * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ...
1914 (bb_has_removable_jump_to_p): This. Update all callers. Make static.
1915 Allow BBs ending with a conditional jump. Forbid EDGE_CROSSING jumps.
1916 * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype.
1918 2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1920 * basic-block.h (struct edge_prediction): Remove forward declaration.
1921 * tree-flow.h (struct edge_prediction): Move from here...
1922 * predict.c (struct edge_prediction): ...to here.
1923 * cselib.h (struct elt_list): Move from here...
1924 * cselib.c (struct elt_list): ...to here.
1926 2010-12-02 Ian Lance Taylor <iant@google.com>
1928 * gcc.c (default_compilers): Add entry for ".go".
1929 * common.opt: Add -static-libgo as a driver option.
1930 * doc/install.texi (Configuration): Mention libgo as an option for
1931 --enable-shared. Mention go as an option for --enable-languages.
1932 * doc/invoke.texi (Overall Options): Mention .go as a file name
1933 suffix. Mention go as a -x option.
1934 * doc/frontends.texi (G++ and GCC): Mention Go as a supported language.
1935 * doc/sourcebuild.texi (Top Level): Mention libgo.
1936 * doc/standards.texi (Standards): Add section on Go language.
1937 Move references for other languages into their own section.
1938 * doc/contrib.texi (Contributors): Mention that I contributed the
1941 2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1943 * tree.h (struct call_expr_arg_iterator_d): Remove GTY tag.
1944 (const_call_expr_arg_iterator_d): Likewise.
1945 (expanded_location): Likewise.
1946 * c-tree.h (struct c_arg_tag_d): Likewise.
1947 * dwarf2out.c (struct cfa_loc): Likewise.
1948 (struct skeleton_chain_struct): Likewise.
1949 * except.c (struct ttypes_filter): Likewise.
1950 * cselib.h (struct cselib_val_struct): Likewise.
1951 (elt_loc_list): Likewise.
1952 (elt_list): Likewise.
1953 * varasm.c (struct addr_const): Likewise.
1954 * tree-flow.h (struct edge_prediction): Likewise.
1955 (struct int_tree_map): Likewise.
1956 (struct _edge_var_map): Likewise.
1958 2010-12-02 H.J. Lu <hongjiu.lu@intel.com>
1961 * config/i386/i386.c (initial_ix86_tune_features): Turn on
1962 X86_TUNE_INTER_UNIT_MOVES for Core 2 and Core i7.
1964 2010-12-02 H.J. Lu <hongjiu.lu@intel.com>
1966 * config.gcc: Allow corei7 for --with-arch=/--with-cpu=.
1968 2010-12-02 Ian Lance Taylor <iant@google.com>
1970 * configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX. Check for C++
1971 header files unordered_map, tr1/unordered_map, and ext/hash_map.
1972 * configure, config.in: Rebuild.
1974 2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
1977 * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate.
1978 (sparc_expand_move): Call it to decide whether to emit the special
1979 mov{si,di}_pic_label_ref patterns.
1980 (sparc_legitimize_pic_address): Call it to decide whether to emit
1981 the regular PIC sequence for labels. Fix long line.
1982 (sparc_file_end): Set is_thunk for the PIC helper.
1984 2010-12-02 Eric Botcazou <ebotcazou@adacore.com>
1986 * tree.c (build_range_type_1): Do not SET_TYPE_STRUCTURAL_EQUALITY
1987 for a non-shared type.
1989 2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
1992 * tree-scalar-evolution.c (interpret_rhs_expr): Handle ADDR_EXPR
1993 with MEM_REFs as POINTER_PLUS_EXPR.
1995 2010-12-02 Joseph Myers <joseph@codesourcery.com>
1997 * config/i386/linux.h, config/m32r/linux.h, config/m68k/linux.h,
1998 config/sparc/linux.h, config/sparc/linux64.h: Remove comments
1999 mentioning /lib/elf.
2001 2010-12-02 Joseph Myers <joseph@codesourcery.com>
2003 * config/bfin/bfin.h (LINK_SPEC): Remove %{b}.
2004 * config/frv/frv.h (LINK_SPEC): Remove %{b}.
2005 * config/i386/netware.h (LINK_SPEC): Remove %{b}.
2006 * config/i386/nto.h (LINK_SPEC): Remove %{b}.
2007 * config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}.
2008 * config/sol2.h (LINK_SPEC): Remove %{b}.
2009 * config/svr4.h (LINK_SPEC): Remove %{b}.
2011 2010-12-02 Joseph Myers <joseph@codesourcery.com>
2013 * config/i386/freebsd.h (LINK_SPEC): Cut long comment.
2014 * config/i386/linux.h (LINK_SPEC): Cut long comment.
2015 * config/i386/netware.h (LINK_SPEC): Remove %{V}.
2016 * config/m32r/linux.h (LINK_SPEC): Cut long comment.
2017 * config/m68k/linux.h (LINK_SPEC): Cut long comment.
2018 * config/sparc/linux.h (LINK_SPEC): Cut long comment.
2019 (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
2020 * config/sparc/linux64.h (LINK_SPEC): Cut long comment.
2021 (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
2022 * config/sparc/netbsd-elf.h (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
2024 2010-12-02 Joseph Myers <joseph@codesourcery.com>
2026 * gcc.c (trad_capable_cpp, default_compilers): Don't handle
2029 2010-12-02 Joseph Myers <joseph@codesourcery.com>
2031 * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,.
2032 * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,.
2033 * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,.
2034 * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,.
2035 * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,.
2036 * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,.
2037 * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,.
2038 * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,.
2039 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,.
2040 * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,.
2041 * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,.
2042 * config/sol2.h (ASM_SPEC): Don't handle -Wa,.
2043 * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,.
2044 * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,.
2045 * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,.
2046 * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,.
2047 * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,.
2048 * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,.
2050 2010-12-02 Paul Koning <ni1d@arrl.net>
2052 * config/pdp11/pdp11.c (output_jump): Map unsigned to signed
2053 opcodes if CC_NO_OVERFLOW is set.
2054 (notice_update_cc_on_set): Correct setting of CC0 as a side
2055 effect; set CC_NO_OVERFLOW for cases where C flag is not meaningful.
2057 2010-12-02 Ian Lance Taylor <iant@google.com>
2059 * doc/install.texi (Configuration): Update default for
2060 --with-boot-ldflags.
2062 2010-12-02 Nathan Froyd <froydnj@codesourcery.com>
2065 * c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when
2068 2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
2070 PR tree-optimization/45199
2071 * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New.
2072 (stores_zero_from_loop): Call
2073 mem_write_stride_of_same_size_as_unit_type_p.
2074 * tree-data-ref.h (stride_of_unit_type_p): New.
2075 * tree-loop-distribution.c (generate_memset_zero): Simplified.
2076 Call stride_of_unit_type_p.
2077 (build_rdg_partition_for_component): Do not call
2078 rdg_flag_similar_memory_accesses when
2079 flag_tree_loop_distribute_patterns is set.
2081 2010-12-02 Richard Guenther <rguenther@suse.de>
2083 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard
2084 sign-changing conversions for induction detection.
2086 2010-12-02 Richard Guenther <rguenther@suse.de>
2088 PR tree-optimization/46723
2089 * tree-vect-loop.c (get_initial_def_for_induction): Strip
2090 conversions from the induction evolution and apply it to
2092 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
2093 assigns for induction defs.
2095 2010-12-02 Richard Guenther <rguenther@suse.de>
2097 * value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect
2098 the case we need to split the edge and not the block.
2100 2010-12-02 Bernd Schmidt <bernds@codesourcery.com>
2102 DFA model for Core 2 and Core i7 scheduling.
2104 * config/i386/core2.md: New DFA model for Core 2 and Core i7.
2105 * config/i386/i386.c (ix86_option_override_internal): Update entries
2106 for Core 2 and Core i7.
2107 (ix86_issue_rate): Set issue rate to 3 [be realistic].
2108 * config/i386/i386.md: Include "core2.md".
2109 (define_attr cpu): Add "corei7".
2111 2010-12-02 Maxim Kuvyrkov <maxim@codesourcery.com>
2113 Define tuning for Core 2 and Core i7.
2115 * config/i386/i386-c.c (ix86_target_macros_internal): Update.
2116 * config/i386/i386.c (core2_cost): Delete, use generic costs instead.
2117 (m_CORE2): Replace with m_CORE2_{32,64}.
2118 (m_CORE2I7{,_32,_64}): New macros.
2119 (m_GENERIC32, m_GENERIC64): Update.
2120 (initial_ix86_tune_features, x86_accumulate_outgoing_args,)
2121 (x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and
2122 set m_CORE2I7_64 iff m_GENERIC64.
2123 (processor_target_table): Use generic costs for Core 2 and Core i7.
2124 (ix86_option_override_internal): Update entries for Core 2 and Core i7.
2125 (ix86_issue_rate): Remove entry for Core 2.
2126 (ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update.
2127 * config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros.
2128 (TARGET_CORE2): Update.
2129 (PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants.
2130 (PROCESSOR_CORE2): Remove.
2132 2010-12-02 Richard Guenther <rguenther@suse.de>
2134 * lto-streamer.h (LTO_major_version): Bump to 2.
2136 2010-12-02 Richard Guenther <rguenther@suse.de>
2139 * gimple.c (canonical_type_hash_cache): New hashtable.
2140 (gimple_type_hash): Make a wrapper around ...
2141 (gimple_type_hash_1): ... this. Take gtc_mode argument.
2142 (gimple_canonical_type_hash): Likewise.
2143 (gtc_visit): Take a gtc_mode argument.
2144 (gimple_types_compatible_p_1): Likewise. Do not compare struct
2145 tag names or field names when computing canonical types.
2146 (gimple_types_compatible_p): Adjust.
2147 (visit): Take a gtc_mode argument.
2148 (iterative_hash_gimple_type): Likewise. Do not hash struct tag
2149 names or field names when computing hashes of canonical types.
2150 (gimple_register_canonical_type): Use gimple_canonical_type_hash
2152 (print_gimple_types_stats): Dump stats of canonical_type_hash_cache.
2153 (free_gimple_type_tables): Free canonical_type_hash_cache.
2155 2010-12-02 Richard Guenther <rguenther@suse.de>
2156 Ira Rosen <irar@il.ibm.com>
2158 PR tree-optimization/46663
2159 * tree-vect-patterns.c (vect_recog_pow_pattern): Check that
2160 FUNCTION_DECL exists and that it's a builtin.
2162 2010-12-02 Jie Zhang <jie@codesourcery.com>
2165 * varasm.c (compute_visible_aliases): Handle user set assembler name.
2167 2010-12-01 Michael Meissner <meissner@linux.vnet.ibm.com>
2169 * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
2170 thinko regarding setting -mno-<xxx> debug switches.
2171 (rs6000_rtx_costs): Add FMA. Delete old rtl based FMA costs.
2173 2010-12-01 Joseph Myers <joseph@codesourcery.com>
2175 * intl.c: Don't include tm.h.
2176 * Makefile.in (intl.o): Don't depend on $(TM_H).
2178 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
2180 * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but
2182 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
2184 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
2186 * graphite-sese-to-poly.c (analyze_drs): Removed.
2187 (build_scop_drs): Do not call analyze_drs.
2188 (analyze_drs_in_stmts): New.
2189 (insert_stmts): New.
2190 (insert_out_of_ssa_copy): Call analyze_drs_in_stmts.
2191 (insert_out_of_ssa_copy_on_edge): Same.
2192 (rewrite_close_phi_out_of_ssa): Call insert_stmts.
2193 (rewrite_phi_out_of_ssa): Same.
2194 (rewrite_cross_bb_scalar_dependence): Same.
2195 (split_reduction_stmt): Move data references in the new basic blocks.
2196 (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts.
2198 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
2200 * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments.
2202 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
2205 * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take
2206 the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB.
2207 * graphite-poly.h (new_poly_bb): Update declaration.
2208 (gbb_from_bb): Moved here...
2210 * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
2212 (graphite_stmt_p): Removed.
2213 (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in
2214 sbitmap reductions. Always build a gimple_bb_p. Do not call
2216 (build_scop_bbs_1): Do not pass in sbitmap reductions.
2217 (build_scop_bbs): Same.
2218 (gbb_from_bb): ... from here.
2219 (add_conditions_to_constraints): Moved up.
2221 (build_scop_drs): Call analyze_drs. Remove all the PBBs that do
2222 not contain data references.
2223 (new_pbb_from_pbb): New.
2224 (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
2226 (rewrite_close_phi_out_of_ssa): Update call to
2227 insert_out_of_ssa_copy_on_edge.
2228 (rewrite_reductions_out_of_ssa): Now static.
2229 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
2231 (split_reduction_stmt): Call split_pbb.
2232 (translate_scalar_reduction_to_array): Pass in the scop, do not
2233 pass in the sbitmap reductions.
2234 (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
2235 (rewrite_commutative_reductions_out_of_ssa_loop): Same.
2236 (rewrite_commutative_reductions_out_of_ssa): Same.
2237 (build_poly_scop): Call build_scop_bbs,
2238 rewrite_commutative_reductions_out_of_ssa,
2239 rewrite_reductions_out_of_ssa, and
2240 rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs
2242 * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
2243 Removed declaration.
2244 (rewrite_reductions_out_of_ssa): Same.
2245 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
2246 (build_scop_bbs): Same.
2247 * graphite.c (graphite_transform_loops): Do not initialize reductions.
2248 Do not call build_scop_bbs,
2249 rewrite_commutative_reductions_out_of_ssa,
2250 rewrite_reductions_out_of_ssa, and
2251 rewrite_cross_bb_scalar_deps_out_of_ssa.
2252 * sese.h (struct gimple_bb): Add field pbb.
2255 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
2257 * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
2259 (rewrite_cross_bb_scalar_deps): Pass in the scop. Call
2260 handle_scalar_deps_crossing_scop_limits.
2261 (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
2262 after the scop. Update call to rewrite_cross_bb_scalar_deps.
2264 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
2266 * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
2267 when replacing a constant in an ADDR_EXPR.
2269 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
2271 * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
2273 (lst_do_strip_mine): Same.
2274 (scop_do_strip_mine): Same.
2275 * graphite-poly.c (apply_poly_transforms): Update call to
2277 * graphite-poly.h (scop_do_strip_mine): Update declaration.
2279 2010-12-01 Jan Hubicka <jh@suse.cz>
2281 * tree.c (build_common_builtin_nodes): Do not initialize
2282 BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT.
2283 * builtins.c (expand_builtin_profile_func): Remove.
2284 (expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and
2285 BUILT_IN_PROFILE_FUNC_EXIT.
2286 * builtins.def (profile_func_enter, profile_func_exit): Remove stubs.
2287 (__cyg_profile_func_enter, __cyg_profile_func_exit): New.
2288 * gimplify.c (gimplify_function_tree): Reorganize code calling
2289 profiling functions.
2291 2010-12-01 Joseph Myers <joseph@codesourcery.com>
2293 * opts.c: Expand comment on tm.h include.
2295 2010-12-01 Yao Qi <yao@codesourcery.com>
2297 * config/arm/predicates.md ("vfp_register_operand"): Return true for
2298 VFP_D0_D7_REGS classes.
2300 2010-12-01 Joseph Myers <joseph@codesourcery.com>
2302 * common.opt (flag_stack_check): New Variable entry.
2303 (fcompare-debug-second): Use Var.
2304 * flags.h (flag_compare_debug, flag_stack_check): Remove.
2305 * opts.c (flag_compare_debug): Remove.
2306 (common_handle_option): Don't handle OPT_fcompare_debug_second.
2307 Set opts->x_flag_stack_check for OPT_fstack_check_.
2308 * toplev.c (flag_stack_check): Remove.
2310 2010-12-01 Joseph Myers <joseph@codesourcery.com>
2312 * common.opt (main_input_filename, main_input_basename,
2313 main_input_baselength): New Variable entries. From toplev.c.
2314 * final.c (output_quoted_string): Move from toplev.c.
2315 * output.h (output_quoted_string): Move from toplev.h.
2316 * opts-global.c (read_cmdline_options): Use gcc_options pointer to
2317 access main_input_filename, main_input_baselength and
2318 main_input_basename.
2319 * targhooks.c: Include intl.h and opts.h.
2320 (option_affects_pch_p, default_get_pch_validity): Move from toplev.c.
2321 * targhooks.h (option_affects_pch_p, default_get_pch_validity):
2323 * toplev.c (main_input_filename, main_input_basename,
2324 main_input_baselength): Move to common.opt.
2325 (output_quoted_string): Move to final.c.
2326 (warn_deprecated_use): Move to tree.c.
2327 (option_affects_pch_p, default_get_pch_validity,
2328 pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
2329 * toplev.h (skip_leading_substring): Move to tree-dump.c.
2330 (warn_deprecated_use): Move to tree.h.
2331 (output_quoted_string): Move to output.h.
2332 (main_input_filename, main_input_basename, main_input_baselength):
2334 (default_get_pch_validity, default_pch_valid_p): Move to targhooks.c.
2335 * tree-dump.c (skip_leading_substring): Move from toplev.h.
2336 * tree.c (warn_deprecated_use): Move from toplev.c.
2337 * tree.h (warn_deprecated_use): Move from toplev.h.
2338 * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
2339 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
2340 config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
2341 config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
2342 config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
2343 config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
2344 config/mcore/mcore.c, config/mep/mep.c,
2345 config/microblaze/microblaze.c, config/mips/mips.c,
2346 config/mmix/mmix.c, config/mn10300/mn10300.c,
2347 config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
2348 config/picochip/picochip.c, config/s390/s390.c,
2349 config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
2350 config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
2351 config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
2352 graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
2353 varasm.c, xcoffout.c: Don't include toplev.h.
2354 * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
2355 gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
2356 varasm.o, xcoffout.o): Update dependencies.
2357 * config/arm/t-arm (arm.o): Update dependencies.
2358 * config/spu/t-spu-elf (spu.o): Update dependencies.
2360 2010-12-01 Richard Guenther <rguenther@suse.de>
2362 PR tree-optimization/46730
2363 * value-prof.c (gimple_ic): Always generate a separate merge BB.
2365 2010-11-30 Ian Lance Taylor <iant@google.com>
2367 * config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V. Remove
2368 all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}.
2369 * config/i386/linux64.h (ASM_SPEC): Likewise.
2370 * config/i386/mingw-w64.h (ASM_SPEC): Likewise.
2371 * config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise.
2372 * config/i386/vxworks.h (ASM_SPEC): Likewise.
2373 * config/i386/x86-64.h (ASM_SPEC): Likewise.
2374 * config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}.
2375 * config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise.
2377 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
2379 * c-decl.c (finish_function): Call objc_finish_function in
2381 * c-typeck.c (convert_for_assignment): Do not call
2382 objc_type_quals_match().
2384 2010-11-30 Richard Guenther <rguenther@suse.de>
2386 PR tree-optimization/46722
2387 * tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication
2388 operands as arguments.
2389 (execute_optimize_widening_mul): Also handle power of two as
2392 2010-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
2395 * cgraphunit.c (process_function_and_variable_attributes): Fix
2398 2010-11-30 Joseph Myers <joseph@codesourcery.com>
2400 * hwint.c: New. Extracted from toplev.c.
2401 * hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
2403 * toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
2405 * toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
2407 * builtins.c, combine.c, config/i386/winnt.c, double-int.c,
2408 explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c,
2409 ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c,
2410 real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c,
2411 stor-layout.c, tree-dfa.c, tree-ssa-alias.c,
2412 tree-ssa-loop-niter.c, tree-vect-data-refs.c,
2413 tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c,
2414 tree-vrp.c: Don't include toplev.h.
2415 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
2416 genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include
2417 toplev.h in generated output.
2418 * Makefile.in (OBJS-common): Add hwint.o.
2419 Dependencies for above files changed to remove toplev.h.
2421 (insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o,
2422 insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on toplev.h.
2423 * config/i386/t-cygming (winnt.o): Don't depend on toplev.h.
2424 * config/i386/t-interix (winnt.o): Don't depend on toplev.h.
2426 2010-11-30 Richard Guenther <rguenther@suse.de>
2428 PR tree-optimization/46717
2429 * value-prof.c (gimple_ic): Preserve EH edges of the indirect
2430 call. Manually create EH edges for the direct call and update
2433 2010-11-30 Joseph Myers <joseph@codesourcery.com>
2435 * diagnostic-core.h: Include bversion.h.
2436 * toplev.h: Don't include input.h or bversion.h.
2437 (parse_optimize_options): Don't declare here.
2438 * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
2439 caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
2440 combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
2441 config/host-darwin.c, config/i386/host-cygwin.c,
2442 config/i386/host-mingw32.c, config/i386/msformat-c.c,
2443 config/i386/netware.c, config/i386/nwld.c,
2444 config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
2445 config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
2446 config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
2447 config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
2448 config/score/score3.c, config/score/score7.c,
2449 config/sh/symbian-base.c, config/sh/symbian-c.c,
2450 config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
2451 config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
2452 cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
2453 fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
2454 graphite-blocking.c, graphite-clast-to-gimple.c,
2455 graphite-dependences.c, graphite-flattening.c,
2456 graphite-interchange.c, graphite-poly.c,
2457 graphite-scop-detection.c, graphite.c, haifa-sched.c,
2458 implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
2459 ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
2460 lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
2461 lto-opts.c, lto-section-in.c, lto-section-out.c,
2462 lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
2463 params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
2464 regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
2465 sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
2466 sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
2467 tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
2468 tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
2469 tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
2470 tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
2471 tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
2472 tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
2474 * Makefile.in (TOPLEV_H): Remove. All uses changed to use
2475 toplev.h. Dependencies for above files and c-family files changed
2476 to remove $(TOPLEV_H) or toplev.h.
2477 (C_TREE_H): Don't include $(TOPLEV_H).
2478 (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add
2480 * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
2481 config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
2482 config/t-darwin, config/t-sol2,
2483 config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
2484 Dependencies for above files changed to remove $(TOPLEV_H) or
2487 2010-11-30 Richard Guenther <rguenther@suse.de>
2490 * gcc.c (main): Use the first input with a compiler as infile
2491 for link spec processing.
2493 2010-11-30 Richard Guenther <rguenther@suse.de>
2496 * cgraphunit.c (ipa_passes): Stop after errors from small IPA passes.
2498 2010-11-30 Mingjie Xing <mingjie.xing@gmail.com>
2500 * gcc-plugin.h: Include coretypes.h.
2501 * Makefile.in (FUNCTION_H): Add hard-reg-set.h.
2503 2010-11-30 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2505 * ggc-zone.c (ggc_pch_read): Fix conditional compilation.
2506 * ggc-none.c (ggc_internal_alloc_zone_stat)
2507 (ggc_internal_cleared_alloc_zone_stat): New.
2509 2010-11-29 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
2511 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check
2512 TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM.
2513 (rs6000_emit_prologue): Don't set PIC register if
2514 TARGET_SINGLE_PIC_BASE.
2515 * config/rs6000/rs6000.opt (msingle-pic-base): New option.
2516 * doc/invoke.texi (msingle-pic-base): Document.
2518 2010-11-29 H.J. Lu <hongjiu.lu@intel.com>
2521 * exec-tool.in (id): New.
2522 Check and export LT_RCU_$id instead of LT_RCU.
2524 2010-11-29 Zdenek Dvorak <rakdver@kam.uniff.cz>
2526 PR tree-optimization/46675
2527 * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow
2528 in offset calculation.
2530 2010-11-29 Jan Hubicka <jh@suse.cz>
2532 * collect2.c (main): Do not imply verbose output with
2533 LTO and linker plugin.
2535 2010-11-29 Dodji Seketeli <dodji@redhat.com>
2537 * dwarf2out.c (print_die): Print the address of the current DIE or
2538 of any DIE referenced by the current one.
2540 2010-11-29 Dodji Seketeli <dodji@redhat.com>
2543 * dwarf2out.c (lookup_type_die_strip_naming_typedef): New function.
2544 (scope_die_for, gen_type_die_for_member): Replace uses of
2545 lookup_type_die with use of lookup_type_die_strip_naming_typedef.
2547 2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
2549 * config/darwin.c (darwin_mergeable_string_section): Remove blank line.
2550 (darwin_asm_declare_object_name): Correct spelling.
2551 (darwin_output_aligned_bss): Likewise.
2553 2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
2554 Mike Stump <mrs@gcc.gnu.org>
2559 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove
2560 (ASM_OUTPUT_LOCAL): Likewise.
2561 * config/darwin-protos.h (darwin_asm_declare_object_name): New.
2562 (darwin_output_aligned_bss): Likewise.
2563 (darwin_asm_output_aligned_decl_local): Likewise.
2564 (darwin_asm_output_aligned_decl_common): Likewise.
2565 (darwin_use_anchors_for_symbol_p): Likewise.
2566 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove.
2567 (TARGET_ASM_OUTPUT_ANCHOR): Define.
2568 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
2569 (DARWIN_SECTION_ANCHORS): Set to 1.
2570 * config/darwin.c (emit_aligned_common): New var.
2571 (darwin_init_sections): Check that the Darwin private zero-size section
2573 (darwin_text_section): Check for zero-sized objects.
2574 (darwin_mergeable_string_section): Likewise.
2575 (darwin_mergeable_constant_section): Likewise.
2576 (machopic_select_section): Adjust to check for zero-sized objects.
2577 Assert that OBJC meta data are non-zero sized.
2578 (darwin_asm_declare_object_name): New.
2579 (darwin_asm_declare_constant_name): Adjust for zero-sized
2581 (BYTES_ZFILL): Define.
2582 (darwin_emit_weak_or_comdat): New.
2583 (darwin_emit_local_bss): New.
2584 (darwin_emit_common): New.
2585 (darwin_output_aligned_bss): New.
2586 (darwin_asm_output_aligned_decl_common): New.
2587 (darwin_asm_output_aligned_decl_local): New.
2588 (darwin_file_end): Disable subsections_via_symbols when section
2589 anchoring is active.
2590 (darwin_asm_output_anchor): Re-enable.
2591 (darwin_use_anchors_for_symbol_p): New.
2592 (darwin_override_options): Check for versions that can emit
2593 aligned common. Update usage of flags to current.
2594 * config/darwin-sections.def: Update comments and flags for
2595 non-anchor sections. zobj_const_section, zobj_data_section,
2596 zobj_bss_section, zobj_const_data_section: New.
2597 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine.
2598 (ASM_OUTPUT_ALIGN): Make whitespace output consistent.
2599 (L2_MAX_OFILE_ALIGNMENT): Define.
2600 (ASM_OUTPUT_ALIGNED_BSS): Define.
2601 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
2602 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
2603 (SECTION_NO_ANCHOR): Define.
2604 (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL.
2605 (DARWIN_SECTION_ANCHORS): Define with a default of 0.
2607 2010-11-29 Joseph Myers <joseph@codesourcery.com>
2609 * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
2610 Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>.
2611 (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
2612 Conditionally define.
2613 (GET_ENVIRONMENT): Poison.
2614 * configure.ac: Don't test for mincore.
2615 * configure: Regenerate.
2616 * config.in: Regenerate.
2617 * collect2-aix.c: Don't include <sys/mman.h>.
2618 * collect2.c: Don't include <signal.h>.
2619 (SIGCHLD): Don't define.
2620 (prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
2621 * config/alpha/alpha.c: Include "splay-tree.h" instead of
2623 * config/arm/arm.c (arm_target_help): Use getenv instead of
2625 * config/avr/driver-avr.c: Don't include <stdlib.h>.
2626 * config/frv/frv.c: Don't include <ctype.h>.
2627 * config/host-darwin.c: Don't include <sys/mman.h>.
2628 * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
2629 (MAP_FAILED): Don't define.
2630 * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
2631 * config/host-solaris.c: Don't include <sys/mman.h>.
2632 * config/i386/cygming.h: Don't include <stdio.h>.
2633 * config/i386/driver-i386.c: Don't include <stdlib.h>.
2634 * config/i386/host-cygwin.c: Don't include <sys/mman.h>.
2635 * config/iq2000/iq2000.c: Don't include <signal.h>.
2636 * config/m32c/m32c-pragma.c: Don't include <stdio.h>.
2637 * config/m68hc11/m68hc11.c: Don't include <stdio.h>.
2638 * config/mep/mep-pragma.c: Don't include <stdio.h>.
2639 * config/microblaze/microblaze.c: Don't include <signal.h>.
2640 * config/mips/mips.c: Don't include <signal.h>.
2641 * config/rs6000/host-darwin.c: Don't include <signal.h>.
2642 * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT.
2643 * defaults.h (GET_ENVIRONMENT): Don't define.
2644 * et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
2645 * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
2646 (SIGCHLD, MAP_FAILED, kill): Don't define.
2647 (process_command): Use getenv instead of GET_ENVIRONMENT.
2648 * genhooks.c: Don't include <string.h>.
2649 * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
2651 (MAP_FAILED): Don't define.
2652 * ggc-page.c Don't include <sys/mman.h>.
2653 (MAP_ANONYMOUS, MAP_FAILED): Don't define.
2654 * ggc-zone.c: Don't include <sys/mman.h>.
2655 (MAP_ANONYMOUS, MAP_FAILED): Don't define.
2656 * graph.c: Include "config.h" instead of <config.h>.
2657 * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT.
2658 * lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h".
2659 (SIGCHLD, kill): Don't define.
2660 * mips-tfile.c: Don't include <signal.h>.
2661 * opts.c: Don't include <signal.h> or <sys/resource.h>.
2662 (print_specific_help): Use getenv instead of GET_ENVIRONMENT.
2663 * passes.c: Don't include <signal.h>, <sys/resource.h> or
2665 * sparseset.h: Don't include <assert.h>.
2666 * timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
2667 * tlink.c: Don't include "libiberty.h".
2668 * toplev.c: Don't include <signal.h> or <sys/times.h>.
2669 * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
2670 * tree-switch-conversion.c: Don't include <signal.h>.
2671 * vmsdbgout.c: Don't include <errno.h> or <string.h>.
2673 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
2675 * c-parser.c (c_parser_objc_try_catch_statement): Renamed to
2676 c_parser_objc_try_catch_finally_statement for consistency with the
2677 C++ parser. Parse @catch(...) and pass NULL_TREE to
2678 objc_begin_catch_clause() in that case. Improved error recovery.
2679 Reorganized code to be almost identical to
2680 cp_parser_objc_try_catch_finally_statement.
2682 2010-11-29 Joern Rennecke <amylaar@spamcop.net>
2684 PR tree-optimization/46621
2685 * gimple.h: Don't include tm.h or hard-reg-set.h .
2686 * Makefile.in (GIMPLE_H): Remove $(TM_H).
2689 * cppbuiltin.c: Include target.h .
2690 (define_builtin_macros_for_type_sizes):
2691 Use targetm.float_words_big_endian.
2693 2010-11-27 Jan Hubicka <jh@suse.cz>
2695 * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
2696 and output cold_text_section_label.
2697 (dwarf2out_init): Don't do that there.
2698 (dwarf2out_finish): Handle cold section end label only if cold
2701 2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
2703 * tree-nested.c (remap_vla_decls): Fully expand value expressions of
2706 2010-11-27 Richard Guenther <rguenther@suse.de>
2708 * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
2709 (gimple_assign_ssa_name_copy_p): Likewise.
2710 (gimple_assign_unary_nop_p): Use is_gimple_assign.
2711 (is_gimple_cast): Remove.
2712 (gimple_assign_single_p): Move ...
2713 * gimple.h (gimple_assign_single_p): ... here.
2714 (is_gimple_cast): Remove.
2715 (gimple_assign_rhs_code): Simplify.
2716 * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
2717 instead of is_gimple_cast.
2718 * ipa-type-escape.c (look_for_casts): Likewise.
2720 2010-11-26 Joseph Myers <joseph@codesourcery.com>
2722 * doc/options.texi (Enum, EnumValue): Document new record types.
2723 (Enum): Document new option flag.
2725 * optc-gen.awk: Handle enumerated option arguments.
2726 * opth-gen.awk: Handle enumerated option arguments.
2727 * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
2728 enum_value_to_arg): New.
2729 (decode_cmdline_option): Handle enumerated arguments.
2730 (read_cmdline_option): Handle CL_ERR_ENUM_ARG.
2731 (set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
2732 * opts.c (print_filtered_help, print_specific_help): Take
2733 lang_mask arguments.
2734 (print_filtered_help): Handle printing values of enumerated
2735 options. Print possible arguments for enumerated options.
2736 (print_specific_help): Update call to print_filtered_help.
2737 (common_handle_option): Update calls to print_specific_help. Use
2738 value rather than arg for OPT_fdiagnostics_show_location_. Don't
2739 handle OPT_ffp_contract_, OPT_fexcess_precision_,
2740 OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
2741 OPT_fira_region_ here.
2742 * opts.h (enum cl_var_type): Add CLVC_ENUM.
2743 (struct cl_option): Add var_enum.
2744 (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
2745 struct cl_enum, cl_enums, cl_enums_count): New.
2746 (CL_ERR_ENUM_ARG): Define.
2747 (CL_ERR_NEGATIVE): Update value.
2748 (enum_value_to_arg): Declare.
2749 * common.opt (flag_ira_algorithm, flag_ira_region,
2750 flag_fp_contract_mode, flag_excess_precision_cmdline,
2751 default_visibility, flag_tls_default): Remove Variable entries.
2752 (help_enum_printed): New Variable.
2753 (fdiagnostics-show-location=): Use Enum. Add associated
2754 SourceInclude, Enum and EnumValue entries.
2755 (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
2756 ftls-model=, fvisibility=): Use Enum, Var and Init. Add
2757 associated Enum and EnumValue entries.
2759 2010-11-26 Joern Rennecke <amylaar@spamcop.net>
2762 * config/microblaze/microblaze.c (microblaze_block_move_straight):
2764 (microblaze_option_override): Don't use C++ style comments.
2765 (save_restore_insns): Remove unused variable base_offset.
2766 (microblaze_expand_prologue): Remove unused variable insn.
2767 (microblaze_secondary_reload): Adjust type to match target.h .
2768 (microblaze_elf_in_small_data_p): Move declarations to start of block.
2769 (microblaze_expand_move): Likewise.
2770 * config/microblaze/microblaze.h (LARGE_INT):
2771 Avoid signed / unsigned comparisons.
2772 (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2773 (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
2774 (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name.
2776 2010-11-26 Michael Matz <matz@suse.de>
2778 * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
2780 * passes.c (init_optimization_passes): Remove superfluous
2783 2010-11-26 Richard Guenther <rguenther@suse.de>
2786 * gimple.c (gtc_visit): Do not return true for members of an
2787 SCC still being processed but the current lattice value of
2788 the member. Treat SCC members comparison state as lattice,
2789 starting at equal, eventually dropping to unequal.
2790 (gimple_types_compatible_p_1): Likewise.
2792 2010-11-26 Richard Guenther <rguenther@suse.de>
2795 * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
2796 for location list processing.
2798 2010-11-26 Richard Guenther <rguenther@suse.de>
2801 * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
2804 2010-11-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2806 * config/s390/s390.c (print_operand_address): Replace assert with
2808 (print_operand): Replace assertions, gcc_unreachable and
2809 fatal_insn with error messages.
2811 2010-11-26 Richard Guenther <rguenther@suse.de>
2813 PR tree-optimization/46665
2814 * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
2816 2010-11-26 Ian Bolton <ian.bolton@arm.com>
2818 * config/arm/arm.c (arm_option_override): enable loop array
2819 prefetching at -O3 for suitable targets, and configure params.
2820 * config/arm/arm-protos.h (struct tune_params): Add fields for
2821 configuring loop array prefetching.
2823 2010-11-26 Christian Borntraeger <borntraeger@de.ibm.com>
2825 * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
2827 2010-11-26 Richard Guenther <rguenther@suse.de>
2829 PR tree-optimization/46664
2830 * tree-affine.c (aff_combination_to_tree): Add rest last.
2832 2010-11-26 Michael Haubenwallner <michael.haubenwallner@salomon.at>
2835 * configure.ac: Accept extra arguments for AS_FOR_TARGET,
2836 LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
2837 * configure: Regenerated.
2838 * exec-tool.in: Not quoting command, may have extra arguments.
2840 2010-11-26 Richard Guenther <rguenther@suse.de>
2842 PR tree-optimization/46528
2844 * profile.c (branch_prob): Do not split blocks based on locations
2845 from debug statements.
2847 2010-11-26 Jakub Jelinek <jakub@redhat.com>
2850 * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
2851 of host_integerp check. Use TREE_INT_CST_LOW instead of tree_low_cst.
2854 * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
2855 build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
2856 (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
2857 build6_loc): Define.
2858 * fold-const.c (protected_set_expr_location_unshare): New inline.
2859 (fold_convert_loc, pedantic_non_lvalue_loc): Use it.
2860 (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
2861 pedantic_omit_one_operand_loc, omit_two_operands_loc,
2862 fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
2863 optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
2864 build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
2865 fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
2866 instead of buildN followed by SET_EXPR_LOCATION or
2867 protected_set_expr_location.
2868 (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
2869 Use buildN_stat_loc instead of buildN_stat followed by
2872 2010-11-26 Basile Starynkevitch <basile@starynkevitch.net>
2874 * Makefile.in (s-tm-texi): Remove spurous tab.
2876 2010-11-26 Alexandre Oliva <aoliva@redhat.com>
2879 * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
2882 2010-11-26 Alexandre Oliva <aoliva@redhat.com>
2884 * toplev.c (finalize): Add no_backend parameter. Don't finish
2885 passes when preprocessing only. Adjust...
2886 (do_compile): ... caller.
2888 2010-11-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2890 * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
2891 flag_unsafe_math_optimizations.
2893 Move fnegabs related patterns together. Only use fmpynfadd instruction
2894 to negate a multiply if !flag_signed_zeros is true.
2896 2010-11-25 Uros Bizjak <ubizjak@gmail.com>
2898 * gengtype-state.c (read_state_structures): Initialize "previous".
2900 2010-11-25 Basile Starynkevitch <basile@starynkevitch.net>
2901 Jeremie Salvucci <jeremie.salvucci@free.fr>
2903 * gengtype-state.c: Add new file.
2905 * gengtype.c (type count): New variable.
2906 (new_structure, find_param_structure, create_pointer)
2907 (create_array): Use it to set state_number in types.
2908 (dump_everything): Improve comment.
2909 (main): Call read_state and write_state. Print type_count.
2911 * gengtype.h (type_lineloc): New function.
2912 (read_state, write_state): New declarations.
2914 * Makefile.in (GENGTYPE_FLAGS): New variable.
2915 (s-gtype): Run gengtype twice and generate gtype.state.
2916 (build/gengtype-state.o): New rule.
2917 (build/gengtype$(build_exeext)): Link gengtype-state.o.
2918 (mostlyclean): Update comment. Remove gtype.state.
2920 2010-11-25 Jakub Jelinek <jakub@redhat.com>
2923 * combine.c (try_combine): When substing i2dest for i2src, pass
2924 1 as last argument even if
2925 i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
2927 2010-11-25 H.J. Lu <hongjiu.lu@intel.com>
2930 * builtins.c (target_char_cast): Check INTEGER_CST instead of
2931 host_integerp. Replace tree_low_cst with TREE_INT_CST_LOW.
2933 2010-11-25 Joseph Myers <joseph@codesourcery.com>
2935 * target.def (supports_split_stack, except_unwind_info): Take
2936 gcc_options parameters.
2937 * targhooks.c (default_except_unwind_info,
2938 dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
2939 gcc_options parameters.
2940 * targhooks.h (default_except_unwind_info,
2941 dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
2943 * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
2944 TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
2945 Document that hooks must not be modified.
2946 (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
2947 * doc/tm.texi: Regenerate.
2948 * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
2949 &global_options to targetm.except_unwind_info.
2950 * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
2951 dwarf2out_begin_prologue, dwarf2out_frame_init,
2952 dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
2953 &global_options to targetm.except_unwind_info.
2954 * except.c (init_eh, finish_eh_generation,
2955 gate_convert_to_eh_region_ranges,
2956 output_one_function_exception_table): Pass &global_options to
2957 targetm.except_unwind_info.
2958 * expr.c (build_personality_function): Pass &global_options to
2959 targetm.except_unwind_info.
2960 * function.c (expand_function_end): Pass &global_options to
2961 targetm.except_unwind_info.
2962 * hooks.c (hook_bool_bool_gcc_optionsp_false): New.
2963 * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
2964 * opts.c (finish_options): Pass opts to targetm.except_unwind_info
2965 and targetm.supports_split_stack. Remove assertions about opts
2967 (common_handle_option): Remove assertions about opts, opts_set and dc.
2968 * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
2969 &global_options to targetm.except_unwind_info.
2970 * tree.c (build_common_builtin_nodes: Pass &global_options to
2971 targetm.except_unwind_info.
2972 * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
2973 (arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
2974 thumb1_expand_prologue, thumb1_output_function_prologue,
2975 arm_unwind_emit, arm_output_fn_unwind): Update calls to
2976 arm_except_unwind_info.
2977 * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
2979 * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
2981 (ia64_output_function_prologue, ia64_add_bundle_selector_before,
2982 ia64_reorg, ia64_asm_unwind_emit): Update calls to
2983 ia64_except_unwind_info.
2984 * config/pa/pa.c (pa_option_override): Pass &global_options to
2985 targetm.except_unwind_info.
2986 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
2989 2010-11-25 Kai Tietz <kai.tietz@onevision.com>
2991 * cgraphunit.c (process_function_and_variable_attributes):
2992 Mark dllexport-ed function/variables as needed.
2993 * ipa.c (cgraph_externally_visible_p): Make dllexport-ed
2994 as externally visible.
2996 2010-11-25 Alexander Monakov <amonakov@ispras.ru>
2998 PR rtl-optimization/46585
2999 * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
3000 (vinsn_init): Skip computation of dependencies for local NOPs.
3001 (vinsn_delete): Don't try to free regsets for local NOPs.
3002 (setup_nop_and_exit_insns): Change definition of nop_pattern.
3004 2010-11-25 Alexander Monakov <amonakov@ispras.ru>
3006 PR rtl-optimization/46602
3007 * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
3008 (tidy_control_flow): Here.
3010 2010-11-25 Joern Rennecke <amylaar@spamcop.net>
3011 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3014 * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
3015 Fix target.def pathname in timestamp comparison.
3017 2010-11-24 Richard Henderson <rth@redhat.com>
3019 * config/ia64/predicates.md (pmpyshr_operand): New.
3020 * config/ia64/ia64.c (ia64_expand_unpack): New.
3021 (ia64_expand_widen_mul_v4hi): New.
3022 (ia64_expand_widen_sum): Update for pattern renames.
3023 (ia64_expand_dot_prod_v8qi): Likewise.
3024 * config/ia64/ia64-protos.h: Update.
3025 * config/ia64/vect.md (vecwider): New mode attribute.
3026 (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
3027 (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
3028 (pmpyshr2, pmpyshr2_u): New.
3029 (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
3030 (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
3032 (vec_pack_ssat_v4hi): Rename from pack2_sss.
3033 (vec_pack_usat_v4hi): Rename from *pack2_uss.
3034 (vec_pack_ssat_v2si): Rename from pack4_sss.
3035 (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
3036 vec_select operation.
3037 (vec_interleave_highv8qi): Similarly.
3038 (mux1_alt): Rename from *mux1_alt.
3039 (vec_extract_evenv8qi, vec_extract_oddv8qi): New.
3040 (vec_interleave_lowv4hi): Rename from unpack2_l.
3041 (vec_interleave_highv4hi): Rename from unpack2_h.
3042 (mix2_r): Rename from *mix2_r.
3043 (mix2_l): Similarly.
3044 (vec_extract_evenodd_helper): New.
3045 (vec_extract_evenv4hi, vec_extract_oddv4hi): New.
3046 (vec_interleave_lowv2si): Rename from *unpack4_l.
3047 (vec_interleave_highv2si): Rename from *unpack4_h.
3048 (vec_extract_evenv2si, vec_extract_oddv2si): New.
3049 (vec_interleave_lowv2sf): Rename from fmix_r.
3050 (vec_interleave_highv2sf): Rename from *fmix_l.
3051 (vec_extract_evenv2sf, vec_extract_oddv2sf): New.
3052 (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
3053 (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
3054 (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
3056 2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
3058 * targhooks.c (default_except_unwind_info): Remove
3059 MUST_USE_SJLJ_EXCEPTIONS case.
3060 * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
3061 * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
3062 * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
3063 * doc/tm.texi: Regenerate.
3064 * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
3066 2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
3068 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
3069 __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
3070 * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
3071 * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
3072 * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
3074 2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
3077 * config/i386/i386.c (ix86_expand_call): Don't check
3080 2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
3083 * config/i386/i386.c (upper_128bits_state): New.
3084 (block_info_def): Remove upper_128bits_set and done. Add state,
3085 referenced, count, processed and rescanned.
3086 (check_avx256_stores): Updated.
3087 (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
3088 Call note_stores only if needed. Set referenced and count.
3089 (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p.
3090 (rescan_move_or_delete_vzeroupper): New.
3091 (move_or_delete_vzeroupper): Process and rescan all all basic
3092 blocks instead of predecessor blocks of all exit points.
3093 (ix86_option_override_internal): Enable vzeroupper optimization
3094 only for -fexpensive-optimizations and not optimizing for size.
3095 (use_avx256_p): Removed.
3096 (init_cumulative_args): Don't set use_avx256_p.
3097 (ix86_function_arg): Likewise.
3098 (ix86_expand_move): Likewise.
3099 (ix86_expand_vector_move_misalign): Likewise.
3100 (ix86_local_alignment): Likewise.
3101 (ix86_minimum_alignment): Likewise.
3102 (ix86_expand_epilogue): Don't check use_avx256_p when generating
3104 (ix86_expand_call): Likewise.
3106 * config/i386/i386.h (machine_function): Remove use_vzeroupper_p
3107 and use_avx256_p. Add rescan_vzeroupper_p.
3109 2010-11-24 Joseph Myers <joseph@codesourcery.com>
3111 * toplev.c: Include <signal.h>.
3113 2010-11-24 Richard Guenther <rguenther@suse.de>
3116 * lto-symtab.c (lto_cgraph_replace_node): Mark edges with
3117 conflicting function signatures as non-inlineable.
3119 2010-11-24 Jakub Jelinek <jakub@redhat.com>
3121 PR rtl-optimization/46614
3122 * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
3123 (deps_analyze_insn): Mark JUMP_INSNs in
3124 last_pending_memory_flush that weren't added through
3125 flush_pending_lists with NON_FLUSH_JUMP_KIND.
3126 (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
3127 on INSN_LIST instead of JUMP_P check on its operand.
3128 * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
3130 2010-11-24 Richard Guenther <rguenther@suse.de>
3132 * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
3134 2010-11-24 Richard Guenther <rguenther@suse.de>
3137 * lto-streamer-in.c (input_gimple_stmt): When we cannot find
3138 a FIELD_DECL that is type correct issue a warning and fixup
3139 with a VIEW_CONVERT_EXPR.
3141 2010-11-24 Basile Starynkevitch <basile@starynkevitch.net>
3143 * doc/invoke.texi (Options for Debugging Your Program or GCC):
3144 Explain static numbering of dump files.
3146 2010-11-24 Joseph Myers <joseph@codesourcery.com>
3148 * common.opt (user_vect_verbosity_level): New Variable entry.
3149 (ftree-vectorizer-verbose=): Mark as UInteger.
3150 * flag-types.h (enum vect_verbosity_levels): Move from enum
3151 verbosity_levels in tree-vectorizer.h.
3152 * opts.c: Don't include tree.h.
3153 (vect_set_verbosity_level): Move from tree-vectorizer.c. Use
3154 gcc_options parameter; take integer option argument.
3155 (common_handle_option): Update call to vect_set_verbosity_level.
3156 * tree-vectorizer.c (user_vect_verbosity_level): Remove.
3157 (vect_set_verbosity_level): Move to opts.c.
3158 (vect_verbosity_level, vect_print_dump_info): Update for change of
3160 * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
3161 (vect_print_dump_info): Update for change of enum name.
3162 * tree.h (vect_set_verbosity_level): Remove.
3163 * Makefile.in (opts.o): Update dependencies.
3165 2010-11-24 Jakub Jelinek <jakub@redhat.com>
3168 * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
3169 instead of insn with any_condjump_p.
3171 2010-11-24 Mingjie Xing <mingjie.xing@gmail.com>
3173 * config/mips/loongson.md: Change the description comment of the file
3174 and update the copyright years.
3175 (define_insn "<u>div<mode>3): Add loongson3a support.
3176 (define_insn "<u>mod<mode>3"): Likewise.
3177 * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
3178 mul<mode>3_mul3_loongson.
3179 (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
3180 (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
3182 2010-11-23 Joseph Myers <joseph@codesourcery.com>
3184 * common.opt (initial_max_fld_align, flag_debug_asm,
3185 flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
3186 flag_print_asm_name, graph_dump_format, help_printed,
3187 help_columns, flag_opts_finished): New Variable entries.
3188 (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
3189 frandom-seed=): Mark deferred.
3190 (fsched-verbose=): Use UInteger and Var.
3191 * flags.h (set_struct_debug_option, flag_print_asm_name,
3192 rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
3193 graph_dump_format): Don't declare here.
3194 * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
3195 * opts-global.c: Include dbgcnt.h and debug.h.
3196 (decode_options): Pass location to finish_options.
3197 (handle_common_deferred_options): Check flag_dump_all_passed.
3198 Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
3199 OPT_frandom_seed and OPT_frandom_seed_. Don't assert on
3201 * opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
3202 (set_struct_debug_option): Add location_t parameter. Update
3203 recursive call. Use error_at.
3204 (default_options_optimization): Use error_at.
3205 (finish_options): Add location_t parameter. Use
3206 opts->x_flag_opts_finished instead of first_time_p. Use
3207 opts->x_optimize instead of optimize. Use error_at. Pass
3209 (print_filtered_help): Use opts->x_help_printed to track what
3210 options have been printed.
3211 (print_specific_help): Use opts->x_help_columns to track number of
3213 (common_handle_option): Pass locations and gcc_options pointers to
3214 more functions. Use warning_at instead of fnotice and warning.
3215 Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
3216 OPT_fdebug_prefix_map_. Use error_at. Set
3217 opts->x_initial_max_fld_align; don't set maximum_field_alignment.
3218 Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle
3219 OPT_fsched_verbose_.
3220 (handle_param): Add location_r parameter. Use error_at.
3221 (set_debug_level): Add location_r parameter. Use error_at and
3223 (setup_core_dumping): Add diagnostic_context parameter.
3224 (decode_d_option): Add gcc_options, location_t and
3225 diagnostic_context parameters and use them instead of global
3226 state. Use warning_at.
3227 (enable_warning_as_error): Use error_at.
3228 * opts.h (finish_options): Update prototype.
3229 (set_struct_debug_option): Declare here.
3230 * rtl.h (fix_sched_param): Remove.
3231 * stor-layout.c (initial_max_fld_align): Remove.
3232 * toplev.c (rtl_dump_and_exit, flag_print_asm_name,
3233 graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
3234 (process_options): Set maximum_field_alignment.
3235 * tree.h (initial_max_fld_align) Don't declare here.
3236 * Makefile.in (opts.o, opts-global.o): Update dependencies.
3238 2010-11-23 Joseph Myers <joseph@codesourcery.com>
3240 * flag-types.h (struct visibility_flags): Don't declare here.
3241 * flags.h (strip_off_ending, fast_math_flags_set_p,
3242 fast_math_flags_struct_set_p): Declare here.
3243 (visibility_options): Don't declare here.
3244 * opts-common.c (option_enabled, get_option_state): Move from
3246 * opts-global.c: Include diagnostic.h instead of
3247 diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h
3249 (const_char_p, ignored_options, in_fnames, num_in_fnames,
3250 write_langs, complain_wrong_lang, postpone_unknown_option_warning,
3251 print_ignored_options, unknown_option_callback,
3252 post_handling_callback, lang_handle_option, add_input_filename,
3253 read_cmdline_options, initial_lang_mask, init_options_once,
3254 decode_cmdline_options_to_array_default_mask,
3255 set_default_handlers, decode_options): Move from opts.c.
3256 (print_ignored_options): Use warning_at instead of saving and
3257 restoring input_location.
3258 * opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h
3259 instead of expr.h. Don't include langhooks.h, except.h or
3260 lto-streamer.h. Add more comments on includes.
3261 (strip_off_ending, setup_core_dumping, decode_d_option): Move from
3263 (visibility_options): Move to c-family/c-common.c.
3264 (const_char_p, ignored_options, in_fnames, num_in_fnames,
3265 write_langs, complain_wrong_lang, postpone_unknown_option_warning,
3266 print_ignored_options, unknown_option_callback,
3267 post_handling_callback, lang_handle_option, add_input_filename,
3268 read_cmdline_options, initial_lang_mask, init_options_once,
3269 decode_cmdline_options_to_array_default_mask,
3270 set_default_handlers, decode_options): Move to opts-global.c.
3271 (target_handle_option, default_options_optimization,
3272 finish_options, common_handle_option): Remove static.
3273 (option_enabled, get_option_state): Move to opts-common.c.
3274 * opts.h (common_handle_option, target_handle_option,
3275 finish_options, default_options_optimization): Declare.
3276 * toplev.c: Don't include <signal.h> or <sys/resource.h>.
3277 (setup_core_dumping, strip_off_ending, decode_d_option): Move to
3279 * toplev.h (strip_off_ending, decode_d_option,
3280 fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
3282 * Makefile.in (opts.o, opts-global.o): Update dependencies.
3284 2010-11-23 Dave Korn <dave.korn.cygwin@gmail.com>
3287 * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
3288 options, replace by call of pass-through-libs spec function to process
3289 link_gcc_c_sequence spec.
3290 (lto_libgcc_spec): Delete variable.
3291 (static_specs[]): Remove related entry.
3292 (static_spec_functions[]): Add new entry for pass-through-libs.
3293 (main): Don't generate deleted lto_libgcc_spec.
3294 (pass_through_libs_spec_func): New function to implement the new
3295 pass-through-libs spec function.
3296 * doc/invoke.texi (pass-through-libs): Document new spec function.
3298 2010-11-23 Joseph Myers <joseph@codesourcery.com>
3300 * doc/options.texi (Warning, Optimization): Document.
3302 2010-11-23 Jan Hubicka <jh@suse.cz>
3304 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
3305 (tree_decl_with_vis): Add implicit_section_name_p.
3306 * targhooks.h (default_function_section): Declare.
3307 * target.def (function_section): New hook.
3308 * defaults.h (HOT_TEXT_SECTION_NAME,
3309 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3310 * predict.c (choose_function_section): Remove.
3311 (estimate_bb_frequencies): Do not use choose_function_section.
3312 * coretypes.h (enum node_frequency): Move here from cgraph.h
3313 * cgraph.h (enum node_frequency): Remove.
3314 * varasm.c (initialize_cold_section_name, unlikely_text_section,
3315 unlikely_text_section_p): Remove.
3316 (named_subsection_entry): New structure.
3317 (get_text_section): New function.
3318 (default_function_section): New function.
3319 (function_section_1): Break out from ...; handle profile info.
3320 (function_section): ... here.
3321 (unlikely_text_section): Remove.
3322 (unlikely_text_section_p): Use function_section_1.
3323 (assemble_start_function): Do not initialize cold section.
3324 (default_section_type_flags): Do not special case cold subsection.
3325 (switch_to_section): Likewise.
3326 * output.h (get_text_section): Define.
3327 * config/i386/winnt.c: Do not special case cold section.
3328 * config/darwin-protos.h (darwin_function_section): Declare.
3329 * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
3330 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3331 * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
3332 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3333 (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
3334 * config/ia64/ia64.c (ia64_hpux_function_section): New function.
3335 * config/darwin.c (machopic_select_section): Use
3336 darwin_function_section.
3337 (darwin_function_section): New function.
3338 * config/darwin.h (HOT_TEXT_SECTION_NAME,
3339 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3340 (TARGET_ASM_FUNCTION_SECTION): Define.
3341 * system.h (HOT_TEXT_SECTION_NAME,
3342 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
3344 2010-11-23 Iain Sandoe <iains@gcc.gnu.org>
3346 * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
3347 LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
3349 2010-11-23 Jakub Jelinek <jakub@redhat.com>
3352 * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
3353 following unconditional jumps.
3355 2010-11-23 Richard Guenther <rguenther@suse.de>
3357 * doc/md.texi (386 constraints): Clarify A constraint documentation.
3359 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
3360 Jeremie Salvucci <jeremie.salvucci@free.fr>
3362 * gengtype.c (enum typekind, struct options)
3363 (struct nested_ptr_data, struct pair, NUM_PARAM)
3364 (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
3366 (string_type, scalar_nonchar, scalar_nonchar, scalar_char):
3367 Remove static, add zero state_number.
3368 (typedefs, structures, param_structs, variables): Remove static.
3369 (create_option): Remove.
3370 (create_string_option, create_type_option, create_nested_option):
3372 (create_nested_ptr_option): Use create_nested_option.
3373 (note_variable, adjust_field_rtx_def, adjust_field_type): Call the
3374 new create*option functions.
3375 (process_gc_options): Adjust for discriminated option.
3376 (output_mangled_typename): Handle TYPE_NONE.
3377 (walk_type): Test option kinds.
3378 (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
3379 (write_func_for_structure, write_type, write_local, write_root)
3380 (write_roots, note_def_vec, dump_options): Adjust for
3381 discriminated option.
3383 * gengtype.h (typedefs, structures, param_structs, variables
3384 enum typekind): Move from gengtype.c
3385 (enum option_kind): New discriminating enumeration.
3386 (struct options): Becomes discriminated.
3387 (struct nested_ptr_data): Nove from gengtype.c
3388 (create_string_option, create_type_option, create_nested_option)
3389 (create_nested_ptr_option): New functions
3390 (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
3391 (UNION_OR_STRUCT_P): Move from gengtype.c
3393 * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
3394 discriminated options.
3396 2010-11-23 Richard Guenther <rguenther@suse.de>
3398 * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
3399 twice. Avoid re-allocating the ops vector all the time.
3401 2010-11-23 Richard Guenther <rguenther@suse.de>
3403 * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
3404 is_gimple_min_invariant, group tree code checks to allow
3406 (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
3409 2010-11-23 Eric Botcazou <ebotcazou@adacore.com>
3411 * config.gcc (sparc*-*-*): Reorder.
3413 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
3415 * gengtype.c (header_dot_h_frul, source_dot_c_frul):
3416 Remove ENABLE_CHECKING around DBGPRINTF.