mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-03 18:29:48 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175528 91177308-0d34-0410-b5e6-96231b3b80d8
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)
|