[llvm] [llvm-debuginfo-analyzer] Support DW_AT_byte_size and DW_TAG_module (PR #137228)

Carlos Alberto Enciso via llvm-commits llvm-commits at lists.llvm.org
Thu May 1 03:24:24 PDT 2025


================
@@ -826,6 +834,23 @@ class LVScopeTemplatePack final : public LVScope {
   void printExtra(raw_ostream &OS, bool Full = true) const override;
 };
 
+// Class to represent a DWARF Module.
+class LVScopeModule final : public LVScope {
+public:
+  LVScopeModule() : LVScope() {
+    setIsModule();
+    setIsLexicalBlock();
+  }
+  LVScopeModule(const LVScopeModule &) = delete;
+  LVScopeModule &operator=(const LVScopeModule &) = delete;
+  ~LVScopeModule() = default;
+
+  // Returns true if current scope is logically equal to the given 'Scope'.
+  bool equals(const LVScope *Scope) const override;
+
+  void printExtra(raw_ostream &OS, bool Full = true) const override;
+};
----------------
CarlosAlbertoEnciso wrote:

>From the included test case:
```
DW_TAG_module
      DW_AT_name	("DebugModule")
      DW_AT_LLVM_config_macros	("-DMODULES=0")
      DW_AT_LLVM_include_path	("/llvm/tools/clang/test/Modules/Inputs")
      DW_AT_LLVM_apinotes	("m.apinotes")
```
Any additional information that can be collected for the `LVScopeModule`?

https://github.com/llvm/llvm-project/pull/137228


More information about the llvm-commits mailing list