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:
parent
cc870065cb
commit
67acdea900
@ -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);
|
||||
|
||||
|
7
test/CodeGen/NVPTX/alias.ll
Normal file
7
test/CodeGen/NVPTX/alias.ll
Normal 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
|
Loading…
Reference in New Issue
Block a user