mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
f4a6455e0c
If a module has function references, but no functions themselves, we may end up never calling runOnMachineFunction and therefore would never initialize nvptxSubtarget field which would eventually cause a crash. Instead of relying on nvptxSubtarget being initialized by one of the methods, retrieve subtarget info directly. Differential Revision: https://reviews.llvm.org/D55580 llvm-svn: 348952
16 lines
515 B
LLVM
16 lines
515 B
LLVM
; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
|
|
; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s
|
|
|
|
; Test that we don't crash if we're compiling a module with function references,
|
|
; but without any functions in it.
|
|
|
|
target datalayout = "e-i64:64-i128:128-v16:16-v32:32-n16:32:64"
|
|
target triple = "nvptx64-nvidia-cuda"
|
|
|
|
@Funcs = local_unnamed_addr addrspace(1) externally_initialized
|
|
global [1 x void (i8*)*] [void (i8*)* @func], align 8
|
|
|
|
declare void @func(i8*)
|
|
|
|
; CHECK: Funcs[1] = {func}
|