diff options
author | Craig Topper <craig.topper@gmail.com> | 2016-05-30 23:15:56 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2016-05-30 23:15:56 +0000 |
commit | 8287fd8abde6228ebab32953e85c78e75ce0fd30 (patch) | |
tree | 4794e9ba319afa3c9da01ea5f248b5b57f4ddb86 /llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp | |
parent | 424b5ee8f7d8139b3893fd8577062c0d4482b52a (diff) | |
download | llvm-8287fd8abde6228ebab32953e85c78e75ce0fd30.zip llvm-8287fd8abde6228ebab32953e85c78e75ce0fd30.tar.gz llvm-8287fd8abde6228ebab32953e85c78e75ce0fd30.tar.bz2 |
[X86] Remove SSE/AVX unaligned store intrinsics as clang no longer uses them. Auto upgrade to native unaligned store instructions.
llvm-svn: 271236
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp index ad70a70..125f2cb 100644 --- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -684,12 +684,6 @@ static bool isAddressUse(Instruction *Inst, Value *OperandVal) { switch (II->getIntrinsicID()) { default: break; case Intrinsic::prefetch: - case Intrinsic::x86_sse_storeu_ps: - case Intrinsic::x86_sse2_storeu_pd: - case Intrinsic::x86_sse2_storeu_dq: - case Intrinsic::x86_avx_storeu_ps_256: - case Intrinsic::x86_avx_storeu_pd_256: - case Intrinsic::x86_avx_storeu_dq_256: if (II->getArgOperand(0) == OperandVal) isAddress = true; break; @@ -706,20 +700,6 @@ static MemAccessTy getAccessType(const Instruction *Inst) { AccessTy.AddrSpace = SI->getPointerAddressSpace(); } else if (const LoadInst *LI = dyn_cast<LoadInst>(Inst)) { AccessTy.AddrSpace = LI->getPointerAddressSpace(); - } else if (const IntrinsicInst *II = dyn_cast<IntrinsicInst>(Inst)) { - // Addressing modes can also be folded into prefetches and a variety - // of intrinsics. - switch (II->getIntrinsicID()) { - default: break; - case Intrinsic::x86_sse_storeu_ps: - case Intrinsic::x86_sse2_storeu_pd: - case Intrinsic::x86_sse2_storeu_dq: - case Intrinsic::x86_avx_storeu_ps_256: - case Intrinsic::x86_avx_storeu_pd_256: - case Intrinsic::x86_avx_storeu_dq_256: - AccessTy.MemTy = II->getArgOperand(0)->getType(); - break; - } } // All pointers have the same requirements, so canonicalize them to an |