mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
Before llvm-mc would print it, but llc was assuming that it would produce another section changing directive before one was needed. That assumption is false with inline asm. Fixes PR19049. Another option would be to always create the section, but in the asm printer avoid printing sections changes during initialization. That would work, but * We do use the fact that llvm-mc prints it in testing. The tests can be changed if needed. * A quick poll on IRC suggest that most developers prefer the implicit .text to be printed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203001 91177308-0d34-0410-b5e6-96231b3b80d8
34 lines
958 B
LLVM
34 lines
958 B
LLVM
; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck %s
|
|
|
|
; CHECK: .text
|
|
; CHECK-NEXT: .file "<stdin>"
|
|
|
|
define i32 @main(i32 %x) nounwind gc "ocaml" {
|
|
; CHECK: .globl "caml<stdin>__code_begin"
|
|
; CHECK-NEXT: "caml<stdin>__code_begin":
|
|
; CHECK-NEXT: .data
|
|
; CHECK-NEXT: .globl "caml<stdin>__data_begin"
|
|
; CHECK-NEXT: "caml<stdin>__data_begin":
|
|
|
|
%puts = tail call i32 @foo(i32 %x)
|
|
ret i32 0
|
|
|
|
; CHECK: .globl "caml<stdin>__code_end"
|
|
; CHECK-NEXT: "caml<stdin>__code_end":
|
|
; CHECK-NEXT: .data
|
|
; CHECK-NEXT: .globl "caml<stdin>__data_end"
|
|
; CHECK-NEXT: "caml<stdin>__data_end":
|
|
; CHECK-NEXT: .quad 0
|
|
; CHECK-NEXT: .globl "caml<stdin>__frametable"
|
|
; CHECK-NEXT: "caml<stdin>__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)
|