20 lines
726 B
LLVM
20 lines
726 B
LLVM
; 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
|