File: aix64-xcoff-roptr.ll

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 1,998,492 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (33 lines) | stat: -rw-r--r-- 1,559 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -mxcoff-roptr < %s | FileCheck %s
; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -mxcoff-roptr -filetype=obj -o %t.o < %s
; RUN: llvm-objdump -t --symbol-description %t.o | FileCheck %s --check-prefix=OBJ

; RUN: not llc -mtriple powerpc64-ibm-aix-xcoff -mxcoff-roptr -data-sections=false \
; RUN: < %s 2>&1 | FileCheck %s --check-prefix=DS_ERR
; RUN: not llc -mtriple powerpc64le-unknown-linux-gnu -mxcoff-roptr \
; RUN: < %s 2>&1 | FileCheck %s --check-prefix=OS_ERR

; DS_ERR: -mxcoff-roptr option must be used with -data-sections
; OS_ERR: -mxcoff-roptr option is only supported on AIX

%union.U = type { %"struct.U::A" }
%"struct.U::A" = type { ptr }

@_ZL1p = internal constant i64 ptrtoint (ptr @_ZL1p to i64), align 8
; CHECK:         .csect _ZL1p[RO],3
; CHECK-NEXT:    .lglobl	_ZL1p[RO]
; CHECK-NEXT:    .align	3
; CHECK-NEXT:    .vbyte	8, _ZL1p[RO]
; OBJ-DAG: {{([[:xdigit:]]{16})}} l .text {{([[:xdigit:]]{16})}} (idx: [[#]]) _ZL1p[RO]
@q = thread_local constant ptr @_ZL1p, align 8
; CHECK:         .csect q[TL],3
; CHECK-NEXT:    .globl	q[TL]
; CHECK-NEXT:    .align	3
; CHECK-NEXT:    .vbyte	8, _ZL1p[RO]
; OBJ-DAG: {{([[:xdigit:]]{16})}} g O .tdata {{([[:xdigit:]]{16})}} (idx: [[#]]) q[TL]
@u = local_unnamed_addr constant [1 x %union.U] [%union.U { %"struct.U::A" { ptr @_ZL1p } }], align 8
; CHECK:         .csect u[RO],3
; CHECK-NEXT:    .globl	u[RO]
; CHECK-NEXT:    .align	3
; CHECK-NEXT:    .vbyte	8, _ZL1p[RO]
; OBJ-DAG: {{([[:xdigit:]]{16})}} g .text {{([[:xdigit:]]{16})}} (idx: [[#]]) u[RO]