diff options
| author | Jingyue Wu <jingyue@google.com> | 2015-06-30 18:59:19 +0000 |
|---|---|---|
| committer | Jingyue Wu <jingyue@google.com> | 2015-06-30 18:59:19 +0000 |
| commit | 9fe08c4bb38372457bdd07870d396ed985e74f56 (patch) | |
| tree | b55bc6e1d67e799679018d12dba3958f4bf2427a /llvm/test | |
| parent | 324c03fe83579868460e43c7dd066b660120ac32 (diff) | |
| download | bcm5719-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.ll | 18 |
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 +} |

