mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
[NVPTX] Add support for module-scope inline asm
Since we were explicitly not calling AsmPrinter::doInitialization, any module-scope inline asm was not being printed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185336 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1fd09172bb
commit
728af3d574
@ -1043,6 +1043,16 @@ bool NVPTXAsmPrinter::doInitialization(Module &M) {
|
||||
// Already commented out
|
||||
//bool Result = AsmPrinter::doInitialization(M);
|
||||
|
||||
// Emit module-level inline asm if it exists.
|
||||
if (!M.getModuleInlineAsm().empty()) {
|
||||
OutStreamer.AddComment("Start of file scope inline assembly");
|
||||
OutStreamer.AddBlankLine();
|
||||
OutStreamer.EmitRawText(StringRef(M.getModuleInlineAsm()));
|
||||
OutStreamer.AddBlankLine();
|
||||
OutStreamer.AddComment("End of file scope inline assembly");
|
||||
OutStreamer.AddBlankLine();
|
||||
}
|
||||
|
||||
if (nvptxSubtarget.getDrvInterface() == NVPTX::CUDA)
|
||||
recordAndEmitFilenames(M);
|
||||
|
||||
|
10
test/CodeGen/NVPTX/module-inline-asm.ll
Normal file
10
test/CodeGen/NVPTX/module-inline-asm.ll
Normal file
@ -0,0 +1,10 @@
|
||||
; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
|
||||
|
||||
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64"
|
||||
|
||||
; CHECK: .global .b32 val;
|
||||
module asm ".global .b32 val;"
|
||||
|
||||
define void @foo() {
|
||||
ret void
|
||||
}
|
Loading…
Reference in New Issue
Block a user