Summary: This patch implements the backend implementation of adding global variables directly to the table of contents (TOC), rather than adding the address of the variable to the TOC. Currently, this patch will look for the "toc-data" attribute on symbols in the IR, and then add those symbols to the TOC. ATM, this is implemented for 32 bit AIX. Reviewers: sfertile Differential Revision: https://reviews.llvm.org/D101178
15 lines
438 B
LLVM
15 lines
438 B
LLVM
; RUN: not --crash llc -mtriple powerpc-ibm-aix-xcoff -verify-machineinstrs \
|
|
; RUN: < %s 2>&1 | FileCheck %s
|
|
|
|
@ilocal = internal global i32 0, align 4 #0
|
|
|
|
define dso_local i32 @read_i32_local_linkage() {
|
|
entry:
|
|
%0 = load i32, i32* @ilocal, align 4
|
|
ret i32 %0
|
|
}
|
|
|
|
; CHECK: LLVM ERROR: A GlobalVariable with private or local linkage is not currently supported by the toc data transformation.
|
|
|
|
attributes #0 = { "toc-data" }
|