GVN: fix hashing of extractvalue.
authorErik Verbruggen <erikjv@me.com>
Tue, 11 Mar 2014 10:21:30 +0000 (10:21 +0000)
committerErik Verbruggen <erikjv@me.com>
Tue, 11 Mar 2014 10:21:30 +0000 (10:21 +0000)
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

lib/Transforms/Scalar/GVN.cpp

index f40d34f248871e550c3dd145ce1bd577bb2eb5b6..c4a9a5a61ee453ba6d0586b16dfb02d234e03de0 100644 (file)
@@ -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;