Author: accauble
Date: 2026-02-16T18:09:04Z
New Revision: a33db04a63f4aa03178905529e01c4dcd5412cf8

URL: 
https://github.com/llvm/llvm-project/commit/a33db04a63f4aa03178905529e01c4dcd5412cf8
DIFF: 
https://github.com/llvm/llvm-project/commit/a33db04a63f4aa03178905529e01c4dcd5412cf8.diff

LOG: Add DW_LNAME_HIP (#180999)

In PR #89980, DW_LNAME_HIP was not added because of a value conflict
with DW_LNAME_Assembly. The value of DW_LNAME_HIP has been updated (see
https://dwarfstd.org/languages-v6.html). This commit adds DW_LNAME_HIP.
Tests added by that PR accommodates the new SourceLanguageName.

Added: 
    

Modified: 
    lldb/unittests/Target/LanguageTest.cpp
    llvm/include/llvm/BinaryFormat/Dwarf.def
    llvm/include/llvm/BinaryFormat/Dwarf.h
    llvm/lib/BinaryFormat/Dwarf.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/unittests/Target/LanguageTest.cpp 
b/lldb/unittests/Target/LanguageTest.cpp
index 720863bda68e4..f2e51a9e6cd87 100644
--- a/lldb/unittests/Target/LanguageTest.cpp
+++ b/lldb/unittests/Target/LanguageTest.cpp
@@ -26,11 +26,7 @@ TEST_F(LanguageTest, SourceLanguage_GetDescription) {
     auto lang_type = static_cast<lldb::LanguageType>(i);
     SourceLanguage lang(lang_type);
 
-    // eLanguageTypeHIP is not implemented as a DW_LNAME because of a conflict.
-    if (lang_type == lldb::eLanguageTypeHIP)
-      EXPECT_FALSE(lang);
-    else
-      EXPECT_TRUE(lang);
+    EXPECT_TRUE(lang);
   }
 
   EXPECT_EQ(SourceLanguage(eLanguageTypeC_plus_plus).GetDescription(),

diff  --git a/llvm/include/llvm/BinaryFormat/Dwarf.def 
b/llvm/include/llvm/BinaryFormat/Dwarf.def
index fbf22cc6f760b..75f1061c471c6 100644
--- a/llvm/include/llvm/BinaryFormat/Dwarf.def
+++ b/llvm/include/llvm/BinaryFormat/Dwarf.def
@@ -1072,7 +1072,6 @@ HANDLE_DW_LNAME(0x001a, Swift, "Swift", 0) // VVMM
 HANDLE_DW_LNAME(0x001b, UPC, "Unified Parallel C (UPC)", 0)
 HANDLE_DW_LNAME(0x001c, Zig, "Zig", 0)
 HANDLE_DW_LNAME(0x001d, Assembly, "Assembly", 0)
-// Conflict: HANDLE_DW_LNAME(0x001d, HIP, "HIP", 0)
 HANDLE_DW_LNAME(0x001e, C_sharp, "C#", 0)
 HANDLE_DW_LNAME(0x001f, Mojo, "Mojo", 0)
 HANDLE_DW_LNAME(0x0020, GLSL, "OpenGL Shading Language", 0) // VVMMPP
@@ -1084,6 +1083,7 @@ HANDLE_DW_LNAME(0x0025, SYCL, "SYCL", 0) // YYYYRR
 HANDLE_DW_LNAME(0x0026, Ruby, "Ruby", 0) // VVMMPP
 HANDLE_DW_LNAME(0x0027, Move, "Move", 0) // YYYYMM
 HANDLE_DW_LNAME(0x0028, Hylo, "Hylo", 0)
+HANDLE_DW_LNAME(0x0029, HIP, "HIP", 0)
 HANDLE_DW_LNAME(0x002c, Metal, "Metal", 0) // VVMMPP
 
 // DWARF attribute type encodings.

diff  --git a/llvm/include/llvm/BinaryFormat/Dwarf.h 
b/llvm/include/llvm/BinaryFormat/Dwarf.h
index 211c0269c1f29..f4583e5bff924 100644
--- a/llvm/include/llvm/BinaryFormat/Dwarf.h
+++ b/llvm/include/llvm/BinaryFormat/Dwarf.h
@@ -301,8 +301,8 @@ inline std::optional<SourceLanguage> 
toDW_LANG(SourceLanguageName name,
     return DW_LANG_Go;
   case DW_LNAME_Haskell:
     return DW_LANG_Haskell;
-  // case DW_LNAME_HIP:
-  //   return DW_LANG_HIP;
+  case DW_LNAME_HIP:
+    return DW_LANG_HIP;
   case DW_LNAME_Java:
     return DW_LANG_Java;
   case DW_LNAME_Julia:
@@ -430,7 +430,7 @@ toDW_LNAME(SourceLanguage language) {
   case DW_LANG_Haskell:
     return {{DW_LNAME_Haskell, 0}};
   case DW_LANG_HIP:
-    return {}; // return {{DW_LNAME_HIP, 0}};
+    return {{DW_LNAME_HIP, 0}};
   case DW_LANG_Java:
     return {{DW_LNAME_Java, 0}};
   case DW_LANG_Julia:

diff  --git a/llvm/lib/BinaryFormat/Dwarf.cpp b/llvm/lib/BinaryFormat/Dwarf.cpp
index a6c7e6afdbe7a..f31ca8caf886e 100644
--- a/llvm/lib/BinaryFormat/Dwarf.cpp
+++ b/llvm/lib/BinaryFormat/Dwarf.cpp
@@ -550,6 +550,7 @@ StringRef 
llvm::dwarf::LanguageDescription(dwarf::SourceLanguageName Name,
   case DW_LNAME_Dylan:
   case DW_LNAME_Go:
   case DW_LNAME_Haskell:
+  case DW_LNAME_HIP:
   case DW_LNAME_HLSL:
   case DW_LNAME_Java:
   case DW_LNAME_Julia:


        
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to