From 9dc9e7e9808dcecb93bb39913ce58579fc03712a Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Thu, 22 Mar 2018 12:24:07 +0000 Subject: [PATCH] Add vendor specific calling convention to DWARF This patch adds LLVM's and GCC's calling conventions so they can be emitted in the DWARF debug info. Patch by: Adrien Guinet Differential revision: https://reviews.llvm.org/D42350 llvm-svn: 328191 --- llvm/include/llvm/BinaryFormat/Dwarf.def | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/llvm/include/llvm/BinaryFormat/Dwarf.def b/llvm/include/llvm/BinaryFormat/Dwarf.def index 69def07..57e2596 100644 --- a/llvm/include/llvm/BinaryFormat/Dwarf.def +++ b/llvm/include/llvm/BinaryFormat/Dwarf.def @@ -708,6 +708,7 @@ HANDLE_DW_CC(0x03, nocall) HANDLE_DW_CC(0x04, pass_by_reference) HANDLE_DW_CC(0x05, pass_by_value) // Vendor extensions: +HANDLE_DW_CC(0x40, GNU_renesas_sh) HANDLE_DW_CC(0x41, GNU_borland_fastcall_i386) HANDLE_DW_CC(0xb0, BORLAND_safecall) HANDLE_DW_CC(0xb1, BORLAND_stdcall) @@ -717,6 +718,22 @@ HANDLE_DW_CC(0xb4, BORLAND_msreturn) HANDLE_DW_CC(0xb5, BORLAND_thiscall) HANDLE_DW_CC(0xb6, BORLAND_fastcall) HANDLE_DW_CC(0xc0, LLVM_vectorcall) +HANDLE_DW_CC(0xc1, LLVM_Win64) +HANDLE_DW_CC(0xc2, LLVM_X86_64SysV) +HANDLE_DW_CC(0xc3, LLVM_AAPCS) +HANDLE_DW_CC(0xc4, LLVM_AAPCS_VFP) +HANDLE_DW_CC(0xc5, LLVM_IntelOclBicc) +HANDLE_DW_CC(0xc6, LLVM_SpirFunction) +HANDLE_DW_CC(0xc7, LLVM_OpenCLKernel) +HANDLE_DW_CC(0xc8, LLVM_Swift) +HANDLE_DW_CC(0xc9, LLVM_PreserveMost) +HANDLE_DW_CC(0xca, LLVM_PreserveAll) +HANDLE_DW_CC(0xcb, LLVM_X86RegCall) +// From GCC source code (include/dwarf2.h): This DW_CC_ value is not currently +// generated by any toolchain. It is used internally to GDB to indicate OpenCL C +// functions that have been compiled with the IBM XL C for OpenCL compiler and use +// a non-platform calling convention for passing OpenCL C vector types. +HANDLE_DW_CC(0xff, GDB_IBM_OpenCL) // Line Number Extended Opcode Encodings HANDLE_DW_LNE(0x01, end_sequence) -- 2.7.4