mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-23 11:49:50 +00:00
3d3aca2d97
Summary: Now DISubroutineType has a 'cc' field which should be a DW_CC_ enum. If it is present and non-zero, the backend will emit it as a DW_AT_calling_convention attribute. On the CodeView side, we translate it to the appropriate enum for the LF_PROCEDURE record. I added a new LLVM vendor specific enum to the list of DWARF calling conventions. DWARF does not appear to attempt to standardize these, so I assume it's OK to do this until we coordinate with GCC on how to emit vectorcall convention functions. Reviewers: dexonsmith, majnemer, aaboud, amccarth Subscribers: mehdi_amini, llvm-commits Differential Revision: http://reviews.llvm.org/D21114 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272197 91177308-0d34-0410-b5e6-96231b3b80d8
33 lines
1.3 KiB
LLVM
33 lines
1.3 KiB
LLVM
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
|
|
; RUN: verify-uselistorder %s
|
|
|
|
; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12}
|
|
!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12}
|
|
|
|
!0 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
|
|
!1 = !{null}
|
|
!2 = !{null, !0}
|
|
!3 = !{!0, !0, !0}
|
|
|
|
|
|
; CHECK: !4 = !DISubroutineType(types: !1)
|
|
; CHECK: !5 = !DISubroutineType(types: !2)
|
|
; CHECK: !6 = !DISubroutineType(types: !3)
|
|
; CHECK: !7 = !DISubroutineType(flags: DIFlagLValueReference, types: !3)
|
|
!4 = !DISubroutineType(types: !1)
|
|
!5 = !DISubroutineType(types: !2)
|
|
!6 = !DISubroutineType(types: !3)
|
|
!7 = !DISubroutineType(flags: DIFlagLValueReference, types: !3)
|
|
|
|
; CHECK: !8 = !DISubroutineType(types: null)
|
|
!8 = !DISubroutineType(types: null)
|
|
|
|
; CHECK: !9 = !DISubroutineType(cc: DW_CC_normal, types: null)
|
|
; CHECK: !10 = !DISubroutineType(cc: DW_CC_BORLAND_msfastcall, types: null)
|
|
; CHECK: !11 = !DISubroutineType(cc: DW_CC_BORLAND_stdcall, types: null)
|
|
; CHECK: !12 = !DISubroutineType(cc: DW_CC_LLVM_vectorcall, types: null)
|
|
!9 = !DISubroutineType(cc: DW_CC_normal, types: null)
|
|
!10 = !DISubroutineType(cc: DW_CC_BORLAND_msfastcall, types: null)
|
|
!11 = !DISubroutineType(cc: DW_CC_BORLAND_stdcall, types: null)
|
|
!12 = !DISubroutineType(cc: DW_CC_LLVM_vectorcall, types: null)
|