[NVPTX] Add support for .managed variables for UVM
llvm-svn: 211942
This commit is contained in:
parent
d73767a80a
commit
773ca40f5d
|
@ -1480,6 +1480,11 @@ void NVPTXAsmPrinter::printModuleLevelGV(const GlobalVariable *GVar,
|
||||||
|
|
||||||
O << ".";
|
O << ".";
|
||||||
emitPTXAddressSpace(PTy->getAddressSpace(), O);
|
emitPTXAddressSpace(PTy->getAddressSpace(), O);
|
||||||
|
|
||||||
|
if (isManaged(*GVar)) {
|
||||||
|
O << " .attribute(.managed)";
|
||||||
|
}
|
||||||
|
|
||||||
if (GVar->getAlignment() == 0)
|
if (GVar->getAlignment() == 0)
|
||||||
O << " .align " << (int) TD->getPrefTypeAlignment(ETy);
|
O << " .align " << (int) TD->getPrefTypeAlignment(ETy);
|
||||||
else
|
else
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
|
||||||
|
|
||||||
|
|
||||||
|
; CHECK: .visible .global .align 4 .u32 device_g;
|
||||||
|
@device_g = addrspace(1) global i32 zeroinitializer
|
||||||
|
; CHECK: .visible .global .attribute(.managed) .align 4 .u32 managed_g;
|
||||||
|
@managed_g = addrspace(1) global i32 zeroinitializer
|
||||||
|
|
||||||
|
|
||||||
|
!nvvm.annotations = !{!0}
|
||||||
|
!0 = metadata !{i32 addrspace(1)* @managed_g, metadata !"managed", i32 1}
|
Loading…
Reference in New Issue