[flang-commits] [flang] [flang] improve DITypeAttr caching with recursive derived types (PR #146543)
Abid Qadeer via flang-commits
flang-commits at lists.llvm.org
Wed Jul 2 09:25:47 PDT 2025
================
@@ -272,31 +271,127 @@ DebugTypeGenerator::getFieldSizeAndAlign(mlir::Type fieldTy) {
return std::pair{byteSize, byteAlign};
}
+mlir::LLVM::DITypeAttr DerivedTypeCache::lookup(mlir::Type type) {
+ auto iter = typeCache.find(type);
+ if (iter != typeCache.end()) {
+ if (iter->second.first) {
+ componentActiveRecursionLevels = iter->second.second;
+ }
+ return iter->second.first;
+ }
+ return nullptr;
+}
+
+DerivedTypeCache::ActiveLevels
+DerivedTypeCache::startTranslating(mlir::Type type,
+ mlir::LLVM::DITypeAttr placeHolder) {
+ derivedTypeDepth++;
+ if (!placeHolder)
+ return {};
+ typeCache[type] = std::pair<mlir::LLVM::DITypeAttr, ActiveLevels>(
+ placeHolder, {derivedTypeDepth});
+ return {};
+}
----------------
abidh wrote:
This function always returns an empty list.
https://github.com/llvm/llvm-project/pull/146543
More information about the flang-commits
mailing list