hubicka [Tue, 18 May 2010 22:37:32 +0000 (22:37 +0000)]
* ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159546
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Tue, 18 May 2010 22:09:19 +0000 (22:09 +0000)]
2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/43332
* haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159545
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Tue, 18 May 2010 20:54:59 +0000 (20:54 +0000)]
* tree.h (build_int_cstu): Implement as static inline.
* tree.c (build_int_cstu): Remove function.
(double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
sign extended.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159544
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 18 May 2010 19:05:09 +0000 (19:05 +0000)]
* gcc.target/i386/
20011009-1.c (COMMENT): Define.
(main): Use it.
* gcc.target/i386/pr25993.c [__sun__]: Use .globl.
* lib/lto.exp (lto_prune_warns): Fix location line regex.
Prune another location line format.
(lto-obj): Call lto_prune_warns on comp_output.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159538
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 18 May 2010 15:11:01 +0000 (15:11 +0000)]
2010-05-18 Richard Guenther <rguenther@suse.de>
PR lto/44143
* lto-wrapper.c (verbose): New variable. Initialize from -v.
(debug): Initialize from -save-temps.
(collect_execute): Print command-line when verbose.
(run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
for ltrans invocation. Produce -dumpbase flag again.
(process_args): Remove.
(main): Simplify.
* collect2.c (maybe_run_lto_and_relink): Only pass object
files to lto-wrapper.
* gcc.c (LINK_COMMAND_SPEC): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159536
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 18 May 2010 14:37:30 +0000 (14:37 +0000)]
* gcc.dg/lto/ipacp_0.c: New test.
* gcc.dg/lto/ipacp_1.c: New test.
* opts.c (decode_options): Do not disable whopr at ipa_cp.
* ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159535
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 18 May 2010 14:13:10 +0000 (14:13 +0000)]
fix broken checkin, test should be link not assemble
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159533
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 18 May 2010 13:51:50 +0000 (13:51 +0000)]
gcc/
PR lto/44184
* lto-streamer-out.c (output_gimple_stmt): Output number of labels
in a GIMPLE_ASM.
* lto-streamer-in.c (input_gimple_stmt): Read number of labels
in a GIMPLE_ASM.
testsuite/
PR lto/44184
* gcc.dg/lto/20100518_0.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159531
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 18 May 2010 09:35:52 +0000 (09:35 +0000)]
PR debug/41371
* var-tracking.c (find_loc_in_1pdv): Add a few checks from
rtx_equal_p inline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159528
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 18 May 2010 08:12:56 +0000 (08:12 +0000)]
add lto to powerpc-*darwin and enable for 32bit darwin
Steven Bosscher <steven@gcc.gnu.org>
ChangeLog:
* configure.ac (--enable-lto): All *-apple-darwin* now support LTO.
* configure: Regenerate.
gcc/ChangeLog:
* config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
lto-macho as lto_binary_reader.
* darwin.c (darwin_asm_named_section): Do not add assembler comment
after .section directive; just print it before the directive instead.
M gcc/config.gcc
M gcc/config/darwin.c
M ChangeLog
M gcc/ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159527
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 18 May 2010 07:10:11 +0000 (07:10 +0000)]
* gnat.dg/specs/lto3.ads: Add missing dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159525
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 18 May 2010 00:17:30 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159523
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 17 May 2010 23:12:14 +0000 (23:12 +0000)]
* cgraph.c (cgraph_create_virtual_clone): Only check
versionable_function_p when not in wpa and checking is enabled.
* cgrpahunit.c (cgraph_materialize_all_clones): Stabilize after
there are no more functions to materialize.
* lto/lto.c (lto_1_to_1_map): Partition non-inline clones.
(lto_promote_cross_file_statics): Deal with non-inline clones.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159518
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 17 May 2010 23:02:47 +0000 (23:02 +0000)]
* cgraph.h (struct ipa_replace_map): Add parm_num parameter.
* lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
New functions.
(output_cgraph): Call output_cgraph_opt_summary.
(input_cgrpah): Call input_cgraph_opt_summary.
(output_cgraph_opt_summary_p, output_node_opt_summary,
input_node_opt_summary, input_cgraph_opt_section): New functions.
* lto-section-in.c (lto_section_name): Add cgraphopt.
* tree-inline.c (tree_function_versioning): Handle parm_num.
* lto-streamer.c (lto_get_section_name): Handle cgraphopt.
* lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159517
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 17 May 2010 22:42:02 +0000 (22:42 +0000)]
* lto.c (lto_materialize_function): Announce function when
reading body; allocate_struct_function only when reading body;
do not finalize local statics; ggc_collect after reading;
do not mark reachable node.
(materialize_cgraph): Do not announce function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159516
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Mon, 17 May 2010 22:34:03 +0000 (22:34 +0000)]
Also apply the insn to prefetch ratio heuristic to loops with known trip count.
2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
* doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
the insn to prefetch ratio heuristic to loops with known trip count.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159515
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Mon, 17 May 2010 22:33:53 +0000 (22:33 +0000)]
Define PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO heuristic.
2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
* tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
(schedule_prefetches): Do not generate a prefetch if the unroll factor
is far from what is required by the prefetch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159514
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 17 May 2010 22:13:07 +0000 (22:13 +0000)]
* ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
(ipcp_estimate_growth): Likewise.
(ipcp_const_param_count): Likewise.
(ipcp_insert_stage): Likewise.
* ipa-prop.c (visit_load_for_mod_analysis): New function.
(visit_store_addr_for_mod_analysis): Set used flag.
(ipa_detect_param_modifications): Set used flag for SSE params;
update use of walk_stmt_load_store_addr_ops.
(ipa_print_node_params): Print used flag.
(ipa_write_node_info): Stream used flag.
(ipa_read_node_info): Likewise.
* ipa-prop.h (struct ipa_param_descriptor): Add used field.
(ipa_is_param_used): New function.
(lto_ipa_fixup_call_notes): Remove unused declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159513
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 17 May 2010 20:28:56 +0000 (20:28 +0000)]
PR target/44074
* configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/i386.c (print_operand) <case ;>: Also print ; if
!HAVE_AS_IX86_REP_LOCK_PREFIX.
Don't emit whitespace.
* config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
(*rep_movsi): Likewise.
(*rep_movsi_rex64): Likewise.
(*rep_movqi): Likewise.
(*rep_movqi_rex64): Likewise.
(*rep_stosdi_rex64): Likewise.
(*rep_stossi): Likewise.
(*rep_stossi_rex64): Likewise.
(*rep_stosqi): Likewise.
(*rep_stosqi_rex64): Likewise.
(*cmpstrnqi_nz_1): Use {%;} after repz.
(*cmpstrnqi_nz_rex_1): Likewise.
(*cmpstrnqi_1): Likewise.
(*cmpstrnqi_rex_1): Likewise.
(*strlenqi_1): Use {%;} after repnz.
(*strlenqi_rex_1): Likewise.
* config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
(*sync_compare_and_swap<mode>): Likewise.
(sync_double_compare_and_swap<mode>): Likewise.
(*sync_double_compare_and_swapdi_pic): Likewise.
(sync_old_add<mode>): Likewise.
(sync_add<mode>): Likewise.
(sync_sub<mode>): Likewise.
(sync_<code><mode>): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159512
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 17 May 2010 19:58:48 +0000 (19:58 +0000)]
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/43990
* trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
This is now handled via 'gfc_class_null_initializer'.
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/43990
* gfortran.dg/class_21.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159511
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 17 May 2010 19:54:05 +0000 (19:54 +0000)]
* call.c (struct z_candidate): Add explicit_targs field.
(add_template_candidate_real): Set it.
(build_over_call): Use it to control init-list warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159510
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 17 May 2010 19:53:55 +0000 (19:53 +0000)]
PR c++/44157
* call.c (build_over_call): Limit init-list deduction warning to
cases where the argument is actually an init-list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159509
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 17 May 2010 19:53:45 +0000 (19:53 +0000)]
PR c++/44158
* call.c (build_over_call): Don't do bitwise copy for move ctor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159508
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Mon, 17 May 2010 19:43:40 +0000 (19:43 +0000)]
2010-05-17 Martin Jambor <mjambor@suse.cz>
* cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
otr_token and polymorphic.
* cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
(cgraph_clone_edge): Copy the above fields.
* tree.c (get_binfo_at_offset): New function.
* tree.h (get_binfo_at_offset): Declare.
* ipa-prop.h (enum jump_func_type): Added known_type jump function
type, reordered items, updated comments.
(union jump_func_value): Added base_type field, reordered fields.
(enum ipa_lattice_type): Moved down in the file.
(struct ipa_param_descriptor): New field polymorphic.
(ipa_is_param_polymorphic): New function.
* ipa-prop.c: Include gimple.h and gimple-fold.h.
(ipa_print_node_jump_functions): Print known type jump functions.
(compute_complex_pass_through): Renamed to...
(compute_complex_assign_jump_func): this.
(compute_complex_ancestor_jump_func): New function.
(compute_known_type_jump_func): Likewise.
(compute_scalar_jump_functions): Create known type and complex ancestor
jump functions.
(ipa_note_param_call): New parameter polymorphic, set the corresponding
flag in the call note accordingly.
(ipa_analyze_call_uses): Renamed to...
(ipa_analyze_indirect_call_uses): this. New parameter target, define
variable var only in the block where it is used.
(ipa_analyze_virtual_call_uses): New function.
(ipa_analyze_call_uses): Likewise.
(combine_known_type_and_ancestor_jfs): Likewise.
(update_jump_functions_after_inlining): Implemented handling of a
number of new jump function types combination.
(print_edge_addition_message): Removed.
(make_edge_direct_to_target): New function.
(try_make_edge_direct_simple_call): Likewise.
(try_make_edge_direct_virtual_call): Likewise.
(update_call_notes_after_inlining): Renamed to...
(update_indirect_edges_after_inlining): this. Moved edge creation for
indirect calls to try_make_edge_direct_simple_call, also calls
try_make_edge_direct_virtual_call for virtual calls.
(ipa_print_node_params): Changed the header message.
(ipa_write_jump_function): Stream also known type jump functions.
(ipa_read_jump_function): Likewise.
(ipa_write_indirect_edge_info): Stream new fields in
cgraph_indirect_call_info.
(ipa_read_indirect_edge_info): Likewise.
* Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
GIMPLE_FOLD_H.
* testsuite/g++.dg/ipa/ivinline-1.C: New test.
* testsuite/g++.dg/ipa/ivinline-2.C: New test.
* testsuite/g++.dg/ipa/ivinline-3.C: New test.
* testsuite/g++.dg/ipa/ivinline-4.C: New test.
* testsuite/g++.dg/ipa/ivinline-5.C: New test.
* testsuite/g++.dg/ipa/ivinline-6.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159507
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 17 May 2010 18:45:32 +0000 (18:45 +0000)]
2010-05-17 Janus Weil <janus@gcc.gnu.org>
* class.c (gfc_add_component_ref,gfc_class_null_initializer,
gfc_build_class_symbol,add_proc_component,add_proc_comps,
add_procs_to_declared_vtab1,copy_vtab_proc_comps,
add_procs_to_declared_vtab,add_generic_specifics,
add_generics_to_declared_vtab,gfc_find_derived_vtab,
find_typebound_proc_uop,gfc_find_typebound_proc,
gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
gfc_get_tbp_symtree): Moved here from other places.
* expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
class.c.
* gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
gfc_find_typebound_proc,gfc_find_typebound_user_op,
gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
* Make-lang.in: Add class.o.
* symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
add_procs_to_declared_vtab1,copy_vtab_proc_comps,
add_procs_to_declared_vtab,add_generic_specifics,
add_generics_to_declared_vtab,gfc_find_derived_vtab,
find_typebound_proc_uop,gfc_find_typebound_proc,
gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
gfc_get_tbp_symtree): Move to class.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159506
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 17 May 2010 18:19:17 +0000 (18:19 +0000)]
Forgot ChangeLog entry for last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159504
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 17 May 2010 18:18:08 +0000 (18:18 +0000)]
* config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159503
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Mon, 17 May 2010 18:16:27 +0000 (18:16 +0000)]
* tree.h (CALL_EXPR_ARGS): Delete.
(call_expr_arglist): Delete.
* tree.c (call_expr_arglist): Delete.
* builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
targetm.fold_builtin.
* config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
* config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
arglist parameter. Use CALL_EXPR_ARG.
(picochip_expand_builtin_3op): Likewise.
(picochip_expand_builtin_2opvoid): Likewise.
(picochip_expand_array_get): Likewise.
(picochip_expand_array_put): Likewise.
(picochip_expand_array_testport): Likewise.
(picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
rather than arglist.
* config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
CALL_EXPR_ARGS.
* config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
than TREE_VALUE and TREE_CHAIN.
* config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
* doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
the arglist.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159502
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 17 May 2010 17:24:32 +0000 (17:24 +0000)]
PR c++/44108
* decl.c (compute_array_index_type): Call mark_rvalue_use.
* c-c++-common/Wunused-var-8.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159497
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 17 May 2010 17:19:46 +0000 (17:19 +0000)]
PR bootstrap/42347
* cfglayout.c (fixup_reorder_chain): Allow returnjump_p
to have no fallthru edge.
* gcc.c-torture/compile/pr42347.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159496
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 17 May 2010 17:18:24 +0000 (17:18 +0000)]
PR middle-end/44102
* cfgcleanup.c (try_optimize_cfg): When removing trivially empty
bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
add BARRIER after previous bb if needed.
* g++.dg/ext/asmgoto1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159495
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Mon, 17 May 2010 16:28:51 +0000 (16:28 +0000)]
fix ChangeLog entries for previous commits
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159494
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Mon, 17 May 2010 16:10:31 +0000 (16:10 +0000)]
fix bogus email for myself
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159492
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Mon, 17 May 2010 16:09:35 +0000 (16:09 +0000)]
gcc/
* tree.c (build_function_type_list_1): Remove bogus assert condition.
gcc/fortran/
* trans-types.c (gfc_init_types): Use build_function_type_list.
(gfc_get_ppc_type): Likewise.
* trans-decl.c (gfc_generate_constructors): Likewise.
* f95-lang.c (build_builtin_fntypes): Likewise.
(gfc_init_builtin_functions): Likewise.
(DEF_FUNCTION_TYPE_0): Likewise.
(DEF_FUNCTION_TYPE_1): Likewise.
(DEF_FUNCTION_TYPE_2): Likewise.
(DEF_FUNCTION_TYPE_3): Likewise.
(DEF_FUNCTION_TYPE_4): Likewise.
(DEF_FUNCTION_TYPE_5): Likewise.
(DEF_FUNCTION_TYPE_6): Likewise.
(DEF_FUNCTION_TYPE_7): Likewise. Use ARG7.
(DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159491
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Mon, 17 May 2010 16:03:46 +0000 (16:03 +0000)]
* trans-array.c (gfc_trans_array_constructor_value): Use
build_constructor instead of build_constructor_from_list.
(gfc_build_constant_array_constructor): Likewise.
* trans-decl.c (create_main_function): Likewise.
* trans-stmt.c (gfc_trans_character_select): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159490
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 17 May 2010 13:34:23 +0000 (13:34 +0000)]
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
unnecessary prototype. Replace copy_r12 and copy_r11 flag params
with copy_reg rtx param.
(rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
Correct cases where code for ABI_V4 did not initialise the reg
used to access frame. Also leave frame_reg_rtx as sp for large
frames that save no regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159483
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Mon, 17 May 2010 12:48:34 +0000 (12:48 +0000)]
2010-05-17 Martin Jambor <mjambor@suse.cz>
PR middle-end/44133
* tree-sra.c (create_access_replacement): New parameter rename, mark
the replaement for renaming only when it is true.
(get_access_replacement): Pass true in the rename parameter of
create_access_replacement.
(get_unrenamed_access_replacement): New function.
(replace_uses_with_default_def_ssa_name): New parameter racc, get the
replacement declaration from it.
* testsuite/gcc.dg/tree-ssa/pr44133.c: New test.
* testsuite/gcc.dg/tree-ssa/sra-9.c: Make the scan regular
expression more precise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159482
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 17 May 2010 11:16:00 +0000 (11:16 +0000)]
* function.c (try_fit_stack_local, add_frame_space): New static
functions.
(assign_stack_local_1): Use them. Look for opportunities to use
space previously wasted on alignment.
* function.h (struct frame_space): New.
(struct rtl_data): Add FRAME_SPACE_LIST member.
* reload1.c (something_was_spilled): New static variable.
(alter_reg): Set it.
(reload): Test it in addition to testing if the frame size changed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159480
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 17 May 2010 10:19:31 +0000 (10:19 +0000)]
2010-05-17 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/functional (result_of): Move...
* include/std/type_traits: ... here.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159478
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 17 May 2010 08:25:06 +0000 (08:25 +0000)]
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
(resolve_fl_variable_derived): ... this place.
(resolve_symbol): Make sure function symbols (and their result
variables) are not resolved twice.
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* gfortran.dg/class_20.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159476
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Mon, 17 May 2010 07:53:20 +0000 (07:53 +0000)]
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
PR 44078
* gcc.dg/tree-ssa/prefetch-7.c: Change pattern to match only the old
debug messages but not the newly introduced one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159475
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Mon, 17 May 2010 07:52:27 +0000 (07:52 +0000)]
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
* config/s390/s390.c: Define sane prefetch settings and activate
flag_prefetch_loop_arrays on -O3.
* config/s390/s390.h: Declare that read can use write prefetch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159474
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 17 May 2010 07:32:44 +0000 (07:32 +0000)]
* lto-streamer-out.c (lto_output): Fix --enable-checking=release
build.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159473
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 17 May 2010 07:01:26 +0000 (07:01 +0000)]
* ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
function body; do not check stdarg field of struct function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159472
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 17 May 2010 00:16:57 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159471
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 16 May 2010 22:24:26 +0000 (22:24 +0000)]
* cgraph.c (dump_cgraph_node): Dump versionable flag.
* cgraph.h (cgraph_local_info): Add versionable flag.
* ipa-cp.c (ipcp_analyze_node): Set versionable flag.
(ipcp_versionable_function_p): Use it.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
versionable flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159467
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 16 May 2010 21:49:36 +0000 (21:49 +0000)]
* cgraph.c (cgraph_clone_node): Take decl argument and insert
clone into hash when it is different from orig.
(cgraph_create_virtual_clone): Update use of cgraph_clone_node.
* cgraph.h (cgraph_clone_node): Update prototype.
* lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
(lto_cgraph_encoder_delete): Delete body map.
(lto_cgraph_encoder_size): Move to header.
(lto_cgraph_encoder_encode_body_p, lto_set_cgraph_encoder_encode_body): New.
(lto_output_node): Do not take written_decls argument; output clone_of
pointer.
(add_node_to): Add include_body_argument; call
lto_set_cgraph_encoder_encode_body on master of the clone.
(add_references): Update use of add_node_to.
(compute_ltrans_boundary): Likewise.
(output_cgraph): Do not create written_decls bitmap.
(input_node): Take nodes argument; stream in clone_of correctly.
(input_cgraph_1): Update use of input_node.
* lto-streamer-out.c (lto_output): Use encoder info to decide
what bodies to output.
* ipa-inline.c (cgraph_clone_inlined_nodes,
cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
* lto-streamer.h (lto_cgraph_encoder_d): Add body.
(lto_cgraph_encoder_size): Define here.
(lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159466
138bc75d-0d04-0410-961f-
82ee72b054a4
dfranke [Sun, 16 May 2010 20:01:06 +0000 (20:01 +0000)]
gcc/fortran/:
2010-05-16 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35779
* array.c (match_array_list): Revert functional change of 2010-05-13.
gcc/fortran/:
2010-05-16 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35779
* gfortran.dg/initialization_25.f90: Commented testcase.
* gfortran.dg/initialization_26.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159465
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 16 May 2010 19:56:44 +0000 (19:56 +0000)]
2010-05-16 Richard Guenther <rguenther@suse.de>
* doc/invoke.texi (-fipa-struct-reorg): Do not mention
-fipa-type-escape.
* ipa-type-escape.c (gate_type_escape_vars): Run when
-fipa-struct-reorg runs.
* opts.c (decode_options): Do not unset flag_ipa_type_escape.
* common.opt (fipa-type-escape): Remove.
* gcc.dg/pr43317.c: Do not pass -fipa-type-escape.
* gcc.dg/pr43084.c: Likewise.
* gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of
-fipa-type-escape.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass
-fipa-type-escape.
* gcc.dg/struct/struct-reorg.exp: Likewise.
* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159464
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 16 May 2010 18:46:16 +0000 (18:46 +0000)]
* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
(decode_options): Likewise.
* Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159463
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 16 May 2010 17:27:09 +0000 (17:27 +0000)]
2010-05-16 Richard Guenther <rguenther@suse.de>
* trans-decl.c (module_htab_decls_hash): Revert last change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159462
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 16 May 2010 17:26:55 +0000 (17:26 +0000)]
* ipa.c (function_and_variable_visibility): Also bring local all
aliases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159461
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 16 May 2010 17:15:30 +0000 (17:15 +0000)]
2010-05-16 Richard Guenther <rguenther@suse.de>
* alias.c (nonoverlapping_memrefs_p): Remove use of
IPA type-escape information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159460
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 16 May 2010 16:55:16 +0000 (16:55 +0000)]
* c-common.c (c_common_reswords): Add _Static_assert for C.
* c-parser.c (c_token_starts_declaration,
c_parser_next_token_starts_declaration,
c_parser_static_assert_declaration_no_semi,
c_parser_static_assert_declaration): New.
(c_parser_declaration_or_fndef): Add parameter static_assert_ok.
Handle static assertions if static_assert_ok.
(c_parser_external_declaration, c_parser_declaration_or_fndef,
c_parser_compound_statement_nostart, c_parser_label,
c_parser_for_statement, c_parser_objc_methodprotolist,
c_parser_omp_for_loop): All callers of
c_parser_declaration_or_fndef changed.
(c_parser_struct_declaration): Handle static assertions.
(c_parser_compound_statement_nostart): Use
c_parser_next_token_starts_declaration and
c_token_starts_declaration to detect start of declarations.
(c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
Likewise.
testsuite:
* gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c,
gcc.dg/c1x-static-assert-3.c, gcc.dg/c1x-static-assert-4.c,
gcc.dg/c1x-static-assert-5.c, gcc.dg/c1x-static-assert-6.c,
gcc.dg/c90-static-assert-1.c, gcc.dg/c99-static-assert-1.c: New
tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159459
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Sun, 16 May 2010 16:51:40 +0000 (16:51 +0000)]
* config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
* config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
TARGET_FUNCTION_VALUE_REGNO_P): Define.
(mmix_function_outgoing_value): Rename to...
(mmix_function_value): ...this. Make static. Add 'outgoing' argument.
(mmix_function_value_regno_p): Make static.
(mmix_libcall_value): New function.
* config/mmix/mmix-protos.h (mmix_function_outgoing_value,
mmix_function_value_regno_p): Remove declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159458
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 16 May 2010 15:20:47 +0000 (15:20 +0000)]
* tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
BUILT_IN_ALLOCA if stack checking is enabled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159457
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 16 May 2010 14:58:34 +0000 (14:58 +0000)]
2010-05-16 Richard Guenther <rguenther@suse.de>
* var-tracking.c (vars_copy_1): Inline ...
(vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
(variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
(variable_merge_over_cur): Adjust. Merge asserts.
(variable_merge_over_src): Likewise.
(dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
(variable_post_merge_new_vals): Merge asserts.
(variable_post_merge_perm_vals): Likewise.
(find_mem_expr_in_1pdv): Likewise.
(dataflow_set_different_value): Remove.
(onepart_variable_different_p): Merge asserts.
(variable_different_p): Likewise.
(dataflow_set_different_1): Inline ...
(dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
(emit_notes_for_differences_1): Merge asserts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159456
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 16 May 2010 14:47:38 +0000 (14:47 +0000)]
2010-05-16 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
* optabs.c (libfunc_decl_hash): Likewise.
* varasm.c (emutls_decl): Likewise.
fortran/
* trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159455
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Sun, 16 May 2010 10:30:39 +0000 (10:30 +0000)]
2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
ada/
* gcc-interface/misc.c (gnat_handle_option): Remove special logic
for Wuninitialized without -O.
fortran/
* options.c (set_Wall): Remove special logic for Wuninitialized
without -O.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159454
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 16 May 2010 10:03:01 +0000 (10:03 +0000)]
* testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159453
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 16 May 2010 09:11:39 +0000 (09:11 +0000)]
* gcc-interface/gigi.h (enum standard_datatypes): Add new value
ADT_exception_data_name_id.
(exception_data_name_id): New define.
* gcc-interface/trans.c (gigi): Initialize it.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
exception type for standard exception definitions. Do not make them
volatile.
<E_Record_Type>: Equate fields of types associated with an exception
definition to those of the standard exception type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159452
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Sun, 16 May 2010 07:12:46 +0000 (07:12 +0000)]
* c-decl.c: Don't include gimple.h.
(merge_decls): Do not copy gimple_body.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159451
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 16 May 2010 02:27:02 +0000 (02:27 +0000)]
gcc:
* c.opt: Add -fnothrow-opt.
gcc/cp:
* cp-tree.h (TYPE_NOEXCEPT_P): New macro.
* except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
TYPE_NOEXCEPT_P.
(finish_eh_spec_block): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159450
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 16 May 2010 00:16:54 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159449
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sat, 15 May 2010 22:03:09 +0000 (22:03 +0000)]
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44154
PR fortran/42647
* trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
if branches.
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44154
PR fortran/42647
* gfortran.dg/allocatable_scalar_9.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159445
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 May 2010 20:48:58 +0000 (20:48 +0000)]
* ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
* passes.c (ipa_write_summaries): Write all analyzed nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159444
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 15 May 2010 20:23:59 +0000 (20:23 +0000)]
PR c++/44148
* pt.c (tsubst): Unshare template argument.
* g++.dg/torture/pr44148.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159443
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Sat, 15 May 2010 20:02:11 +0000 (20:02 +0000)]
gcc/ChangeLog
* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
* Makefile.in: Add it.
Fix all other Makefile dependencies for changes below.
* tree.h: Include it instead of defining VEC primitives here.
* gimple.h: Likewise.
* rtl.h: Likewise.
* tree-inline.h: Inlclude vecir.h instead of gimple.h.
* except.h: Include vecir.h, break dependence on tree.h.
* gimplify.c (append_to_statement_list_1, append_to_statement_list):
Move from here...
* tree-iterator.c: ...to here.
* tree-iterator.h: Fix file introduction comment. Add extern markers.
* c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
tm_p.h.
* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
tree-mudflap.h, and target.h.
* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
predict.h, tree-inline.h, gimple.h, and langhooks.h.
* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
Add FIXME for why gimple.h is still included (should be unnecessary
since GCC 4.5 gimplification unit-at-a-time).
* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
* c-pragma.c: Add FIXME for why function.h needs to be included just
for cfun, at front-end level.
Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
Do not include ggc.h, but include vecprim.h for VEC(char).
* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
Explain why target.h is included.
* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
Explain why gimple.h is included.
* c-ppoutput.c: Do not include tm.h.
* c-common.c: Do not include gimple.h. Explain why expr.h is included.
* c-parses.c: Explain why rtl.h is included, and that this (and only
this) is also why tm.h must be included.
Do not include except.h.
* c-lang.c: Do not include ggc.h.
cp/ChangeLog
* decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
* Make-lang.in: Fix dependencies accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159442
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 15 May 2010 19:58:30 +0000 (19:58 +0000)]
* targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159441
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 15 May 2010 19:19:48 +0000 (19:19 +0000)]
* testsuite/lib/mfdg.exp (additional_prunes): New global.
(dg-test): Clear additional_prunes before test is run.
(dg-prune-output): New procedure.
* testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call
prune_gcc_output.
(libmudflap-dg-prune): New procedure.
* testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output):
New dg directive.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159440
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 15 May 2010 19:07:01 +0000 (19:07 +0000)]
* c-decl.c (grokfield): Allow typedefs for anonymous structs and
unions by default if those structs and unions have no tags. Do
not condition anonymous struct and unions handling on flag_iso.
Allow anonymous structs and unions for C1X.
(finish_struct): Do not diagnose lack of named fields when
anonymous structs and unions present for C1X. Accept flexible
array members in structure with anonymous structs or unions but no
directly named fields.
* doc/extend.texi (Unnamed Fields): Update.
testsuite:
* gcc.dg/c1x-anon-struct-1.c, gcc.dg/c1x-anon-struct-2.c,
gcc.dg/c90-anon-struct-1.c, gcc.dg/c99-anon-struct-1.c: New tests.
* gcc.dg/
20080820.c, gcc.dg/anon-struct-1.c: Update expected
diagnostics and type sizes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159439
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 15 May 2010 19:05:06 +0000 (19:05 +0000)]
* gimple.h (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this.
* gimple.c (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this. Compare the full access if
the offset is self-referential.
(gimple_types_compatible_p): Adjust for above renaming.
* lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
DECL_NONADDRESSABLE_P flag of fields before merging them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159438
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Sat, 15 May 2010 18:41:11 +0000 (18:41 +0000)]
* tree.h (ctor_to_list): Delete.
* tree.c (ctor_to_list): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159437
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 May 2010 17:06:48 +0000 (17:06 +0000)]
* gcc.dg/lto/ipareference_1.c: Rename to ...
* gcc.dg/lto/ipareference_0.c: ... this one.
* gcc.dg/lto/ipareference_2.c: Rename to ...
* gcc.dg/lto/ipareference_1.c: ... this one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159436
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 May 2010 16:57:35 +0000 (16:57 +0000)]
* ipa-reference.c: Include toplev.h
(is_proper_for_analysis): Only add to all_module_statics
if it is allocated.
(write_node_summary_p, stream_out_bitmap,
ipa_reference_write_optimization_summary,
ipa_reference_read_optimization_summary): New.
(struct ipa_opt_pass_d pass_ipa_reference): Add
optimization summary streaming.
* lto-cgraph.c (referenced_from_this_partition_p,
reachable_from_this_partition_p): New functions.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
* opts.c (decode_options): Enable ipa_reference.
* Makefile.in (ipa-reference.o): Add toplev.h dependency.
* lto-streamer.h (referenced_from_this_partition_p,
reachable_from_this_partition_p): Declare.
* gcc.dg/lto/ipareference_1.c: New file.
* gcc.dg/lto/ipareference_2.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159435
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sat, 15 May 2010 15:06:47 +0000 (15:06 +0000)]
2010-05-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44038
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
taking the address of a V_C_E of a constant.
* gcc.c-torture/compile/pr44038.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159434
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sat, 15 May 2010 13:54:44 +0000 (13:54 +0000)]
Add -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c.
2010-05-15 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx-cmpsd-1.c: Add -std=c99.
* gcc.target/i386/avx-cmpss-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159432
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sat, 15 May 2010 13:52:33 +0000 (13:52 +0000)]
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/43207
PR fortran/43969
* gfortran.h (gfc_class_null_initializer): New prototype.
* expr.c (gfc_class_null_initializer): New function to build a NULL
initializer for CLASS pointers.
* symbol.c (gfc_build_class_symbol): Modify internal naming of class
containers. Remove default NULL initialization of $data component.
* trans.c (gfc_allocate_array_with_status): Fix wording of an error
message.
* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
Use new function 'gfc_class_null_initializer'.
* trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
class variables.
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/43207
PR fortran/43969
* gfortran.dg/class_18.f03: New.
* gfortran.dg/class_19.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159431
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 May 2010 09:46:55 +0000 (09:46 +0000)]
* tree.h (memory_identifier_string): Remove.
* ipa-reference.c: Update comment; do not include gt-ipa-reference.h
(ipa_reference_global_vars_info_d): Remove statics_not_read and
statics_not_written.
(ipa_reference_optimization_summary_d): New structure.
(ipa_reference_optimization_summary_t): New type and vector.
(ipa_reference_vars_info_d): Embedd structures instead of using
pointers.
(reference_vars_to_consider): Remove out of GGC space.
(module_statics_escape): Remove.
(global_info_obstack): Rename to ...
(optimization_summary_obstack): ... this one.
(initialization_status_t): Remove.
(memory_identifier_string): Remove.
(get_reference_vars_info): Fix indenting.
(set_reference_vars_info): Likewise.
(get_reference_optimization_summary): New.
(set_reference_optimization_summary): New.
(get_global_reference_vars_info): Remove.
(ipa_reference_get_read_global): Remove.
(ipa_reference_get_written_global): Remove.
(ipa_reference_get_not_read_global): Update.
(ipa_reference_get_not_written_global): Update.
(is_proper_for_analysis): Outlaw addressable.
(propagate_bits): Update for new datastructures.
(analyze_variable): Remove.
(init_function_info): Update for new datastructures.
(clean_function_local_data): Remove.
(clean_function): Remove.
(copy_global_bitmap): Use optimizations_summary_obstack.
(duplicate_node_data): Duplicate optimization summary only.
(remove_node_data): Remove optimization summary only.
(generate_summary): Do not analyze variables; do not compute
module_statics_escape; do not prune solutions by it.
(read_write_all_from_decl): Fix typos in comments.
(propagate): Doscover readonly and nonaddressable first;
update for new datastructures; share global bitmaps.
* ipa-reference.h (ipa_reference_get_read_global,
ipa_reference_get_written_global): Remove.
* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
* Makefile.in: Remove ipa-refereference from GT files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159430
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 15 May 2010 06:01:20 +0000 (06:01 +0000)]
PR debug/44112
* dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
for all SYMBOL_REF_DECLs.
* gcc.dg/debug/dwarf2/const-1.c: Remove.
* g++.dg/debug/dwarf2/const1.C: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159429
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 15 May 2010 02:22:37 +0000 (02:22 +0000)]
C++ DR 475
* except.c (build_throw): Simplify, adjust for DR 475.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159428
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 15 May 2010 01:06:29 +0000 (01:06 +0000)]
* fi.po: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159426
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 15 May 2010 00:17:02 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159425
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 May 2010 23:39:39 +0000 (23:39 +0000)]
* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
(varpool_all_refs_explicit_p): New inline function.
* ipa-reference.c: Update comment.
(module_statics_written): Remove.
(get_static_decl): Remove.
(ipa_init): Do not initialize module_statics_written.
(analyze_function): Likewise.
(generate_summary): Likewise; do not compute module_statics_readonly
and do not update variable flags.
(propagate): Call ipa_discover_readonly_nonaddressable_vars.
* ipa.c: Inlucde flags.h
(cgraph_local_node_p): New.
(cgraph_remove_unreachable_nodes): Return early when not optimizing;
promote functions to local.
(ipa_discover_readonly_nonaddressable_vars): New function.
(function_and_variable_visibility): Use cgraph_local_node_p.
* varpool.c (varpool_finalize_decl): Set force_output for
DECL_PRESERVE_P vars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159421
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Fri, 14 May 2010 21:02:26 +0000 (21:02 +0000)]
2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44135
* gfortran.dg/actual_array_interface_2.f90: New test.
2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44135
* fortran/interface.c (get_sym_storage_size): Use signed instead of
unsigned mpz_get_?i routines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159415
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 14 May 2010 20:47:39 +0000 (20:47 +0000)]
PR 44103
* java-tree.h (START_RECORD_CONSTRUCTOR): Change first argument to a
vector. Move call to build_constructor...
(FINISH_RECORD_CONSTRUCTOR): ...here. Add necessary arguments. Clear
TREE_CONSTANT on the constructor.
(PUSH_SUPER_VALUE): Change first argument to a vector.
(PUSH_FIELD_VALUE): Likewise.
* resource.c (compile_resource_data): Update calls to above macros.
* constants.c (build_constants_constructor): Likewise.
* class.c (build_utf8_ref): Likewise.
(make_field_value): Likewise.
(make_method_value): Likewise.
(add_table_and_syms): New function.
(make_class_data): Call it. Update calls to above macros.
(build_symbol_table_entry): New function.
(build_symbol_entry): Call it. Update calls to above macros.
(emit_symbol_table): Likewise.
(make_catch_class_record): Update calls to above macros.
(build_assertion_table_entry): New function.
(add_assertion_table_entry): Call it.
(emit_assertion_table): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159414
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 May 2010 20:38:43 +0000 (20:38 +0000)]
* ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159413
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 14 May 2010 20:18:34 +0000 (20:18 +0000)]
2010-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44119
* tree-ssa-pre.c (eliminate): Properly mark replacement of
a PHI node necessary.
* gcc.c-torture/compile/pr44119.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159412
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 14 May 2010 19:27:14 +0000 (19:27 +0000)]
* tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159409
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 14 May 2010 18:55:22 +0000 (18:55 +0000)]
PR c++/44127
gcc:
* gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
(gimple_call_set_nothrow): New.
* gimple.c (gimple_build_call_from_tree): Call it.
(gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
gcc/cp:
* except.c (dtor_nothrow): Return nonzero for type with
trivial destructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159408
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 14 May 2010 18:55:10 +0000 (18:55 +0000)]
PR c++/44127
gcc:
* gimplify.c (gimplify_seq_add_stmt): No longer static.
* gimple.h: Declare it.
* gimple.c (gimple_build_eh_filter): No ops.
gcc/cp:
* cp-gimplify.c (gimplify_must_not_throw_expr): Use
gimple_build_eh_must_not_throw.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159407
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 May 2010 18:34:30 +0000 (18:34 +0000)]
* ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
nodes already in queue.
(cgraph_remove_unreachable_nodes): Cleanup; fix problem with re-enqueueing
node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159405
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 May 2010 18:09:14 +0000 (18:09 +0000)]
PR debug/44136
* cfgexpand.c (expand_debug_expr): If non-memory op0
has BLKmode, return NULL.
* gcc.dg/pr44136.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159400
138bc75d-0d04-0410-961f-
82ee72b054a4
hjagasia [Fri, 14 May 2010 17:35:11 +0000 (17:35 +0000)]
2010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
* config.gcc: Add support for --with-cpu option for bdver1.
* config/i386/i386.h (TARGET_BDVER1): New macro.
(ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
(ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
(TARGET_CPU_DEFAULT_NAMES): Add bdver1.
(processor_type): Add PROCESSOR_BDVER1.
* config/i386/i386.md: Add bdver1 as a new cpu attribute to match
processor_type in config/i386/i386.h.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
movaps <reg, reg> instead of movapd <reg, reg> when replacing
movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
to emit packed xor instead of packed double/packed integer
xor for SSE and AVX when moving a zero value.
* config/i386/sse.md: Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
to emit movaps instead of movapd/movdqa for SSE and AVX.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single
logical operations i.e and, or and xor instead of packed double logical
operations for SSE and AVX.
* config/i386/i386-c.c:
(ix86_target_macros_internal): Add PROCESSOR_BDVER1.
* config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
(has_fma4, has_xop): New.
* config/i386/i386.c (bdver1_cost): New variable.
(m_BDVER1): New macro.
(m_AMD_MULTIPLE): Add m_BDVER1.
(x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
x86_tune_use_simode_fiop, x86_tune_promote_qimode,
x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
x86_tune_sse_partial_reg_dependency, x86_tune_sse_unaligned_load_optimal,
x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
Enable/disable for bdver1.
(processor_target_table): Add bdver1_cost.
(cpu_names): Add bdver1.
(override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
processor_alias_table.
(ix86_expand_vector_move_misalign): Change
TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
of movupd/movdqu for SSE and AVX.
(ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
(ix86_tune_adjust_cost): Add code for bdver1.
(standard_sse_constant_opcode): Add check for
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
of packed double xor for SSE and AVX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159399
138bc75d-0d04-0410-961f-
82ee72b054a4
pthaugen [Fri, 14 May 2010 15:48:51 +0000 (15:48 +0000)]
* tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
result to unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159397
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 14 May 2010 15:42:30 +0000 (15:42 +0000)]
2010-05-14 Tristan Gingold <gingold@adacore.com>
* toplev.c (default_debug_hooks): Remove this variable.
(process_options): Remove assignments to default_debug_hooks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159396
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 14 May 2010 13:08:45 +0000 (13:08 +0000)]
2010-05-14 Martin Jambor <mjambor@suse.cz>
* cp/cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
and define.
* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
* langhooks.h (struct lang_hooks_for_decls): Removed field
fold_obj_type_ref.
* tree.c (free_lang_data): Remove assignment to
lang_hooks.fold_obj_type_ref.
* tree.def (OBJ_TYPE_REF): Update comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159393
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 14 May 2010 12:36:28 +0000 (12:36 +0000)]
2010-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44124
* tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159390
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 May 2010 07:40:06 +0000 (07:40 +0000)]
* trans.c (trans_code): Set backend locus early.
* trans-decl.c (gfc_get_fake_result_decl): Use source location
of the function instead of current input_location.
* gfortran.dg/gomp/pr44036-1.f90: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159388
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 14 May 2010 06:23:16 +0000 (06:23 +0000)]
Fix long lines
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159386
138bc75d-0d04-0410-961f-
82ee72b054a4