diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-02-05 19:37:31 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-02-05 19:37:31 +0000 | 
| commit | 963c784e8cd41cd556d0f19e090268b2e574e9f0 (patch) | |
| tree | 09806bdf188b19050633812b99f098f90344649c /lib/Transforms/Scalar/LoopStrengthReduce.cpp | |
| parent | 823f87a1f80708ce9ba318cc0b07632e76b74d43 (diff) | |
Diffstat (limited to 'lib/Transforms/Scalar/LoopStrengthReduce.cpp')
| -rw-r--r-- | lib/Transforms/Scalar/LoopStrengthReduce.cpp | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/lib/Transforms/Scalar/LoopStrengthReduce.cpp index 01728ae680de..194587a85e7c 100644 --- a/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -158,8 +158,9 @@ struct MemAccessTy {    bool operator!=(MemAccessTy Other) const { return !(*this == Other); } -  static MemAccessTy getUnknown(LLVMContext &Ctx) { -    return MemAccessTy(Type::getVoidTy(Ctx), UnknownAddressSpace); +  static MemAccessTy getUnknown(LLVMContext &Ctx, +                                unsigned AS = UnknownAddressSpace) { +    return MemAccessTy(Type::getVoidTy(Ctx), AS);    }  }; @@ -2279,8 +2280,10 @@ bool LSRInstance::reconcileNewOffset(LSRUse &LU, int64_t NewOffset,    // TODO: Be less conservative when the type is similar and can use the same    // addressing modes.    if (Kind == LSRUse::Address) { -    if (AccessTy != LU.AccessTy) -      NewAccessTy = MemAccessTy::getUnknown(AccessTy.MemTy->getContext()); +    if (AccessTy.MemTy != LU.AccessTy.MemTy) { +      NewAccessTy = MemAccessTy::getUnknown(AccessTy.MemTy->getContext(), +                                            AccessTy.AddrSpace); +    }    }    // Conservatively assume HasBaseReg is true for now. | 
