diff options
author | Chris Lattner <sabre@nondot.org> | 2008-12-15 07:49:24 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-12-15 07:49:24 +0000 |
commit | 8f416f3afd3c0ebae2ae897cfdaf5009e99f19d5 (patch) | |
tree | f45274d8895928384fc9d956a038f7d449b758bd /lib | |
parent | fd7eb7252ff09e17d845600c4ced56f22c302856 (diff) | |
download | external_llvm-8f416f3afd3c0ebae2ae897cfdaf5009e99f19d5.zip external_llvm-8f416f3afd3c0ebae2ae897cfdaf5009e99f19d5.tar.gz external_llvm-8f416f3afd3c0ebae2ae897cfdaf5009e99f19d5.tar.bz2 |
Add a testcase for GCC PR 23455, which lpre handles now. Add some
comments about why we're not getting other cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61032 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/README.txt | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index c19fd9c..381d0c3 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -1323,8 +1323,13 @@ for () { } *P = tmp; +We now hoist the reload after the call (Transforms/GVN/lpre-call-wrap.ll), but +we don't sink the store. We need partially dead store sinking. + //===---------------------------------------------------------------------===// +[PHI TRANSLATE GEPs] + GCC PR37166: Sinking of loads prevents SROA'ing the "g" struct on the stack leading to excess stack traffic. This could be handled by GVN with some crazy symbolic phi translation. The code we get looks like (g is on the stack): @@ -1350,10 +1355,11 @@ There are many load PRE testcases in testsuite/gcc.dg/tree-ssa/loadpre* in the GCC testsuite. There are many pre testcases as ssa-pre-*.c Other simple load PRE cases: -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35287 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34677 (licm does this) -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29789 (SPEC2K6) -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23455 +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35287 [LPRE crit edge splitting] + +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34677 (licm does this, LPRE crit edge) + llvm-gcc t2.c -S -o - -O0 -emit-llvm | llvm-as | opt -mem2reg -simplifycfg -gvn | llvm-dis + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14705 //===---------------------------------------------------------------------===// |