[IR] Handle opaque pointers in PtrToArgument mangling
authorNikita Popov <npopov@redhat.com>
Thu, 27 Jan 2022 11:36:25 +0000 (12:36 +0100)
committerNikita Popov <npopov@redhat.com>
Thu, 27 Jan 2022 11:36:25 +0000 (12:36 +0100)
It appears that this mangling type is currently unused. Make it
compatible with opaque pointers in case it becomes used again...

llvm/lib/IR/Function.cpp

index 72d8f9e..1e874d7 100644 (file)
@@ -1575,7 +1575,7 @@ static bool matchIntrinsicType(
       Type * ReferenceType = ArgTys[D.getArgumentNumber()];
       PointerType *ThisArgType = dyn_cast<PointerType>(Ty);
       return (!ThisArgType ||
-              ThisArgType->getPointerElementType() != ReferenceType);
+              !ThisArgType->isOpaqueOrPointeeTypeMatches(ReferenceType));
     }
     case IITDescriptor::PtrToElt: {
       if (D.getArgumentNumber() >= ArgTys.size())