summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2011-03-26 04:58:50 +0000
committerCameron Zwarich <zwarich@apple.com>2011-03-26 04:58:50 +0000
commitd4174ee43ef73b290fa536cda1cacbbf17f4ae42 (patch)
tree97798f4d1511459f3a62614ab0ad0fbc1ceaf185
parentfa38bd3dfe91d4b260d9114061d73eb793e1570d (diff)
downloadbcm5719-llvm-d4174ee43ef73b290fa536cda1cacbbf17f4ae42.tar.gz
bcm5719-llvm-d4174ee43ef73b290fa536cda1cacbbf17f4ae42.zip
Fix a typo and add a test.
llvm-svn: 128331
-rw-r--r--llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp2
-rw-r--r--llvm/test/Transforms/ScalarRepl/vector_promote.ll15
2 files changed, 16 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp b/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
index c261dede922..de7bb41e7de 100644
--- a/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
+++ b/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
@@ -380,7 +380,7 @@ bool ConvertToScalarInfo::MergeInVectorType(const VectorType *VInTy,
return true;
const Type *ElementTy = cast<VectorType>(VectorTy)->getElementType();
- const Type *InElementTy = cast<VectorType>(VectorTy)->getElementType();
+ const Type *InElementTy = cast<VectorType>(VInTy)->getElementType();
// Do not allow mixed integer and floating-point accesses from vectors of
// different sizes.
diff --git a/llvm/test/Transforms/ScalarRepl/vector_promote.ll b/llvm/test/Transforms/ScalarRepl/vector_promote.ll
index 67bbf71b362..c51c9247f54 100644
--- a/llvm/test/Transforms/ScalarRepl/vector_promote.ll
+++ b/llvm/test/Transforms/ScalarRepl/vector_promote.ll
@@ -187,3 +187,18 @@ entry:
; CHECK: extractelement <4 x i128>
; CHECK: insertelement <4 x i128>
}
+
+define float @test13(<4 x float> %x, <2 x i32> %y) {
+ %a = alloca <4 x float>
+ store <4 x float> %x, <4 x float>* %a
+ %p = bitcast <4 x float>* %a to <2 x float>*
+ %b = load <2 x float>* %p
+ %q = getelementptr <4 x float>* %a, i32 0, i32 2
+ %c = load float* %q
+ %r = bitcast <4 x float>* %a to <2 x i32>*
+ store <2 x i32> %y, <2 x i32>* %r
+ ret float %c
+; CHECK: @test13
+; CHECK-NOT: alloca
+; CHECK: bitcast <4 x float> %x to i128
+}
OpenPOWER on IntegriCloud