summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/CodeExtractor.cpp
diff options
context:
space:
mode:
authorStepan Dyatkovskiy <stpworld@narod.ru>2012-06-22 14:53:30 +0000
committerStepan Dyatkovskiy <stpworld@narod.ru>2012-06-22 14:53:30 +0000
commita6c8cc307b0fdc7a975e03f1272afccb1f2440ae (patch)
tree1e99bcc7a9a6ccb312b8f6714c39fd5e1acfff8a /llvm/lib/Transforms/Utils/CodeExtractor.cpp
parentc3b81119a7ac9e3c44ae4666b977d8e2c65c1c5a (diff)
downloadbcm5719-llvm-a6c8cc307b0fdc7a975e03f1272afccb1f2440ae.tar.gz
bcm5719-llvm-a6c8cc307b0fdc7a975e03f1272afccb1f2440ae.zip
Fixed r158979.
Original message: Performance optimizations: - SwitchInst: case values stored separately from Operands List. It allows to make faster access to individual case value numbers or ranges. - Optimized IntItem, added APInt value caching. - Optimized IntegersSubsetGeneric: added optimizations for cases when subset is single number or when subset consists from single numbers only. llvm-svn: 158997
Diffstat (limited to 'llvm/lib/Transforms/Utils/CodeExtractor.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/CodeExtractor.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
index f10dbbeef2d..c545cd68c98 100644
--- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp
+++ b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
@@ -664,7 +664,8 @@ emitCallAndSwitchStatement(Function *newFunction, BasicBlock *codeReplacer,
TheSwitch->setCondition(call);
TheSwitch->setDefaultDest(TheSwitch->getSuccessor(NumExitBlocks));
// Remove redundant case
- TheSwitch->removeCase(SwitchInst::CaseIt(TheSwitch, NumExitBlocks-1));
+ SwitchInst::CaseIt ToBeRemoved(TheSwitch, NumExitBlocks-1);
+ TheSwitch->removeCase(ToBeRemoved);
break;
}
}
OpenPOWER on IntegriCloud