From c08e5df836894a66efd6e945e7baa0faff582e5b Mon Sep 17 00:00:00 2001 From: Gabor Greif Date: Wed, 14 Apr 2010 16:48:56 +0000 Subject: performance: cache the dereferenced use_iterator llvm-svn: 101253 --- llvm/lib/Transforms/Scalar/Reg2Mem.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Transforms/Scalar/Reg2Mem.cpp') diff --git a/llvm/lib/Transforms/Scalar/Reg2Mem.cpp b/llvm/lib/Transforms/Scalar/Reg2Mem.cpp index 7a6eec3d46b..13222ac2200 100644 --- a/llvm/lib/Transforms/Scalar/Reg2Mem.cpp +++ b/llvm/lib/Transforms/Scalar/Reg2Mem.cpp @@ -46,10 +46,11 @@ namespace { bool valueEscapes(const Instruction *Inst) const { const BasicBlock *BB = Inst->getParent(); for (Value::const_use_iterator UI = Inst->use_begin(),E = Inst->use_end(); - UI != E; ++UI) - if (cast(*UI)->getParent() != BB || - isa(*UI)) + UI != E; ++UI) { + const Instruction *I = cast(*UI); + if (I->getParent() != BB || isa(I)) return true; + } return false; } -- cgit v1.2.3