aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/GVN/rle.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-09-20 22:35:26 +0000
committerChris Lattner <sabre@nondot.org>2009-09-20 22:35:26 +0000
commitf15380ba8ae35941dcd56d9a288ad023295dde30 (patch)
tree456d6cfae5b5b5c66614ff86923984bb850161e5 /test/Transforms/GVN/rle.ll
parent96077036f06478d96c123283a50cfba49858fd40 (diff)
downloadexternal_llvm-f15380ba8ae35941dcd56d9a288ad023295dde30.zip
external_llvm-f15380ba8ae35941dcd56d9a288ad023295dde30.tar.gz
external_llvm-f15380ba8ae35941dcd56d9a288ad023295dde30.tar.bz2
implement and document support for CHECK-NOT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82408 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/GVN/rle.ll')
-rw-r--r--test/Transforms/GVN/rle.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Transforms/GVN/rle.ll b/test/Transforms/GVN/rle.ll
index 1c5ab67..6b45890 100644
--- a/test/Transforms/GVN/rle.ll
+++ b/test/Transforms/GVN/rle.ll
@@ -191,3 +191,24 @@ Cont:
; CHECK: ret i8 %A
}
+;;===----------------------------------------------------------------------===;;
+;; Store -> Load and Load -> Load forwarding where src and dst are different
+;; types, and the reload is an offset from the store pointer.
+;;===----------------------------------------------------------------------===;;
+
+;; i32 -> f32 forwarding.
+define i8 @coerce_offset0(i32 %V, i32* %P) {
+ store i32 %V, i32* %P
+
+ %P2 = bitcast i32* %P to i8*
+ %P3 = getelementptr i8* %P2, i32 2
+
+ %A = load i8* %P3
+ ret i8 %A
+; CHECK: @coerce_offset0
+; CHECK-NOT: load
+; CHECK: ret i8
+}
+
+
+