diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2014-05-01 11:24:11 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2014-05-01 11:24:11 +0000 |
commit | 06ace3c8697a80f87773f51eb355c9f85fb01e61 (patch) | |
tree | 0cdb4e3c7da27e4edbf38c8a21d63b240a21c7e1 /test | |
parent | ed37b773e1bc87a7e5280943e60451f4adc5abcb (diff) | |
download | llvm-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.ll | 24 |
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) { |