summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorJingyue Wu <jingyue@google.com>2015-06-30 18:59:19 +0000
committerJingyue Wu <jingyue@google.com>2015-06-30 18:59:19 +0000
commit9fe08c4bb38372457bdd07870d396ed985e74f56 (patch)
treeb55bc6e1d67e799679018d12dba3958f4bf2427a /llvm/test
parent324c03fe83579868460e43c7dd066b660120ac32 (diff)
downloadbcm5719-llvm-9fe08c4bb38372457bdd07870d396ed985e74f56.tar.gz
bcm5719-llvm-9fe08c4bb38372457bdd07870d396ed985e74f56.zip
[NVPTX] Fix issue introduced in D10321
Summary: Really check if %SP is not used in other places, instead of checking only exact one non-dbg use. Patched by Xuetian Weng. Test Plan: @foo4 in test/CodeGen/NVPTX/local-stack-frame.ll, create a case that SP will appear twice. Reviewers: jholewinski, jingyue Reviewed By: jingyue Subscribers: llvm-commits, sfantao, jholewinski Differential Revision: http://reviews.llvm.org/D10844 llvm-svn: 241099
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/NVPTX/local-stack-frame.ll18
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/NVPTX/local-stack-frame.ll b/llvm/test/CodeGen/NVPTX/local-stack-frame.ll
index 1058e4b0a57..fba5dd883f9 100644
--- a/llvm/test/CodeGen/NVPTX/local-stack-frame.ll
+++ b/llvm/test/CodeGen/NVPTX/local-stack-frame.ll
@@ -56,3 +56,21 @@ define void @foo3(i32 %a) {
store i32 %a, i32* %2
ret void
}
+
+; PTX32: cvta.local.u32 %SP, %SPL;
+; PTX32: add.u32 {{%r[0-9]+}}, %SP, 0;
+; PTX32: st.local.u32 [{{%r[0-9]+}}], {{%r[0-9]+}}
+; PTX32: st.local.u32 [{{%r[0-9]+}}], {{%r[0-9]+}}
+; PTX64: cvta.local.u64 %SP, %SPL;
+; PTX64: add.u64 {{%rd[0-9]+}}, %SP, 0;
+; PTX64: st.local.u32 [{{%rd[0-9]+}}], {{%r[0-9]+}}
+; PTX64: st.local.u32 [{{%rd[0-9]+}}], {{%r[0-9]+}}
+define void @foo4() {
+ %A = alloca i32
+ %B = alloca i32
+ store i32 0, i32* %A
+ store i32 0, i32* %B
+ call void @bar(i32* %A)
+ call void @bar(i32* %B)
+ ret void
+}
OpenPOWER on IntegriCloud