1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00
llvm-mirror/test/CodeGen/PowerPC/aix-xcoff-used.ll
jasonliu f9434ab9b2 [XCOFF][AIX] Handle llvm.used and llvm.compiler.used global array
For now, just return and do nothing when we see llvm.used and
llvm.compiler.used global array.
Hopefully, we could come up with a good solution later to prevent
linker from eliminating symbols in llvm.used array.

Reviewed By: DiggerLin, daltenty

Differential Revision: https://reviews.llvm.org/D84363
2020-07-27 15:28:32 +00:00

27 lines
909 B
LLVM

;; This test verifies llc on AIX would not crash when llvm.used and
;; llvm.compiler.used is presented in the IR.
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | \
; RUN: FileCheck %s
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s | \
; RUN: FileCheck %s
@keep_this = internal global i32 2, align 4
@keep_this2 = internal global i32 3, align 4
@llvm.used = appending global [1 x i8*] [i8* bitcast (i32* @keep_this to i8*)], section "llvm.metadata"
@llvm.compiler.used = appending global [1 x i8*] [i8* bitcast (i32* @keep_this2 to i8*)], section "llvm.metadata"
; CHECK-NOT: llvm.metadata
; CHECK-NOT: llvm.used
; CHECK-NOT: llvm.compiler.used
; CHECK: .lglobl keep_this
; CHECK: keep_this:
; CHECK: .lglobl keep_this2
; CHECK: keep_this2:
; CHECK-NOT: llvm.metadata
; CHECK-NOT: llvm.used
; CHECK-NOT: llvm.compiler.used