diff options
author | Andrew Lenharth <andrewl@lenharth.org> | 2005-06-20 15:02:05 +0000 |
---|---|---|
committer | Andrew Lenharth <andrewl@lenharth.org> | 2005-06-20 15:02:05 +0000 |
commit | e3e1739b7dfbc366dcf0bde1548086d172968a1a (patch) | |
tree | 40e9fb2800c3fae7d3f4d1097d9a994332f4486a /lib/Analysis/LoadValueNumbering.cpp | |
parent | 38b5807bd9554fd7d3548a63b84ce0e81bb4ac5f (diff) |
prevent GCSE from forwarding stores to loads around vaarg. This is uggly, and I am trying to fix the AliasInfo, as it should catch the problem instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22266 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/LoadValueNumbering.cpp')
-rw-r--r-- | lib/Analysis/LoadValueNumbering.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Analysis/LoadValueNumbering.cpp b/lib/Analysis/LoadValueNumbering.cpp index 16e79a1286..721fe47da8 100644 --- a/lib/Analysis/LoadValueNumbering.cpp +++ b/lib/Analysis/LoadValueNumbering.cpp @@ -328,6 +328,10 @@ void LoadVN::getEqualNumberNodes(Value *V, LoadInvalidatedInBBBefore = true; break; } + if (dyn_cast<VAArgInst>(I)) { + LoadInvalidatedInBBBefore = true; + break; + } } // Figure out if the load is invalidated between the load and the exit of the |