aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2016-05-30 23:15:56 +0000
committerCraig Topper <craig.topper@gmail.com>2016-05-30 23:15:56 +0000
commit8287fd8abde6228ebab32953e85c78e75ce0fd30 (patch)
tree4794e9ba319afa3c9da01ea5f248b5b57f4ddb86 /llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
parent424b5ee8f7d8139b3893fd8577062c0d4482b52a (diff)
downloadllvm-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.cpp20
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