[PATCH 27/79] [Backport to 15][DebugInfo] Add more source languages and align to...
authorViktoria Maximova <viktoria.maksimova@intel.com>
Tue, 21 Mar 2023 20:13:51 +0000 (13:13 -0700)
committerAndreas Beckmann <anbe@debian.org>
Thu, 8 Feb 2024 21:48:18 +0000 (22:48 +0100)
Spec: KhronosGroup/SPIRV-Registry#186

Gbp-Pq: Name 0027-Backport-to-15-DebugInfo-Add-more-source-languages-a.patch

lib/SPIRV/libSPIRV/SPIRV.debug.h
lib/SPIRV/libSPIRV/spirv_internal.hpp
test/DebugInfo/NonSemantic/Shader200/SourceLanguageLLVMToSPIRV.ll

index 4d9c30e5d3fe62cbbe9be1268ff9a2d7f9be80a2..dfe2535bd197494daccef763794883a702b6196f 100644 (file)
@@ -900,6 +900,10 @@ inline spv::SourceLanguage convertDWARFSourceLangToSPIRVNonSemanticDbgInfo(
   case dwarf::SourceLanguage::DW_LANG_D:
     return spv::internal::SourceLanguageD;
 
+  case dwarf::SourceLanguage::DW_LANG_Fortran77:
+    return spv::internal::SourceLanguageFortran77;
+  case dwarf::SourceLanguage::DW_LANG_Fortran90:
+    return spv::internal::SourceLanguageFortran90;
   case dwarf::SourceLanguage::DW_LANG_Fortran95:
     return spv::internal::SourceLanguageFortran95;
   case dwarf::SourceLanguage::DW_LANG_Fortran03:
@@ -946,6 +950,10 @@ convertSPIRVSourceLangToDWARFNonSemanticDbgInfo(unsigned SourceLang) {
   case spv::internal::SourceLanguageD:
     return dwarf::SourceLanguage::DW_LANG_D;
 
+  case spv::internal::SourceLanguageFortran77:
+    return dwarf::SourceLanguage::DW_LANG_Fortran77;
+  case spv::internal::SourceLanguageFortran90:
+    return dwarf::SourceLanguage::DW_LANG_Fortran90;
   case spv::internal::SourceLanguageFortran95:
     return dwarf::SourceLanguage::DW_LANG_Fortran95;
   case spv::internal::SourceLanguageFortran2003:
index def8419c208a89e50c108afa9fdc9f4ab1a1599b..e495fab3d9d622148accf3721b390be98474d341 100644 (file)
@@ -30,22 +30,26 @@ namespace spv {
 namespace internal {
 
 enum InternalSourceLanguageNonSemanticDI {
-  ISourceLanguagePython = 101,
-  ISourceLanguageJulia = 102,
-  ISourceLanguageRust = 103,
-  ISourceLanguageD = 104,
-  ISourceLanguageFortran95 = 105,
-  ISourceLanguageFortran2003 = 106,
-  ISourceLanguageFortran2008 = 107,
-  ISourceLanguageC = 108,
-  ISourceLanguageC99 = 109,
-  ISourceLanguageC11 = 110,
-  ISourceLanguageCPP = 111,
-  ISourceLanguageCPP03 = 112,
-  ISourceLanguageCPP11 = 113,
-  ISourceLanguageCPP14 = 114,
-  ISourceLanguageCPP17 = 115,
-  ISourceLanguageCPP20 = 116,
+  ISourceLanguagePython = 200,
+  ISourceLanguageJulia = 201,
+  ISourceLanguageRust = 202,
+  ISourceLanguageD = 203,
+  ISourceLanguageFortran77 = 204,
+  ISourceLanguageFortran90 = 205,
+  ISourceLanguageFortran95 = 206,
+  ISourceLanguageFortran2003 = 207,
+  ISourceLanguageFortran2008 = 208,
+  ISourceLanguageFortran2018 = 209,
+  ISourceLanguageC = 210,
+  ISourceLanguageC99 = 211,
+  ISourceLanguageC11 = 212,
+  ISourceLanguageC17 = 213,
+  ISourceLanguageCPP = 214,
+  ISourceLanguageCPP03 = 215,
+  ISourceLanguageCPP11 = 216,
+  ISourceLanguageCPP14 = 217,
+  ISourceLanguageCPP17 = 218,
+  ISourceLanguageCPP20 = 219,
 };
 
 enum InternalLinkageType {
@@ -159,18 +163,26 @@ constexpr SourceLanguage SourceLanguageRust =
     static_cast<SourceLanguage>(ISourceLanguageRust);
 constexpr SourceLanguage SourceLanguageD =
     static_cast<SourceLanguage>(ISourceLanguageD);
+constexpr SourceLanguage SourceLanguageFortran77 =
+    static_cast<SourceLanguage>(ISourceLanguageFortran77);
+constexpr SourceLanguage SourceLanguageFortran90 =
+    static_cast<SourceLanguage>(ISourceLanguageFortran90);
 constexpr SourceLanguage SourceLanguageFortran95 =
     static_cast<SourceLanguage>(ISourceLanguageFortran95);
 constexpr SourceLanguage SourceLanguageFortran2003 =
     static_cast<SourceLanguage>(ISourceLanguageFortran2003);
 constexpr SourceLanguage SourceLanguageFortran2008 =
     static_cast<SourceLanguage>(ISourceLanguageFortran2008);
+constexpr SourceLanguage SourceLanguageFortran2018 =
+    static_cast<SourceLanguage>(ISourceLanguageFortran2018);
 constexpr SourceLanguage SourceLanguageC =
     static_cast<SourceLanguage>(ISourceLanguageC);
 constexpr SourceLanguage SourceLanguageC99 =
     static_cast<SourceLanguage>(ISourceLanguageC99);
 constexpr SourceLanguage SourceLanguageC11 =
     static_cast<SourceLanguage>(ISourceLanguageC11);
+constexpr SourceLanguage SourceLanguageC17 =
+    static_cast<SourceLanguage>(ISourceLanguageC17);
 constexpr SourceLanguage SourceLanguageCPP =
     static_cast<SourceLanguage>(ISourceLanguageCPP);
 constexpr SourceLanguage SourceLanguageCPP03 =
index 19ab5719fd5576716524e615ed83e063e3a797fb..c1b3d8ca77961c988ff4c4bb528de8a96e253b29 100644 (file)
 ; RUN: sed -e 's/INPUT_LANGUAGE/DW_LANG_C_plus_plus_14/' %s | llvm-as - -o %t.bc
 ; RUN: llvm-spirv --spirv-debug-info-version=nonsemantic-shader-200 -spirv-text %t.bc -o - | FileCheck %s --check-prefix=CHECK-CPP14
 
-; CHECK-C99: Constant [[#]] [[#Constant:]] 109
+; CHECK-C99: Constant [[#]] [[#Constant:]] 211
 ; CHECK-C99: DebugCompileUnit [[#]] [[#]] [[#]] [[#Constant]]
 ; CHECK-OPENCLC: Constant [[#]] [[#Constant:]] 3
 ; CHECK-OPENCLC: DebugCompileUnit [[#]] [[#]] [[#]] [[#Constant]]
-; CHECK-CPP: Constant [[#]] [[#Constant:]] 111
+; CHECK-CPP: Constant [[#]] [[#Constant:]] 214
 ; CHECK-CPP: DebugCompileUnit [[#]] [[#]] [[#]] [[#Constant]]
-; CHECK-CPP14: Constant [[#]] [[#Constant:]] 114
+; CHECK-CPP14: Constant [[#]] [[#Constant:]] 217
 ; CHECK-CPP14: DebugCompileUnit [[#]] [[#]] [[#]] [[#Constant]]
 
 target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"