[llvm] [IRMover] Remove Visited set in type mapping (NFC) (PR #137329)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 25 06:34:09 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lto
Author: Nikita Popov (nikic)
<details>
<summary>Changes</summary>
LLVM no longer supports recursive types, so the Visited set is unnecessary.
---
Full diff: https://github.com/llvm/llvm-project/pull/137329.diff
1 Files Affected:
- (modified) llvm/lib/Linker/IRMover.cpp (+1-12)
``````````diff
diff --git a/llvm/lib/Linker/IRMover.cpp b/llvm/lib/Linker/IRMover.cpp
index 26a9a161a8fd7..98d69051c935a 100644
--- a/llvm/lib/Linker/IRMover.cpp
+++ b/llvm/lib/Linker/IRMover.cpp
@@ -80,7 +80,6 @@ class TypeMapTy : public ValueMapTypeRemapper {
/// Return the mapped type to use for the specified input type from the
/// source module.
Type *get(Type *SrcTy);
- Type *get(Type *SrcTy, SmallPtrSet<StructType *, 8> &Visited);
FunctionType *get(FunctionType *T) {
return cast<FunctionType>(get((Type *)T));
@@ -232,11 +231,6 @@ Error TypeMapTy::linkDefinedTypeBodies() {
}
Type *TypeMapTy::get(Type *Ty) {
- SmallPtrSet<StructType *, 8> Visited;
- return get(Ty, Visited);
-}
-
-Type *TypeMapTy::get(Type *Ty, SmallPtrSet<StructType *, 8> &Visited) {
// If we already have an entry for this type, return it.
Type **Entry = &MappedTypes[Ty];
if (*Entry)
@@ -252,11 +246,6 @@ Type *TypeMapTy::get(Type *Ty, SmallPtrSet<StructType *, 8> &Visited) {
"mapping to a source type");
}
#endif
-
- if (!Visited.insert(cast<StructType>(Ty)).second) {
- StructType *DTy = StructType::create(Ty->getContext());
- return *Entry = DTy;
- }
}
// If this is not a recursive type, then just map all of the elements and
@@ -272,7 +261,7 @@ Type *TypeMapTy::get(Type *Ty, SmallPtrSet<StructType *, 8> &Visited) {
bool AnyChange = false;
ElementTypes.resize(Ty->getNumContainedTypes());
for (unsigned I = 0, E = Ty->getNumContainedTypes(); I != E; ++I) {
- ElementTypes[I] = get(Ty->getContainedType(I), Visited);
+ ElementTypes[I] = get(Ty->getContainedType(I));
AnyChange |= ElementTypes[I] != Ty->getContainedType(I);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/137329
More information about the llvm-commits
mailing list