diff options
| -rw-r--r-- | llvm/lib/Transforms/Scalar/GVN.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp index f40d34f2488..c4a9a5a61ee 100644 --- a/llvm/lib/Transforms/Scalar/GVN.cpp +++ b/llvm/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; |

