summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2019-04-17 02:12:23 +0000
committerEric Christopher <echristo@gmail.com>2019-04-17 02:12:23 +0000
commita86343512845c9c1fdbac865fea88aa5fce7142a (patch)
tree666fc6353de19ad8b00e56b67edd33f24104e4a7 /llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
parent7f8ca6e3679b3af951cb7a4b1377edfaa3244b93 (diff)
downloadbcm5719-llvm-a86343512845c9c1fdbac865fea88aa5fce7142a.tar.gz
bcm5719-llvm-a86343512845c9c1fdbac865fea88aa5fce7142a.zip
Temporarily Revert "Add basic loop fusion pass."
As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll')
-rw-r--r--llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll72
1 files changed, 0 insertions, 72 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll b/llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
deleted file mode 100644
index 1f7a6d29c57..00000000000
--- a/llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
+++ /dev/null
@@ -1,72 +0,0 @@
-; RUN: opt -S -mtriple=s390x-unknown-linux -mcpu=z13 -loop-vectorize -dce \
-; RUN: -instcombine -force-vector-width=2 < %s | FileCheck %s
-;
-; Test that loop vectorizer does not generate vector addresses that must then
-; always be extracted.
-
-; Check that the addresses for a scalarized memory access is not extracted
-; from a vector register.
-define i32 @foo(i32* nocapture %A) {
-;CHECK-LABEL: @foo(
-;CHECK: %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
-;CHECK: %0 = shl nsw i64 %index, 2
-;CHECK: %1 = shl i64 %index, 2
-;CHECK: %2 = or i64 %1, 4
-;CHECK: %3 = getelementptr inbounds i32, i32* %A, i64 %0
-;CHECK: %4 = getelementptr inbounds i32, i32* %A, i64 %2
-;CHECK: store i32 4, i32* %3, align 4
-;CHECK: store i32 4, i32* %4, align 4
-
-entry:
- br label %for.body
-
-for.body:
- %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
- %0 = shl nsw i64 %indvars.iv, 2
- %arrayidx = getelementptr inbounds i32, i32* %A, i64 %0
- store i32 4, i32* %arrayidx, align 4
- %indvars.iv.next = add i64 %indvars.iv, 1
- %lftr.wideiv = trunc i64 %indvars.iv.next to i32
- %exitcond = icmp eq i32 %lftr.wideiv, 10000
- br i1 %exitcond, label %for.end, label %for.body
-
-for.end:
- ret i32 undef
-}
-
-
-; Check that a load of address is scalarized.
-define i32 @foo1(i32* nocapture noalias %A, i32** nocapture %PtrPtr) {
-;CHECK-LABEL: @foo1(
-;CHECK: %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
-;CHECK: %0 = or i64 %index, 1
-;CHECK: %1 = getelementptr inbounds i32*, i32** %PtrPtr, i64 %index
-;CHECK: %2 = getelementptr inbounds i32*, i32** %PtrPtr, i64 %0
-;CHECK: %3 = load i32*, i32** %1, align 8
-;CHECK: %4 = load i32*, i32** %2, align 8
-;CHECK: %5 = load i32, i32* %3, align 4
-;CHECK: %6 = load i32, i32* %4, align 4
-;CHECK: %7 = insertelement <2 x i32> undef, i32 %5, i32 0
-;CHECK: %8 = insertelement <2 x i32> %7, i32 %6, i32 1
-;CHECK: %9 = getelementptr inbounds i32, i32* %A, i64 %index
-;CHECK: %10 = bitcast i32* %9 to <2 x i32>*
-;CHECK: store <2 x i32> %8, <2 x i32>* %10, align 4
-
-entry:
- br label %for.body
-
-for.body:
- %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
- %ptr = getelementptr inbounds i32*, i32** %PtrPtr, i64 %indvars.iv
- %el = load i32*, i32** %ptr
- %v = load i32, i32* %el
- %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
- store i32 %v, i32* %arrayidx, align 4
- %indvars.iv.next = add i64 %indvars.iv, 1
- %lftr.wideiv = trunc i64 %indvars.iv.next to i32
- %exitcond = icmp eq i32 %lftr.wideiv, 10000
- br i1 %exitcond, label %for.end, label %for.body
-
-for.end:
- ret i32 undef
-}
OpenPOWER on IntegriCloud