mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-31 07:52:55 +01:00
d0bfa4e8dc
Due to the execution order of doFinalization functions, the GC information were deleted before AsmPrinter::doFinalization was executed. Thus, the GCMetadataPrinter::finishAssembly was never called. The patch fixes that by moving the code of the GCInfoDeleter::doFinalization to Printer::doFinalization. llvm-svn: 175528
32 lines
972 B
LLVM
32 lines
972 B
LLVM
; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck %s
|
|
|
|
define i32 @main(i32 %x) nounwind gc "ocaml" {
|
|
; CHECK: .text
|
|
; CHECK-NEXT: .globl caml_3C_stdin_3E___code_begin
|
|
; CHECK-NEXT: caml_3C_stdin_3E___code_begin:
|
|
; CHECK-NEXT: .data
|
|
; CHECK-NEXT: .globl caml_3C_stdin_3E___data_begin
|
|
; CHECK-NEXT: caml_3C_stdin_3E___data_begin:
|
|
|
|
%puts = tail call i32 @foo(i32 %x)
|
|
ret i32 0
|
|
|
|
; CHECK: .globl caml_3C_stdin_3E___code_end
|
|
; CHECK-NEXT: caml_3C_stdin_3E___code_end:
|
|
; CHECK-NEXT: .data
|
|
; CHECK-NEXT: .globl caml_3C_stdin_3E___data_end
|
|
; CHECK-NEXT: caml_3C_stdin_3E___data_end:
|
|
; CHECK-NEXT: .quad 0
|
|
; CHECK-NEXT: .globl caml_3C_stdin_3E___frametable
|
|
; CHECK-NEXT: caml_3C_stdin_3E___frametable:
|
|
; CHECK-NEXT: .short 1
|
|
; CHECK-NEXT: .align 8
|
|
; CHECK-NEXT: # live roots for main
|
|
; CHECK-NEXT: .quad .Ltmp0
|
|
; CHECK-NEXT: .short 8
|
|
; CHECK-NEXT: .short 0
|
|
; CHECK-NEXT: .align 8
|
|
}
|
|
|
|
declare i32 @foo(i32)
|