summaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2014-03-11 10:21:30 +0000
committerErik Verbruggen <erikjv@me.com>2014-03-11 10:21:30 +0000
commitfb411c8b8ce42689d42b0d8e3a871d81f86a7298 (patch)
tree01470320049f930140b01cdf14c3a6c23b837bc3 /lib/Transforms/Scalar
parentcf5240642bdf8c042ff03ff451970191ceed2289 (diff)
downloadllvm-fb411c8b8ce42689d42b0d8e3a871d81f86a7298.tar.gz
llvm-fb411c8b8ce42689d42b0d8e3a871d81f86a7298.tar.bz2
llvm-fb411c8b8ce42689d42b0d8e3a871d81f86a7298.tar.xz
GVN: fix hashing of extractvalue.
My last commit did not add the indexes to the hashed value for extractvalue. Adding that back in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203558 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar')
-rw-r--r--lib/Transforms/Scalar/GVN.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp
index f40d34f248..c4a9a5a61e 100644
--- a/lib/Transforms/Scalar/GVN.cpp
+++ b/lib/Transforms/Scalar/GVN.cpp
@@ -189,6 +189,10 @@ Expression ValueTable::create_expression(Instruction *I) {
for (InsertValueInst::idx_iterator II = E->idx_begin(), IE = E->idx_end();
II != IE; ++II)
e.varargs.push_back(*II);
+ } else if (ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(I)) {
+ for (ExtractValueInst::idx_iterator II = EVI->idx_begin(),
+ IE = EVI->idx_end(); II != IE; ++II)
+ e.varargs.push_back(*II);
}
return e;