1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00

[CUDA] Die gracefully when trying to output an LLVM alias.

Summary:
Previously, we would just output "foo = bar" in the assembly, and then
ptxas would choke.  Now we die before emitting any invalid code.

Reviewers: echristo

Subscribers: jholewinski, llvm-commits, jhen, tra

Differential Revision: http://reviews.llvm.org/D16490

llvm-svn: 258638
This commit is contained in:
Justin Lebar 2016-01-23 21:12:20 +00:00
parent cc870065cb
commit 67acdea900
2 changed files with 12 additions and 0 deletions

View File

@ -812,6 +812,11 @@ bool NVPTXAsmPrinter::doInitialization(Module &M) {
const NVPTXTargetMachine &NTM = static_cast<const NVPTXTargetMachine &>(TM);
const NVPTXSubtarget STI(TT, CPU, FS, NTM);
if (M.alias_size()) {
report_fatal_error("Module has aliases, which NVPTX does not support.");
return true; // error
}
SmallString<128> Str1;
raw_svector_ostream OS1(Str1);

View File

@ -0,0 +1,7 @@
; RUN: not llc < %s -march=nvptx -mcpu=sm_20 2>&1 | FileCheck %s
; Check that llc dies gracefully when given an alias.
define i32 @a() { ret i32 0 }
; CHECK: ERROR: Module has aliases
@b = internal alias i32 (), i32 ()* @a