summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-01-31 23:48:44 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-01-31 23:48:44 +0000
commit517a290e4f703d81dacefadcbf38a534591e2b44 (patch)
treee7ebf130e8c787a58587d1d961be01b759a097b2
parent2a46d810387abcc29ce4ca28d27aab02e7a94e37 (diff)
downloadbcm5719-llvm-517a290e4f703d81dacefadcbf38a534591e2b44.tar.gz
bcm5719-llvm-517a290e4f703d81dacefadcbf38a534591e2b44.zip
InferAddressSpaces: Avoid double map lookup
llvm-svn: 293719
-rw-r--r--llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp b/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
index 8a8f82af82c..9f03e03892e 100644
--- a/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
+++ b/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
@@ -583,14 +583,12 @@ Optional<unsigned> InferAddressSpaces::updateAddressSpace(
// of all its pointer operands.
unsigned NewAS = UninitializedAddressSpace;
for (Value *PtrOperand : getPointerOperands(V)) {
- unsigned OperandAS;
- if (InferredAddrSpace.count(PtrOperand))
- OperandAS = InferredAddrSpace.lookup(PtrOperand);
- else
- OperandAS = PtrOperand->getType()->getPointerAddressSpace();
- NewAS = joinAddressSpaces(NewAS, OperandAS);
+ auto I = InferredAddrSpace.find(PtrOperand);
+ unsigned OperandAS = I != InferredAddrSpace.end() ?
+ I->second : PtrOperand->getType()->getPointerAddressSpace();
// join(flat, *) = flat. So we can break if NewAS is already flat.
+ NewAS = joinAddressSpaces(NewAS, OperandAS);
if (NewAS == FlatAddrSpace)
break;
}
OpenPOWER on IntegriCloud