[llvm] r206763 - Fix the test: DCE optimized away everything.

Eli Bendersky eliben at google.com
Mon Apr 21 10:23:12 PDT 2014


Author: eliben
Date: Mon Apr 21 12:23:12 2014
New Revision: 206763

URL: http://llvm.org/viewvc/llvm-project?rev=206763&view=rev
Log:
Fix the test: DCE optimized away everything.

Use volatile store to protect the generated PTX from DCE.

Patch by Jingyue Wu.


Modified:
    llvm/trunk/test/CodeGen/NVPTX/local-stack-frame.ll

Modified: llvm/trunk/test/CodeGen/NVPTX/local-stack-frame.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/local-stack-frame.ll?rev=206763&r1=206762&r2=206763&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/NVPTX/local-stack-frame.ll (original)
+++ llvm/trunk/test/CodeGen/NVPTX/local-stack-frame.ll Mon Apr 21 12:23:12 2014
@@ -3,16 +3,16 @@
 
 ; Ensure we access the local stack properly
 
-; PTX32:        mov.u32         %r{{[0-9]+}}, __local_depot{{[0-9]+}};
-; PTX32:        cvta.local.u32  %SP, %r{{[0-9]+}};
-; PTX32:        ld.param.u32    %r{{[0-9]+}}, [foo_param_0];
-; PTX32:        st.u32  [%SP+0], %r{{[0-9]+}};
-; PTX64:        mov.u64         %rl{{[0-9]+}}, __local_depot{{[0-9]+}};
-; PTX64:        cvta.local.u64  %SP, %rl{{[0-9]+}};
-; PTX64:        ld.param.u32    %r{{[0-9]+}}, [foo_param_0];
-; PTX64:        st.u32  [%SP+0], %r{{[0-9]+}};
+; PTX32:        mov.u32          %r{{[0-9]+}}, __local_depot{{[0-9]+}};
+; PTX32:        cvta.local.u32   %SP, %r{{[0-9]+}};
+; PTX32:        ld.param.u32     %r{{[0-9]+}}, [foo_param_0];
+; PTX32:        st.volatile.u32  [%SP+0], %r{{[0-9]+}};
+; PTX64:        mov.u64          %rl{{[0-9]+}}, __local_depot{{[0-9]+}};
+; PTX64:        cvta.local.u64   %SP, %rl{{[0-9]+}};
+; PTX64:        ld.param.u32     %r{{[0-9]+}}, [foo_param_0];
+; PTX64:        st.volatile.u32  [%SP+0], %r{{[0-9]+}};
 define void @foo(i32 %a) {
   %local = alloca i32, align 4
-  store i32 %a, i32* %local
+  store volatile i32 %a, i32* %local
   ret void
 }





More information about the llvm-commits mailing list