summaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/GVN.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2012-02-08 14:10:53 +0000
committerDuncan Sands <baldrick@free.fr>2012-02-08 14:10:53 +0000
commit8c160548ce58c87242335b041f80e1b97f974823 (patch)
tree9f5c57e0d89a814b94944e247fbe276fae038a9a /lib/Transforms/Scalar/GVN.cpp
parent80fd2a1972fa1955cdea1bf2a37b47659331870c (diff)
downloadllvm-8c160548ce58c87242335b041f80e1b97f974823.tar.gz
llvm-8c160548ce58c87242335b041f80e1b97f974823.tar.bz2
llvm-8c160548ce58c87242335b041f80e1b97f974823.tar.xz
Use Use::set rather than finding the operand number of the use
and setting that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150074 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/GVN.cpp')
-rw-r--r--lib/Transforms/Scalar/GVN.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp
index 654125342a..5b95f5b86f 100644
--- a/lib/Transforms/Scalar/GVN.cpp
+++ b/lib/Transforms/Scalar/GVN.cpp
@@ -1900,12 +1900,9 @@ unsigned GVN::replaceAllDominatedUsesWith(Value *From, Value *To,
unsigned Count = 0;
for (Value::use_iterator UI = From->use_begin(), UE = From->use_end();
UI != UE; ) {
- Instruction *User = cast<Instruction>(*UI);
- unsigned OpNum = UI.getOperandNo();
- ++UI;
-
- if (DT->dominates(Root, User->getParent())) {
- User->setOperand(OpNum, To);
+ Use &U = (UI++).getUse();
+ if (DT->dominates(Root, cast<Instruction>(U.getUser())->getParent())) {
+ U.set(To);
++Count;
}
}