[llvm] [DebugInfo][RemoveDIs] Find types hidden in DbgRecords (PR #106547)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 29 05:50:08 PDT 2024


================
@@ -88,6 +88,18 @@ void TypeFinder::run(const Module &M, bool onlyNamed) {
         for (const auto &MD : MDForInst)
           incorporateMDNode(MD.second);
         MDForInst.clear();
+
+        // Incorporate types hiding in variable-location information.
+        for (const auto &Dbg : I.getDbgRecordRange()) {
+          // Pick out records that have Values.
+          if (Dbg.getRecordKind() != DbgRecord::Kind::ValueKind)
+            continue;
+          const DbgVariableRecord &DVI =
+              static_cast<const DbgVariableRecord &>(Dbg);
----------------
nikic wrote:

Prefer dyn_cast?
```suggestion
          if (const DbgVariableRecord *DVI =
                  dyn_cast<const DbgVariableRecord>(Dbg)) {           
```

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


More information about the llvm-commits mailing list