PTX: Fix some lingering issues with stack allocation

llvm-svn: 140535
This commit is contained in:
Justin Holewinski 2011-09-26 16:20:34 +00:00
parent 37fd87675f
commit 14defde057
2 changed files with 13 additions and 1 deletions

View File

@ -297,7 +297,9 @@ void PTXAsmPrinter::EmitFunctionBodyStart() {
for (unsigned i = 0, e = FrameInfo->getNumObjects(); i != e; ++i) {
DEBUG(dbgs() << "Size of object: " << FrameInfo->getObjectSize(i) << "\n");
if (FrameInfo->getObjectSize(i) > 0) {
std::string def = "\t.local .b";
std::string def = "\t.local .align ";
def += utostr(FrameInfo->getObjectAlignment(i));
def += " .b";
def += utostr(FrameInfo->getObjectSize(i)*8); // Convert to bits
def += " __local";
def += utostr(i);

View File

@ -0,0 +1,10 @@
; RUN: llc < %s -march=ptx32 -mattr=sm20 | FileCheck %s
define ptx_device float @stack1(float %a) {
; CHECK: .local .b32 __local0;
%a.2 = alloca float
; CHECK: st.local.f32 [__local0], %f0
store float %a, float* %a.2
%a.3 = load float* %a.2
ret float %a.3
}