[llvm] f432a00 - [llvm] Remove no-op ptr-to-ptr bitcasts (NFC)
Youngsuk Kim via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 16 07:32:41 PST 2023
Author: Youngsuk Kim
Date: 2023-11-16T09:19:45-06:00
New Revision: f432a004c55b9996d48b70f88d8af96b56ccdf20
URL: https://github.com/llvm/llvm-project/commit/f432a004c55b9996d48b70f88d8af96b56ccdf20
DIFF: https://github.com/llvm/llvm-project/commit/f432a004c55b9996d48b70f88d8af96b56ccdf20.diff
LOG: [llvm] Remove no-op ptr-to-ptr bitcasts (NFC)
Opaque ptr cleanup effort (NFC).
Added:
Modified:
llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/CodeGen/SjLjEHPrepare.cpp
llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 76431e883b8d96d..788906a3d56c8b9 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -2899,11 +2899,7 @@ Error BitcodeReader::resolveGlobalAndIndirectSymbolInits() {
return error("Alias and aliasee types don't match");
GA->setAliasee(C);
} else if (auto *GI = dyn_cast<GlobalIFunc>(GV)) {
- Type *ResolverFTy =
- GlobalIFunc::getResolverFunctionType(GI->getValueType());
- // Transparently fix up the type for compatibility with older bitcode
- GI->setResolver(ConstantExpr::getBitCast(
- C, ResolverFTy->getPointerTo(GI->getAddressSpace())));
+ GI->setResolver(C);
} else {
return error("Expected an alias or an ifunc");
}
diff --git a/llvm/lib/CodeGen/SjLjEHPrepare.cpp b/llvm/lib/CodeGen/SjLjEHPrepare.cpp
index 0ee09c83565f57a..f98c096ccf08482 100644
--- a/llvm/lib/CodeGen/SjLjEHPrepare.cpp
+++ b/llvm/lib/CodeGen/SjLjEHPrepare.cpp
@@ -218,8 +218,7 @@ Value *SjLjEHPrepare::setupFunctionContext(Function &F,
Value *PersonalityFn = F.getPersonalityFn();
Value *PersonalityFieldPtr = Builder.CreateConstGEP2_32(
FunctionContextTy, FuncCtx, 0, 3, "pers_fn_gep");
- Builder.CreateStore(Builder.CreateBitCast(PersonalityFn, Builder.getPtrTy()),
- PersonalityFieldPtr, /*isVolatile=*/true);
+ Builder.CreateStore(PersonalityFn, PersonalityFieldPtr, /*isVolatile=*/true);
// LSDA address
Value *LSDA = Builder.CreateCall(LSDAAddrFn, {}, "lsda_addr");
@@ -417,8 +416,7 @@ bool SjLjEHPrepare::setupEntryBlockAndCallSites(Function &F) {
// Store a pointer to the function context so that the back-end will know
// where to look for it.
- Value *FuncCtxArg = Builder.CreateBitCast(FuncCtx, Builder.getPtrTy());
- Builder.CreateCall(FuncCtxFn, FuncCtxArg);
+ Builder.CreateCall(FuncCtxFn, FuncCtx);
// At this point, we are all set up, update the invoke instructions to mark
// their call_site values.
diff --git a/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp b/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
index 134727944e4255e..c75de8687879d72 100644
--- a/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
+++ b/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
@@ -446,11 +446,6 @@ static void createMemSetLoop(Instruction *InsertBefore, Value *DstAddr,
IRBuilder<> Builder(OrigBB->getTerminator());
- // Cast pointer to the type of value getting stored
- unsigned dstAS = cast<PointerType>(DstAddr->getType())->getAddressSpace();
- DstAddr = Builder.CreateBitCast(DstAddr,
- PointerType::get(SetValue->getType(), dstAS));
-
Builder.CreateCondBr(
Builder.CreateICmpEQ(ConstantInt::get(TypeOfCopyLen, 0), CopyLen), NewBB,
LoopBB);
More information about the llvm-commits
mailing list