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 | 805d84a07703c7aba38461d2604b53af372a27ff (patch) | |
tree | dc53528b408b34408eec0ffdb991b48848d97bbf /llvm/lib/Analysis/LoadValueNumbering.cpp | |
parent | cf52eb2b99ac9e959c28fe21f8a7b944a5bc326d (diff) | |
download | bcm5719-llvm-805d84a07703c7aba38461d2604b53af372a27ff.tar.gz bcm5719-llvm-805d84a07703c7aba38461d2604b53af372a27ff.zip |
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.
llvm-svn: 22266
Diffstat (limited to 'llvm/lib/Analysis/LoadValueNumbering.cpp')
-rw-r--r-- | llvm/lib/Analysis/LoadValueNumbering.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/LoadValueNumbering.cpp b/llvm/lib/Analysis/LoadValueNumbering.cpp index 16e79a1286f..721fe47da88 100644 --- a/llvm/lib/Analysis/LoadValueNumbering.cpp +++ b/llvm/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 |