mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
102 lines
3.0 KiB
ArmAsm
102 lines
3.0 KiB
ArmAsm
|
# RUN: llvm-mc -triple=x86_64-pc-win32 -filetype=obj < %s | llvm-readobj -codeview | FileCheck %s
|
||
|
|
||
|
# This tries to test defrange gap edge cases.
|
||
|
|
||
|
# CHECK: Local {
|
||
|
# CHECK: Type: int (0x74)
|
||
|
# CHECK: VarName: p
|
||
|
# CHECK: }
|
||
|
# CHECK-NOT: Local {
|
||
|
# CHECK: DefRangeRegister {
|
||
|
# CHECK-NEXT: Register: 23
|
||
|
# CHECK-NEXT: MayHaveNoName: 0
|
||
|
# CHECK-NEXT: LocalVariableAddrRange {
|
||
|
# CHECK-NEXT: OffsetStart: .text+0x5
|
||
|
# CHECK-NEXT: ISectStart: 0x0
|
||
|
# CHECK-NEXT: Range: 0x5
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: LocalVariableAddrGap [
|
||
|
# CHECK-NEXT: GapStartOffset: 0x3
|
||
|
# CHECK-NEXT: Range: 0x1
|
||
|
# CHECK-NEXT: ]
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: DefRangeRegister {
|
||
|
# CHECK-NEXT: Register: 23
|
||
|
# CHECK-NEXT: MayHaveNoName: 0
|
||
|
# CHECK-NEXT: LocalVariableAddrRange {
|
||
|
# CHECK-NEXT: OffsetStart: .text+0x10015
|
||
|
# CHECK-NEXT: ISectStart: 0x0
|
||
|
# CHECK-NEXT: Range: 0x6
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: DefRangeRegister {
|
||
|
# CHECK-NEXT: Register: 23
|
||
|
# CHECK-NEXT: MayHaveNoName: 0
|
||
|
# CHECK-NEXT: LocalVariableAddrRange {
|
||
|
# CHECK-NEXT: OffsetStart: .text+0x2001B
|
||
|
# CHECK-NEXT: ISectStart: 0x0
|
||
|
# CHECK-NEXT: Range: 0x1
|
||
|
# CHECK-NEXT: }
|
||
|
# CHECK-NEXT: }
|
||
|
|
||
|
.text
|
||
|
f: # @f
|
||
|
mov $42, %esi
|
||
|
.Lbegin0:
|
||
|
nop
|
||
|
jmp .Lbegin1
|
||
|
.Lend0:
|
||
|
nop
|
||
|
.Lbegin1:
|
||
|
nop
|
||
|
.Lend1:
|
||
|
.p2align 4
|
||
|
.fill 0x10000, 1, 0x90
|
||
|
|
||
|
mov $42, %esi
|
||
|
.Lbegin2:
|
||
|
nop
|
||
|
jmp .Lbegin3
|
||
|
.Lend2:
|
||
|
.fill 0x10000, 1, 0x90
|
||
|
.Lbegin3:
|
||
|
nop
|
||
|
.Lend3:
|
||
|
ret
|
||
|
.Lfunc_end0:
|
||
|
|
||
|
.section .debug$S,"dr"
|
||
|
.p2align 2
|
||
|
.long 4 # Debug section magic
|
||
|
.long 241 # Symbol subsection for f
|
||
|
.long .Ltmp15-.Ltmp14 # Subsection size
|
||
|
.Ltmp14:
|
||
|
.short .Ltmp17-.Ltmp16 # Record length
|
||
|
.Ltmp16:
|
||
|
.short 4423 # Record kind: S_GPROC32_ID
|
||
|
.long 0 # PtrParent
|
||
|
.long 0 # PtrEnd
|
||
|
.long 0 # PtrNext
|
||
|
.long .Lfunc_end0-f # Code size
|
||
|
.long 0 # Offset after prologue
|
||
|
.long 0 # Offset before epilogue
|
||
|
.long 4098 # Function type index
|
||
|
.secrel32 f # Function section relative address
|
||
|
.secidx f # Function section index
|
||
|
.byte 0 # Flags
|
||
|
.asciz "f" # Function name
|
||
|
.Ltmp17:
|
||
|
.short .Ltmp19-.Ltmp18 # Record length
|
||
|
.Ltmp18:
|
||
|
.short 4414 # Record kind: S_LOCAL
|
||
|
.long 116 # TypeIndex
|
||
|
.short 0 # Flags
|
||
|
.asciz "p"
|
||
|
.Ltmp19:
|
||
|
.cv_def_range .Lbegin0 .Lend0 .Lbegin1 .Lend1 .Lbegin2 .Lend2 .Lbegin3 .Lend3, "A\021\027\000\000\000"
|
||
|
.short 2 # Record length
|
||
|
.short 4431 # Record kind: S_PROC_ID_END
|
||
|
.Ltmp15:
|
||
|
.cv_filechecksums # File index to string table offset subsection
|
||
|
.cv_stringtable # String table
|