[llvm] 9cf5254 - [llvm] Remove some uses of isOpaqueOrPointeeTypeEquals() (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 18 02:18:43 PDT 2023
Author: Nikita Popov
Date: 2023-07-18T11:18:31+02:00
New Revision: 9cf5254878ca13bc55a988a4bb370de6c3d791f3
URL: https://github.com/llvm/llvm-project/commit/9cf5254878ca13bc55a988a4bb370de6c3d791f3
DIFF: https://github.com/llvm/llvm-project/commit/9cf5254878ca13bc55a988a4bb370de6c3d791f3.diff
LOG: [llvm] Remove some uses of isOpaqueOrPointeeTypeEquals() (NFC)
Added:
Modified:
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
llvm/include/llvm/IR/InstrTypes.h
llvm/include/llvm/IR/Instructions.h
llvm/lib/Analysis/LoopAccessAnalysis.cpp
llvm/lib/IR/Constants.cpp
llvm/lib/IR/Instructions.cpp
llvm/lib/Transforms/Coroutines/CoroSplit.cpp
llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
llvm/lib/Transforms/Scalar/Scalarizer.cpp
llvm/lib/Transforms/Utils/InlineFunction.cpp
llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
index b34eaa3d6f7dd7..4ab33995618213 100644
--- a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
+++ b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
@@ -990,9 +990,6 @@ class TargetTransformInfoImplCRTPBase : public TargetTransformInfoImplBase {
ArrayRef<const Value *> Operands, Type *AccessType,
TTI::TargetCostKind CostKind) {
assert(PointeeType && Ptr && "can't get GEPCost of nullptr");
- assert(cast<PointerType>(Ptr->getType()->getScalarType())
- ->isOpaqueOrPointeeTypeMatches(PointeeType) &&
- "explicit pointee type doesn't match operand's pointee type");
auto *BaseGV = dyn_cast<GlobalValue>(Ptr->stripPointerCasts());
bool HasBaseReg = (BaseGV == nullptr);
diff --git a/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h b/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
index cca04ba74c3160..011f47223435f1 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+++ b/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
@@ -1188,10 +1188,7 @@ class OpenMPIRBuilder {
AtomicReductionGenTy AtomicReductionGen)
: ElementType(ElementType), Variable(Variable),
PrivateVariable(PrivateVariable), ReductionGen(ReductionGen),
- AtomicReductionGen(AtomicReductionGen) {
- assert(cast<PointerType>(Variable->getType())
- ->isOpaqueOrPointeeTypeMatches(ElementType) && "Invalid elem type");
- }
+ AtomicReductionGen(AtomicReductionGen) {}
/// Reduction element type, must match pointee type of variable.
Type *ElementType;
diff --git a/llvm/include/llvm/IR/InstrTypes.h b/llvm/include/llvm/IR/InstrTypes.h
index a48852edb46e62..53d91ebc592b8c 100644
--- a/llvm/include/llvm/IR/InstrTypes.h
+++ b/llvm/include/llvm/IR/InstrTypes.h
@@ -1461,7 +1461,6 @@ class CallBase : public Instruction {
/// type.
void setCalledFunction(FunctionType *FTy, Value *Fn) {
this->FTy = FTy;
- assert(cast<PointerType>(Fn->getType())->isOpaqueOrPointeeTypeMatches(FTy));
// This function doesn't mutate the return type, only the function
// type. Seems broken, but I'm just gonna stick an assert in for now.
assert(getType() == FTy->getReturnType());
diff --git a/llvm/include/llvm/IR/Instructions.h b/llvm/include/llvm/IR/Instructions.h
index d7b1568ea2c01c..a71d7d0529f146 100644
--- a/llvm/include/llvm/IR/Instructions.h
+++ b/llvm/include/llvm/IR/Instructions.h
@@ -969,8 +969,6 @@ class GetElementPtrInst : public Instruction {
Instruction *InsertBefore = nullptr) {
unsigned Values = 1 + unsigned(IdxList.size());
assert(PointeeType && "Must specify element type");
- assert(cast<PointerType>(Ptr->getType()->getScalarType())
- ->isOpaqueOrPointeeTypeMatches(PointeeType));
return new (Values) GetElementPtrInst(PointeeType, Ptr, IdxList, Values,
NameStr, InsertBefore);
}
@@ -981,8 +979,6 @@ class GetElementPtrInst : public Instruction {
BasicBlock *InsertAtEnd) {
unsigned Values = 1 + unsigned(IdxList.size());
assert(PointeeType && "Must specify element type");
- assert(cast<PointerType>(Ptr->getType()->getScalarType())
- ->isOpaqueOrPointeeTypeMatches(PointeeType));
return new (Values) GetElementPtrInst(PointeeType, Ptr, IdxList, Values,
NameStr, InsertAtEnd);
}
@@ -1018,8 +1014,6 @@ class GetElementPtrInst : public Instruction {
void setResultElementType(Type *Ty) { ResultElementType = Ty; }
Type *getResultElementType() const {
- assert(cast<PointerType>(getType()->getScalarType())
- ->isOpaqueOrPointeeTypeMatches(ResultElementType));
return ResultElementType;
}
@@ -1165,8 +1159,6 @@ GetElementPtrInst::GetElementPtrInst(Type *PointeeType, Value *Ptr,
Values, InsertBefore),
SourceElementType(PointeeType),
ResultElementType(getIndexedType(PointeeType, IdxList)) {
- assert(cast<PointerType>(getType()->getScalarType())
- ->isOpaqueOrPointeeTypeMatches(ResultElementType));
init(Ptr, IdxList, NameStr);
}
@@ -1179,8 +1171,6 @@ GetElementPtrInst::GetElementPtrInst(Type *PointeeType, Value *Ptr,
Values, InsertAtEnd),
SourceElementType(PointeeType),
ResultElementType(getIndexedType(PointeeType, IdxList)) {
- assert(cast<PointerType>(getType()->getScalarType())
- ->isOpaqueOrPointeeTypeMatches(ResultElementType));
init(Ptr, IdxList, NameStr);
}
diff --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
index 64f5baa5ad152d..8b6c9ebb2b6033 100644
--- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp
+++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
@@ -1470,10 +1470,6 @@ std::optional<int> llvm::getPointersDiff(Type *ElemTyA, Value *PtrA,
ScalarEvolution &SE, bool StrictCheck,
bool CheckType) {
assert(PtrA && PtrB && "Expected non-nullptr pointers.");
- assert(cast<PointerType>(PtrA->getType())
- ->isOpaqueOrPointeeTypeMatches(ElemTyA) && "Wrong PtrA type");
- assert(cast<PointerType>(PtrB->getType())
- ->isOpaqueOrPointeeTypeMatches(ElemTyB) && "Wrong PtrB type");
// Make sure that A and B are
diff erent pointers.
if (PtrA == PtrB)
diff --git a/llvm/lib/IR/Constants.cpp b/llvm/lib/IR/Constants.cpp
index 23af3c43b504ac..9c8d044e502902 100644
--- a/llvm/lib/IR/Constants.cpp
+++ b/llvm/lib/IR/Constants.cpp
@@ -2383,7 +2383,6 @@ Constant *ConstantExpr::getGetElementPtr(Type *Ty, Constant *C,
PointerType *OrigPtrTy = cast<PointerType>(C->getType()->getScalarType());
assert(Ty && "Must specify element type");
assert(isSupportedGetElementPtr(Ty) && "Element type is unsupported!");
- assert(OrigPtrTy->isOpaqueOrPointeeTypeMatches(Ty));
if (Constant *FC =
ConstantFoldGetElementPtr(Ty, C, InBounds, InRangeIndex, Idxs))
diff --git a/llvm/lib/IR/Instructions.cpp b/llvm/lib/IR/Instructions.cpp
index 23bd16672aab96..cb0ac0f8eae6ff 100644
--- a/llvm/lib/IR/Instructions.cpp
+++ b/llvm/lib/IR/Instructions.cpp
@@ -1593,7 +1593,6 @@ LoadInst::LoadInst(Type *Ty, Value *Ptr, const Twine &Name, bool isVolatile,
Align Align, AtomicOrdering Order, SyncScope::ID SSID,
Instruction *InsertBef)
: UnaryInstruction(Ty, Load, Ptr, InsertBef) {
- assert(cast<PointerType>(Ptr->getType())->isOpaqueOrPointeeTypeMatches(Ty));
setVolatile(isVolatile);
setAlignment(Align);
setAtomic(Order, SSID);
@@ -1605,7 +1604,6 @@ LoadInst::LoadInst(Type *Ty, Value *Ptr, const Twine &Name, bool isVolatile,
Align Align, AtomicOrdering Order, SyncScope::ID SSID,
BasicBlock *InsertAE)
: UnaryInstruction(Ty, Load, Ptr, InsertAE) {
- assert(cast<PointerType>(Ptr->getType())->isOpaqueOrPointeeTypeMatches(Ty));
setVolatile(isVolatile);
setAlignment(Align);
setAtomic(Order, SSID);
@@ -1621,9 +1619,6 @@ void StoreInst::AssertOK() {
assert(getOperand(0) && getOperand(1) && "Both operands must be non-null!");
assert(getOperand(1)->getType()->isPointerTy() &&
"Ptr must have pointer type!");
- assert(cast<PointerType>(getOperand(1)->getType())
- ->isOpaqueOrPointeeTypeMatches(getOperand(0)->getType()) &&
- "Ptr must be a pointer to Val type!");
}
StoreInst::StoreInst(Value *val, Value *addr, Instruction *InsertBefore)
@@ -1703,12 +1698,6 @@ void AtomicCmpXchgInst::Init(Value *Ptr, Value *Cmp, Value *NewVal,
"All operands must be non-null!");
assert(getOperand(0)->getType()->isPointerTy() &&
"Ptr must have pointer type!");
- assert(cast<PointerType>(getOperand(0)->getType())
- ->isOpaqueOrPointeeTypeMatches(getOperand(1)->getType()) &&
- "Ptr must be a pointer to Cmp type!");
- assert(cast<PointerType>(getOperand(0)->getType())
- ->isOpaqueOrPointeeTypeMatches(getOperand(2)->getType()) &&
- "Ptr must be a pointer to NewVal type!");
assert(getOperand(1)->getType() == getOperand(2)->getType() &&
"Cmp type and NewVal type must be same!");
}
@@ -1761,9 +1750,6 @@ void AtomicRMWInst::Init(BinOp Operation, Value *Ptr, Value *Val,
"All operands must be non-null!");
assert(getOperand(0)->getType()->isPointerTy() &&
"Ptr must have pointer type!");
- assert(cast<PointerType>(getOperand(0)->getType())
- ->isOpaqueOrPointeeTypeMatches(getOperand(1)->getType()) &&
- "Ptr must be a pointer to Val type!");
assert(Ordering != AtomicOrdering::NotAtomic &&
"AtomicRMW instructions must be atomic!");
}
diff --git a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
index 07b879ff417437..358f72d63fb82c 100644
--- a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
+++ b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
@@ -634,20 +634,13 @@ static void replaceSwiftErrorOps(Function &F, coro::Shape &Shape,
return;
Value *CachedSlot = nullptr;
auto getSwiftErrorSlot = [&](Type *ValueTy) -> Value * {
- if (CachedSlot) {
- assert(cast<PointerType>(CachedSlot->getType())
- ->isOpaqueOrPointeeTypeMatches(ValueTy) &&
- "multiple swifterror slots in function with
diff erent types");
+ if (CachedSlot)
return CachedSlot;
- }
// Check if the function has a swifterror argument.
for (auto &Arg : F.args()) {
if (Arg.isSwiftError()) {
CachedSlot = &Arg;
- assert(cast<PointerType>(Arg.getType())
- ->isOpaqueOrPointeeTypeMatches(ValueTy) &&
- "swifterror argument does not have expected type");
return &Arg;
}
}
diff --git a/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
index 9d24c155f50c39..ce35eefb63fa25 100644
--- a/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
+++ b/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
@@ -813,8 +813,6 @@ bool ThreadSanitizer::instrumentAtomic(Instruction *I, const DataLayout &DL) {
int ThreadSanitizer::getMemoryAccessFuncIndex(Type *OrigTy, Value *Addr,
const DataLayout &DL) {
assert(OrigTy->isSized());
- assert(
- cast<PointerType>(Addr->getType())->isOpaqueOrPointeeTypeMatches(OrigTy));
uint32_t TypeSize = DL.getTypeStoreSizeInBits(OrigTy);
if (TypeSize != 8 && TypeSize != 16 &&
TypeSize != 32 && TypeSize != 64 && TypeSize != 128) {
diff --git a/llvm/lib/Transforms/Scalar/Scalarizer.cpp b/llvm/lib/Transforms/Scalar/Scalarizer.cpp
index 6190392a7e1b40..ec8e5c2eecc2e7 100644
--- a/llvm/lib/Transforms/Scalar/Scalarizer.cpp
+++ b/llvm/lib/Transforms/Scalar/Scalarizer.cpp
@@ -374,14 +374,7 @@ INITIALIZE_PASS_END(ScalarizerLegacyPass, "scalarizer",
Scatterer::Scatterer(BasicBlock *bb, BasicBlock::iterator bbi, Value *v,
const VectorSplit &VS, ValueVector *cachePtr)
: BB(bb), BBI(bbi), V(v), VS(VS), CachePtr(cachePtr) {
- Type *Ty = V->getType();
- if (Ty->isPointerTy()) {
- assert(cast<PointerType>(Ty)->isOpaqueOrPointeeTypeMatches(VS.VecTy) &&
- "Pointer element type mismatch");
- IsPointer = true;
- } else {
- IsPointer = false;
- }
+ IsPointer = V->getType()->isPointerTy();
if (!CachePtr) {
Tmp.resize(VS.NumFragments, nullptr);
} else {
diff --git a/llvm/lib/Transforms/Utils/InlineFunction.cpp b/llvm/lib/Transforms/Utils/InlineFunction.cpp
index dd5380b5909892..23144c06568424 100644
--- a/llvm/lib/Transforms/Utils/InlineFunction.cpp
+++ b/llvm/lib/Transforms/Utils/InlineFunction.cpp
@@ -1480,8 +1480,6 @@ static Value *HandleByValArgument(Type *ByValType, Value *Arg,
const Function *CalledFunc,
InlineFunctionInfo &IFI,
MaybeAlign ByValAlignment) {
- assert(cast<PointerType>(Arg->getType())
- ->isOpaqueOrPointeeTypeMatches(ByValType));
Function *Caller = TheCall->getFunction();
const DataLayout &DL = Caller->getParent()->getDataLayout();
diff --git a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
index dd1c958cff8a70..389b3793170b35 100644
--- a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+++ b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
@@ -1180,8 +1180,6 @@ TEST_F(OpenMPIRBuilderTest, ParallelForwardAsPointers) {
Type *Arg2Type = OutlinedFn->getArg(2)->getType();
EXPECT_TRUE(Arg2Type->isPointerTy());
- EXPECT_TRUE(
- cast<PointerType>(Arg2Type)->isOpaqueOrPointeeTypeMatches(ArgStructTy));
}
TEST_F(OpenMPIRBuilderTest, CanonicalLoopSimple) {
@@ -4795,10 +4793,6 @@ TEST_F(OpenMPIRBuilderTest, CreateMapperAllocas) {
EXPECT_TRUE(MapperAllocas.ArgsBase->getAllocatedType()
->getArrayElementType()
->isPointerTy());
- EXPECT_TRUE(
- cast<PointerType>(
- MapperAllocas.ArgsBase->getAllocatedType()->getArrayElementType())
- ->isOpaqueOrPointeeTypeMatches(Builder.getInt8Ty()));
EXPECT_TRUE(MapperAllocas.Args->getAllocatedType()->isArrayTy());
ArrType = dyn_cast<ArrayType>(MapperAllocas.Args->getAllocatedType());
@@ -4806,9 +4800,6 @@ TEST_F(OpenMPIRBuilderTest, CreateMapperAllocas) {
EXPECT_TRUE(MapperAllocas.Args->getAllocatedType()
->getArrayElementType()
->isPointerTy());
- EXPECT_TRUE(cast<PointerType>(
- MapperAllocas.Args->getAllocatedType()->getArrayElementType())
- ->isOpaqueOrPointeeTypeMatches(Builder.getInt8Ty()));
EXPECT_TRUE(MapperAllocas.ArgSizes->getAllocatedType()->isArrayTy());
ArrType = dyn_cast<ArrayType>(MapperAllocas.ArgSizes->getAllocatedType());
More information about the llvm-commits
mailing list