Upgrade of the IR text tests should be the only thing blocking making typed byval mandatory. Partially done through regex and partially manual.
43 lines
1.3 KiB
YAML
43 lines
1.3 KiB
YAML
# RUN: llc -mtriple=x86_64-apple-unknown -run-pass none %s -o /dev/null
|
|
# Check that we parse the 'debug-info-*' fields for `fixedStack:` entries.
|
|
|
|
--- |
|
|
|
|
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
|
|
target triple = "x86_64-apple-unknown"
|
|
|
|
declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
|
|
|
|
define hidden void @foo(i32* byval(i32) %dstRect) {
|
|
entry:
|
|
call void @llvm.dbg.declare(metadata i32* %dstRect, metadata !3, metadata !DIExpression()), !dbg !5
|
|
unreachable
|
|
}
|
|
|
|
attributes #0 = { nounwind readnone speculatable }
|
|
|
|
!llvm.dbg.cu = !{!0}
|
|
!llvm.module.flags = !{!2}
|
|
|
|
!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1)
|
|
!1 = !DIFile(filename: "file.cpp", directory: "/dir")
|
|
!2 = !{i32 2, !"Debug Info Version", i32 3}
|
|
!3 = !DILocalVariable(name: "dstRect", scope: !4)
|
|
!4 = distinct !DISubprogram(name: "foo", linkageName: "foo", scope: !0, file: !1, line: 42, unit: !0)
|
|
!5 = !DILocation(line: 42, column: 85, scope: !4)
|
|
|
|
...
|
|
---
|
|
name: foo
|
|
alignment: 16
|
|
tracksRegLiveness: true
|
|
frameInfo:
|
|
maxAlignment: 8
|
|
fixedStack:
|
|
- { id: 0, size: 4, alignment: 16, stack-id: default, debug-info-variable: '!3', debug-info-expression: '!DIExpression()',
|
|
debug-info-location: '!5' }
|
|
body: |
|
|
bb.0.entry:
|
|
|
|
...
|