xref: /llvm-project/llvm/test/MC/ELF/rtti-proxy-i686.ll (revision 741b8363300f0799f7aeabb83910ff8b98f9a919)
1; REQUIRES: x86-registered-target
2
3;; Validate that we produce RTTI proxies for 32-bit x86.
4; RUN: llc %s -mtriple=i686-elf -o - | FileCheck %s
5
6;; Validate that we produce a valid object file.
7; RUN: llc %s -mtriple=i686-elf --filetype=obj -o %t.o
8; RUN: llvm-readobj --relocs %t.o | FileCheck --check-prefix=RELOCS %s
9
10@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
11@rtti = external global i8, align 8
12@rtti.proxy = linkonce_odr hidden unnamed_addr constant ptr @rtti
13
14; CHECK-LABEL: vtable:
15; CHECK-NEXT:    .long   rtti.proxy-vtable
16
17; CHECK-LABEL: rtti.proxy:
18; CHECK-NEXT:    .long   rtti
19
20; RELOCS: R_386_32 rtti
21