diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-01-31 23:48:44 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-01-31 23:48:44 +0000 |
| commit | 517a290e4f703d81dacefadcbf38a534591e2b44 (patch) | |
| tree | e7ebf130e8c787a58587d1d961be01b759a097b2 | |
| parent | 2a46d810387abcc29ce4ca28d27aab02e7a94e37 (diff) | |
| download | bcm5719-llvm-517a290e4f703d81dacefadcbf38a534591e2b44.tar.gz bcm5719-llvm-517a290e4f703d81dacefadcbf38a534591e2b44.zip | |
InferAddressSpaces: Avoid double map lookup
llvm-svn: 293719
| -rw-r--r-- | llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp | 10 |
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; } |

