Paolo Bonzini
04c3028a09
configure.ac: Fix earlier checkin.
...
2007-06-14 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Fix earlier checkin.
* configure: Regenerated.
From-SVN: r125711
2007-06-14 06:27:32 -07:00
H.J. Lu
77a1416d57
configure.ac: Fix a typo in --enable-checking=.
...
2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
* configure.ac: Fix a typo in --enable-checking=.
* configure: Regenerated.
From-SVN: r125705
2007-06-14 05:44:43 -07:00
Paolo Bonzini
3bbd5a19eb
acinclude.m4 (gcc_AC_CHECK_PROG_VER): Remove.
...
gcc:
2007-06-14 Paolo Bonzini <bonzini@gnu.org>
* acinclude.m4 (gcc_AC_CHECK_PROG_VER): Remove.
* aclocal.m4: Regenerate.
* configure.ac: Use ACX_PROG_CC_WARNING_OPTS,
ACX_PROG_CC_WARNINGS_ARE_ERRORS,
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_CHECK_PROG_VER.
* configure: Regenerate.
* Makefile.in (LOOSE_WARN): Subst loose_warn.
* Makefile.in (quickstrap): Build libgcc too.
libiberty:
2007-06-14 Paolo Bonzini <bonzini@gnu.org>
* aclocal.m4: Include config/warnings.m4.
* configure.ac: Use ACX_PROG_CC_WARNING_OPTS.
* configure: Regenerate.
config:
2007-06-14 Paolo Bonzini <bonzini@gnu.org>
* acx.m4 (ACX_CHECK_PROG_VER): Remove duplicate lines.
From-SVN: r125700
2007-06-14 08:10:41 +00:00
Paolo Bonzini
ab28cc38fd
svn missed the changelog for previous rev...
...
From-SVN: r125699
2007-06-14 07:54:21 +00:00
Bob Wilson
20dca97bbd
xtensa.c (xtensa_expand_nonlocal_goto): Use validate_replace_rtx instead of replace_rtx.
...
* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use
validate_replace_rtx instead of replace_rtx.
(xtensa_expand_prologue): Call df_insn_rescan after replace_rtx.
From-SVN: r125697
2007-06-14 04:49:42 +00:00
Danny Smith
76f5e2005d
config.host (*-cygwin* |*-mingw* ): Add crtbegin.o, crtend.o to extra_parts.
...
ChangeLog/libgcc
2007-06-14 Danny Smith <dannysmith@users.sourceforge.net>
* config.host(*-cygwin* |*-mingw* ): Add crtbegin.o, crtend.o to
extra_parts. Add config/i386/t-cygming to tmake_file.
* config/i386/t-cygming: New file with rules for crtbegin.o, crtend.o.
ChangeLog/gcc
2007-06-14 Danny Smith <dannysmith@users.sourceforge.net>
* config/i386/cygming.h (DWARF_FRAME_REGNUM): Define.
(DWARF2_UNWIND_INFO): Override default if configured with
SJLJ EH disabled.
* config/i386/cygwin.h (STARTFILE_SPEC): Add crtbegin.o.
(ENDFILE_SPEC): Add crtend.o.
* config/i386/mingw32.h (STARTFILE_SEC): Add crtbegin.o.
(ENDFILE_SPEC): Add crtend.o.
(TARGET_USE_JCR_SECTION): Define.
(MD_UNWIND_SUPPORT): Define for 32-bit target.
* config/i386/cygming-crtbegin.c: New file.
* config/i386/cygming-crtend.c: New file.
2007-06-14 Pascal Obry Pascal Obry <obry@adacore.com>
* config/i386/w32-unwind.h: New file.
From-SVN: r125696
2007-06-14 02:38:37 +00:00
Eric Christopher
ab47d43e01
darwin.h (PREFERRED_STACK_BOUNDARY): Don't let the user set a value below STACK_BOUNDARY.
...
2007-06-13 Eric Christopher <echristo@apple.com>
* config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Don't let
the user set a value below STACK_BOUNDARY.
From-SVN: r125695
2007-06-14 01:53:17 +00:00
Thiemo Seufer
b64a6dbdbb
linux.h, linux64.h (LIB_SPEC): Always imply -lpthread for -pthread.
...
* config/mips/linux.h, config/mips/linux64.h (LIB_SPEC): Always
imply -lpthread for -pthread.
From-SVN: r125688
2007-06-13 23:22:29 +00:00
Kazu Hirata
9c57e1e889
tree-ssa-pre.c (mergephitemp): Remove.
...
* tree-ssa-pre.c (mergephitemp): Remove.
(init_pre): Don't use mergephitemp.
From-SVN: r125687
2007-06-13 23:12:46 +00:00
Kazu Hirata
efd7122b03
basic-block.h: Remove the prototype for free_basic_block_vars.
...
* basic-block.h: Remove the prototype for
free_basic_block_vars.
* cfglayout.h: Remove the prototype for
insn_locators_initialize.
* tree.h: Remove the prototype for emit_line_note.
From-SVN: r125686
2007-06-13 22:57:14 +00:00
Eric Christopher
b26f6ed7b9
i386.c (override_options): If we've specified an arch then don't use TARGET_SUBTARGET_ISA_DEFAULTs.
...
2007-06-13 Eric Christopher <echristo@apple.com>
* config/i386/i386.c (override_options): If we've specified
an arch then don't use TARGET_SUBTARGET_ISA_DEFAULTs.
From-SVN: r125685
2007-06-13 22:06:15 +00:00
Bob Wilson
29dc9e2011
df-scan.c (df_get_entry_block_def_set): Check if STATIC_CHAIN_REGNUM is defined.
...
* df-scan.c (df_get_entry_block_def_set): Check if STATIC_CHAIN_REGNUM
is defined.
From-SVN: r125682
2007-06-13 18:27:50 +00:00
Bernd Schmidt
1ca950caf9
bfin.h (EH_RETURN_HANDLER_RTX): Use gen_frame_mem.
...
* config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Use gen_frame_mem.
* config/bfin/bfin.md (UNSPEC_VOLATILE_STORE_EH_HANDLER): New constant.
(eh_store_handler): New pattern.
(eh_return): Emit it instead of a plain move.
From-SVN: r125681
2007-06-13 17:41:07 +00:00
Uros Bizjak
8d3641040c
i386.c (ix86_init_mmx_sse_builtins): Define usign def_builtin.
...
* config/i386/i386.c (ix86_init_mmx_sse_builtins)
[__builtin_infq, __builtin_fabsq]: Define usign def_builtin.
[__builtin_ia32_rsqrtps, __builtin_ia32_rsqrtss]: Define using
def_builtin_const.
From-SVN: r125680
2007-06-13 17:48:51 +02:00
Bernd Schmidt
44017a45a0
bfin.c (gen_one_bundle): Delete unused local variables.
...
* config/bfin/bfin.c (gen_one_bundle): Delete unused local variables.
(find_next_insn_start, find_load): New functions.
(bfin_reorg): Use them to deal with the fact that parallel insns are
no longer represented as a SEQUENCE.
From-SVN: r125677
2007-06-13 14:21:31 +00:00
Eric Botcazou
06063fa227
sparc.c (sparc_override_options): Initialize fpu mask correctly.
...
* config/sparc/sparc.c (sparc_override_options): Initialize
fpu mask correctly.
From-SVN: r125674
2007-06-13 13:58:31 +00:00
Dave Korn
eaf7f7e727
i386.c (ix86_eax_live_at_start_p): Use df_get_live_out.
...
2007-06-13 Dave Korn <dave.korn@artimi.com>
* config/i386/i386.c (ix86_eax_live_at_start_p): Use
df_get_live_out.
From-SVN: r125673
2007-06-13 10:21:50 +00:00
Kazu Hirata
0d52bcc19e
auto-inc-dec.c, [...]: Fix comment typos.
...
* auto-inc-dec.c, c-incpath.c, config/c4x/libgcc.S,
config/sh/divcost-analysis, dbgcnt.def, df-core.c,
df-problems.c, df-scan.c, df.h, dominance.c, dse.c, regstat.c,
tree-data-ref.c, tree-ssa-loop-im.c, tree-ssa-loop-prefetch.c,
tree-vect-transform.c: Fix comment typos. Follow spelling
conventions.
From-SVN: r125666
2007-06-13 02:27:04 +00:00
Seongbae Park
b718216c5a
df-scan.c (df_get_exit-block_use_set): Always add the stack pointer to the exit block use set.
...
2007-06-12 Seongbae Park <seongbae.park@gmail.com>
* df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
to the exit block use set.
* gcse.c (cpro_jump): Don't emit barrier in cfglayout mode.
* config/sparc/sparc.c (sparc_check_64): Check df != NULL.
From-SVN: r125658
2007-06-12 21:28:16 +00:00
Seongbae Park
0a090f42f6
opts.c (common_handle_option): Handle new option -fdbg-cnt-list.
...
2007-06-12 Seongbae Park <seongbae.park@gmail.com>
* opts.c (common_handle_option): Handle new option -fdbg-cnt-list.
* dbgcnt.c (dbg_cnt_set_limit_by_name): Return value
to indicate an error.
(dbg_cnt_process_single_pair, dbg_cnt_list_all_counters): New functions
(dbg_cnt_process_opt): Print an error on a bad argument.
* dbgcnt.h (dbg_cnt_list_all_counters): New function declaration.
* common.opt (-fdbg-cnt-list): New.
* doc/invoke.texi (-fdbg-cnt-list,-fdbg-cnt=): New.
From-SVN: r125657
2007-06-12 20:47:16 +00:00
Eric Botcazou
773a786120
tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything flag on ref-all pointers.
...
* tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything
flag on ref-all pointers.
From-SVN: r125656
2007-06-12 20:25:23 +00:00
Andrew Pinski
4543943ad4
re PR middle-end/31579 (ICE when compiling attached code)
...
2007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/31579
* expr.c (expand_expr_addr_expr_1): Call expand_expr
for the offset with the modifier as EXPAND_INITIALIZER
if the modifier is EXPAND_INITIALIZER.
(expand_expr_real_1 <case INTEGER_CST>): Don't force to
a register if we had an overflow.
2007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/31579
* g++.dg/torture/pr31579.C: New testcase.
From-SVN: r125655
2007-06-12 12:15:50 -07:00
Kaveh R. Ghazi
4c8c70e06a
real.c (real_isfinite): New.
...
* real.c (real_isfinite): New.
(real_sqrt): Use it.
* real.h (real_isfinite): New.
* builtins.c: Use it.
From-SVN: r125654
2007-06-12 18:36:05 +00:00
Ian Lance Taylor
058dcc25b7
re PR libstdc++/29286 (placement new does not change the dynamic type as it should)
...
./: PR libstdc++/29286
* tree.def: Add CHANGE_DYNAMIC_TYPE_EXPR.
* tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Define.
(CHANGE_DYNAMIC_TYPE_LOCATION): Define.
(DECL_NO_TBAA_P): Define.
(struct tree_decl_common): Add no_tbaa_flag field.
* tree-ssa-structalias.c (struct variable_info): Add
no_tbaa_pruning field.
(new_var_info): Initialize no_tbaa_pruning field.
(unify_nodes): Copy no_tbaa_pruning field.
(find_func_aliases): Handle CHANGE_DYNAMIC_TYPE_EXPR.
(dump_solution_for_var): Print no_tbaa_pruning flag.
(set_uids_in_ptset): Add no_tbaa_pruning parameter. Change all
callers.
(compute_tbaa_pruning): New static function.
(compute_points_to_sets): Remove CHANGE_DYNAMIC_TYPE_EXPR nodes.
Call compute_tbaa_pruning.
* tree-ssa-alias.c (may_alias_p): Test no_tbaa_flag for pointers.
* gimplify.c (gimplify_expr): Handle CHANGE_DYNAMIC_TYPE_EXPR.
* gimple-low.c (lower_stmt): Likewise.
* tree-gimple.c (is_gimple_stmt): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
(copy_result_decl_to_var): Likewise.
* expr.c (expand_expr_real_1): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-inline.c (copy_decl_to_var): Copy DECL_NO_TBAA_P flag.
* omp-low.c (omp_copy_decl_2): Likewise.
* print-tree.c (print_node): Print DECL_NO_TBAA_P flag.
* doc/c-tree.texi (Expression trees): Document
CHANGE_DYNAMIC_TYPE_EXPR.
cp/:
PR libstdc++/29286
* init.c (avoid_placement_new_aliasing): New static function.
(build_new_1): Call it.
testsuite/:
PR libstdc++/29286
* g++.dg/init/new16.C: New test.
* g++.dg/init/new17.C: New test.
* g++.dg/init/new18.C: New test.
* g++.dg/init/new19.C: New test.
Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>
From-SVN: r125653
2007-06-12 17:47:37 +00:00
Kaveh R. Ghazi
52a39a4c5d
fold-const.c (fold_binary): Guard (X-X) -> 0 transformation with !HONOR_NANS and !HONOR_INFINITIES.
...
* fold-const.c (fold_binary): Guard (X-X) -> 0 transformation
with !HONOR_NANS and !HONOR_INFINITIES.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
From-SVN: r125652
2007-06-12 16:28:01 +00:00
Dirk Mueller
fc78ca2b3e
reorder changelog entries
...
From-SVN: r125650
2007-06-12 15:44:55 +00:00
Tristan Gingold
1a9075e289
gcov.c: Comments updated.
...
* gcov.c: Comments updated.
(source_info): Add file_time field.
(source_index): New variable.
(mutiple_files): New variable.
(generate_results): New function extracted from process_file.
(process_file): Save and restore chain of functions, generate
results and free structures only if not merging results.
(release_structures): File names are now freed in create_file_names
(create_file_names): Free previous file names.
(find_source): File date is now read here and modifications in
source files is checked here.
(read_graph_file): Only reverse order of functions for the current
object file.
(make_gcov_file_name): Do not generate long names if input_name is
NULL.
(output_lines): If merging results do not display graph, data and
runs informations.
Checking source file modification is done in find_source.
* doc/gcov.texi: Append an s to sourcefile.
From-SVN: r125649
2007-06-12 15:39:15 +00:00
Bernd Schmidt
b18e284e3c
bfin.md (UNSPEC_NOP): New constant.
...
* config/bfin/bfin.md (UNSPEC_NOP): New constant.
(forced_nop): New pattern.
* config/bfin/bfin.c: Include "df.h".
(add_to_reg): Use df_regs_ever_live_p instead of regs_ever_live.
(bfin_discover_loop): Use df_get_live_in instead of
global_live_at_start.
(bfin_reorder_loops): Pass 0 to cfg_layout_initialize. Call
df_analyze when done.
(gen_one_bundle): Don't generate SEQUENCE insns, just put modes on
the insns. Use QImode for the final insn in a bundle. Call
df_insn_rescan on generated NOPs; use gen_forced_nop instead of
gen_nop.
(reorder_var_tracking_notes): New function.
(bfin_reorg): Pass no argument to split_all_insns. Don't call
update_life_info. Call df_analyze after scheduling and bundle
generation. Call reorder_var_tracking_notes if generating these notes.
Call df_finish_pass at the end.
From-SVN: r125648
2007-06-12 14:35:13 +00:00
Dirk Mueller
8c8fa92702
trans-stmt.c (gfc_trans_call): fix gcc_assert to a comparison, not an assignment.
...
2007-06-07 Dirk Mueller <dmueller@suse.de>
* trans-stmt.c (gfc_trans_call): fix gcc_assert to
a comparison, not an assignment.
* optabls.c (debug_optab_libfuncs): fix gcc_assert to
a comparison, not an assignment.
From-SVN: r125647
2007-06-12 14:28:34 +00:00
Olivier Hainque
0e1a6f292f
tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR.
...
* tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR.
Request walking the subtrees only, leaving the current is_lhs/val_only
untouched.
(convert_non_local_reference): Likewise.
testsuite/
* gnat.dg/lhs_view_convert.adb: New test.
From-SVN: r125646
2007-06-12 13:32:27 +00:00
Nathan Sidwell
beff418056
* config/m68k/m68k-devices.def (52221, 52223, 5253): New.
...
From-SVN: r125645
2007-06-12 12:28:45 +00:00
Richard Guenther
18d0801470
re PR tree-optimization/15353 ([tree-ssa] Merge two "if"s if one subsumes the other.)
...
2007-06-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/15353
PR tree-optimization/31657
* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
* timevar.def: Add TV_TREE_IFCOMBINE.
* tree-pass.h (pass_tree_ifcombine): Declare.
* tree-ssa-ifcombine.c: New file.
* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
* tree-flow.h (blocks_in_phiopt_order): Declare.
* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
(tree-ssa-ifcombine.o): New dependencies.
* gcc.c-torture/execute/20070424-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise.
From-SVN: r125644
2007-06-12 12:06:19 +00:00
Uros Bizjak
7f482dfebf
re PR rtl-optimization/32293 (internal compiler error: in do_SUBST, at combine.c:502)
...
PR rtl-optimization/32293
* combine.c (simplify_if_then_else): Truncate return from
nonzero_bits() to correct mode.
testsuite/ChangeLog:
PR rtl-optimization/32293
* gcc.dg/pr32293.c: New test.
From-SVN: r125643
2007-06-12 12:31:04 +02:00
Uros Bizjak
9883e373fc
fold-const (fold_binary): Also optimize a/cbrt(b/c) into a*cbrt(c/b) if flag_unsafe_math_optimizations is set.
...
* fold-const (fold_binary) [RDIV_EXPR]: Also optimize a/cbrt(b/c)
into a*cbrt(c/b) if flag_unsafe_math_optimizations is set.
testuite/ChangeLog:
* gcc.dg/builtins-11.c: Also check folding of a/cbrt(b/c).
From-SVN: r125641
2007-06-12 09:19:36 +02:00
Diego Novillo
16b4cb481c
Makefile.in (reload1.o-warn): Remove.
...
* Makefile.in (reload1.o-warn): Remove.
From-SVN: r125636
2007-06-11 22:30:36 -04:00
Seongbae Park
46cc214143
combine.c (subst): Use reg_overlap_mentioned_p instead of comparing register numbers directly.
...
2007-06-11 Seongbae Park <seongbae.park@gmail.com>
* combine.c (subst): Use reg_overlap_mentioned_p
instead of comparing register numbers directly.
From-SVN: r125634
2007-06-12 01:11:03 +00:00
Kenneth Zadeck
b0384c544e
reload1.c (mark_home_live_1): Use the mode parameter.
...
2007-06-11 Kenneth Zadeck <zadeck@naturalbridge.com>
* reload1.c (mark_home_live_1): Use the mode parameter.
From-SVN: r125627
2007-06-11 22:03:01 +00:00
Kenneth Zadeck
0a41f3b2c8
df-scan.c (df_insn_delete, [...]): Fixed spelling of word "deferred".
...
2007-06-11 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-scan.c (df_insn_delete, df_insn_rescan, df_insn_rescan_all,
df_process_deferred_rescans, df_notes_rescan): Fixed spelling of
word "deferred".
* df-core.c: Ditto.
From-SVN: r125625
2007-06-11 18:22:49 +00:00
Daniel Berlin
6fb5fa3cbc
Merge dataflow branch into mainline
...
From-SVN: r125624
2007-06-11 18:02:15 +00:00
Uros Bizjak
a91d32a4a6
i386.md ("*movtf_internal): Penalize moves to and from integer registers.
...
* config/i386/i386.md ("*movtf_internal): Penalize moves to and
from integer registers.
(FP mode splitters): Handle TFmode.
From-SVN: r125623
2007-06-11 18:06:19 +02:00
Eric Botcazou
73fd4ad6cd
tree-ssa-structalias.c (find_what_p_points_to): Return false for ref-all pointers that point-to anything.
...
* tree-ssa-structalias.c (find_what_p_points_to): Return false
for ref-all pointers that point-to anything.
From-SVN: r125620
2007-06-11 15:40:52 +00:00
Joseph Myers
afcc986d03
arm.c (arm_output_dwarf_dtprel, [...]): New.
...
* config/arm/arm.c (arm_output_dwarf_dtprel,
TARGET_ASM_OUTPUT_DWARF_DTPREL): New.
From-SVN: r125619
2007-06-11 15:55:06 +01:00
Bernd Schmidt
0ea80eb62c
bfin.md (movdi_insn, [...]): Don't allow constant to memory moves.
...
* config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn,
movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant
to memory moves.
From-SVN: r125617
2007-06-11 11:29:00 +00:00
Rafael Espindola
b0464c8897
remove signed(_or_unsigned)?_type langhooks
...
From-SVN: r125616
2007-06-11 10:23:11 +00:00
Uros Bizjak
69c553ef2a
re PR target/32280 (_mm_srli_si128, heinous code for some shifts)
...
PR target/32280
* config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ...
* config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here.
testsuite/ChangeLog:
PR target/32280
* gcc.target/i386/pr32280.c: New test.
From-SVN: r125615
2007-06-11 12:13:00 +02:00
Uros Bizjak
f1da2df1e9
re PR middle-end/32279 (Fold 1.0/sqrt(x/y) to sqrt(y/x))
...
PR middle-end/32279
* fold-const (fold_binary) [RDIV_EXPR]: Optimize a/sqrt(b/c)
into a*sqrt(c/b) if flag_unsafe_math_optimizations is set.
testsuite/ChangeLog:
PR middle-end/32279
* gcc.dg/builtins-11.c: Also check folding of a/sqrt(b/c).
From-SVN: r125614
2007-06-11 11:09:24 +02:00
Jan Sjodin
51c0074eed
lambda-code.c (remove_iv): New.
...
* lambda-code.c (remove_iv): New.
(lambda_loopnest_to_gcc_loopnest): Use remove_iv.
Co-Authored-By: Sebastian Pop <sebpop@gmail.com>
From-SVN: r125605
2007-06-10 21:00:59 +00:00
Zdenek Dvorak
79f5e44262
tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL.
...
* tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL.
* tree-predcom.c (mark_virtual_ops_for_renaming): Exported.
* tree-ssa-loop-prefetch.c: Include optabs.h.
(FENCE_FOLLOWING_MOVNT): New macro.
(struct mem_ref): Add independent_p and storent_p fields.
(record_ref): Initalize the new fields.
(gather_memory_references_ref): Return true if the reference
could be analysed.
(gather_memory_references): Check whether all memory accesses
in loop were recorded.
(should_issue_prefetch_p): Return false for nontemporal stores.
(nontemporal_store_p, mark_nontemporal_store, emit_mfence_after_loop,
may_use_storent_in_loop_p, mark_nontemporal_stores): New functions.
(determine_loop_nest_reuse): Detect independent memory references.
(loop_prefetch_arrays): Call mark_nontemporal_stores.
* tree-flow.h (mark_virtual_ops_for_renaming): Declare.
* Makefile.in (tree-ssa-loop-prefetch.o): Add OPTABS_H dependency.
* config/i386/i386.h (x86_mfence): Declare.
(FENCE_FOLLOWING_MOVNT): Return x86_mfence.
* config/i386/i386.c (x86_mfence): New variable.
(ix86_init_mmx_sse_builtins): Initialize x86_mfence.
* tree-pretty-print.c (dump_generic_node): Mark nontemporal stores.
* optabs.c (init_optabs): Initialize storent_optab.
* optabs.h (enum optab_index): Add OTI_storent.
(storent_optab): Declare.
* genopinit.c (optabs): Add initialization for storent_optab.
* tree.h (MOVE_NONTEMPORAL): New macro.
* expr.c (expand_assignment, store_expr, store_constructor_field,
store_constructor, store_field, expand_expr_real_1): Propagate
nontemporality of the expanded store.
(emit_storent_insn): New function.
* expr.h (expand_assignment, store_expr): Declaration changed.
* function.c (assign_parm_setup_reg): Pass false as nontemporality
to expand_assignment.
* stmt.c (expand_asm_expr): Ditto.
* calls.c (initialize_argument_information): Pass false as
nontemporality to store_expr.
* config/i386/sse.md (storentv4sf, storentv2df, storentv2di,
storentsi): New.
* gcc.dg/tree-ssa/prefetch-7.c: New test.
From-SVN: r125604
2007-06-10 20:39:22 +00:00
Daniel Berlin
6bdff197e6
tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd parameter, use it.
...
2007-06-09 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd
parameter, use it.
(find_what_p_points_to): Pass new parameter to set_uids_in_ptset.
From-SVN: r125603
2007-06-10 20:21:48 +00:00
Daniel Berlin
55edccf416
tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b, and allow DECL_P here.
...
2007-06-09 Daniel Berlin <dberlin@dberlin.org>
* tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b,
and allow DECL_P here.
From-SVN: r125601
2007-06-10 14:13:18 +00:00