summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-05-01 11:24:11 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-05-01 11:24:11 +0000
commit06ace3c8697a80f87773f51eb355c9f85fb01e61 (patch)
tree0cdb4e3c7da27e4edbf38c8a21d63b240a21c7e1 /test
parented37b773e1bc87a7e5280943e60451f4adc5abcb (diff)
downloadllvm-06ace3c8697a80f87773f51eb355c9f85fb01e61.tar.gz
llvm-06ace3c8697a80f87773f51eb355c9f85fb01e61.tar.bz2
llvm-06ace3c8697a80f87773f51eb355c9f85fb01e61.tar.xz
Revert r205965, which essentially reverts r205018 for the second time.
=[ Turns out that this was the root cause of PR19621. We found a crasher only recently (likely due to improvements elsewhere in the SLP vectorizer) but the reduced test case failed all the way back to here. I've confirmed that reverting this patch both fixes the reduced test case in PR19621 and the actual source file that led to it, so it seems to really be rooted here. I've replied to the commit thread with discussion of my (feeble) attempts to debug this. Didn't make it very far, so reverting now that we have a good test case so that things can get back to healthy while the debugging carries on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207746 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll24
1 files changed, 0 insertions, 24 deletions
diff --git a/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll b/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
index 620292bdaf..7537ea3b05 100644
--- a/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
+++ b/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
@@ -195,30 +195,6 @@ define <4 x float> @simple_select_partial_vector(<4 x float> %a, <4 x float> %b,
ret <4 x float> %rb
}
-; Make sure that vectorization happens even if insertelements operations
-; must be rescheduled. The case here is from compiling Julia.
-define <4 x float> @reschedule_extract(<4 x float> %a, <4 x float> %b) {
-; CHECK-LABEL: @reschedule_extract(
-; CHECK: %1 = fadd <4 x float> %a, %b
- %a0 = extractelement <4 x float> %a, i32 0
- %b0 = extractelement <4 x float> %b, i32 0
- %c0 = fadd float %a0, %b0
- %v0 = insertelement <4 x float> undef, float %c0, i32 0
- %a1 = extractelement <4 x float> %a, i32 1
- %b1 = extractelement <4 x float> %b, i32 1
- %c1 = fadd float %a1, %b1
- %v1 = insertelement <4 x float> %v0, float %c1, i32 1
- %a2 = extractelement <4 x float> %a, i32 2
- %b2 = extractelement <4 x float> %b, i32 2
- %c2 = fadd float %a2, %b2
- %v2 = insertelement <4 x float> %v1, float %c2, i32 2
- %a3 = extractelement <4 x float> %a, i32 3
- %b3 = extractelement <4 x float> %b, i32 3
- %c3 = fadd float %a3, %b3
- %v3 = insertelement <4 x float> %v2, float %c3, i32 3
- ret <4 x float> %v3
-}
-
; Check that cost model for vectorization takes credit for
; instructions that are erased.
define <4 x float> @take_credit(<4 x float> %a, <4 x float> %b) {