File: rtti-proxy-i686.ll

package info (click to toggle)
llvm-toolchain-21 1%3A21.1.6-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,245,028 kB
  • sloc: cpp: 7,619,726; ansic: 1,434,018; asm: 1,058,748; python: 252,740; f90: 94,671; objc: 70,685; lisp: 42,813; pascal: 18,401; sh: 8,601; ml: 5,111; perl: 4,720; makefile: 3,675; awk: 3,523; javascript: 2,409; xml: 892; fortran: 770
file content (20 lines) | stat: -rw-r--r-- 726 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; REQUIRES: x86-registered-target

;; Validate that we produce RTTI proxies for 32-bit x86.
; RUN: llc %s -mtriple=i686-elf -o - | FileCheck %s

;; Validate that we produce a valid object file.
; RUN: llc %s -mtriple=i686-elf --filetype=obj -o %t.o
; RUN: llvm-readobj --relocs %t.o | FileCheck --check-prefix=RELOCS %s

@vtable = dso_local unnamed_addr constant i32 trunc (i64 sub (i64 ptrtoint (ptr @rtti.proxy to i64), i64 ptrtoint (ptr @vtable to i64)) to i32), align 4
@rtti = external global i8, align 8
@rtti.proxy = linkonce_odr hidden unnamed_addr constant ptr @rtti

; CHECK-LABEL: vtable:
; CHECK-NEXT:    .long   rtti.proxy-vtable

; CHECK-LABEL: rtti.proxy:
; CHECK-NEXT:    .long   rtti

; RELOCS: R_386_32 rtti