[llvm] b5669d6 - [MergeFunctions] Remove unnecessary bitcasts (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 23 05:20:04 PDT 2023
Author: Nikita Popov
Date: 2023-08-23T14:19:56+02:00
New Revision: b5669d6fa9607ecf00fee88092195848fb12fea9
URL: https://github.com/llvm/llvm-project/commit/b5669d6fa9607ecf00fee88092195848fb12fea9
DIFF: https://github.com/llvm/llvm-project/commit/b5669d6fa9607ecf00fee88092195848fb12fea9.diff
LOG: [MergeFunctions] Remove unnecessary bitcasts (NFC)
Added:
Modified:
llvm/lib/Transforms/IPO/MergeFunctions.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/IPO/MergeFunctions.cpp b/llvm/lib/Transforms/IPO/MergeFunctions.cpp
index 4a64580b3cb329..312a8df440bf1e 100644
--- a/llvm/lib/Transforms/IPO/MergeFunctions.cpp
+++ b/llvm/lib/Transforms/IPO/MergeFunctions.cpp
@@ -440,7 +440,6 @@ bool MergeFunctions::runOnModule(Module &M) {
// Replace direct callers of Old with New.
void MergeFunctions::replaceDirectCallers(Function *Old, Function *New) {
- Constant *BitcastNew = ConstantExpr::getBitCast(New, Old->getType());
for (Use &U : llvm::make_early_inc_range(Old->uses())) {
CallBase *CB = dyn_cast<CallBase>(U.getUser());
if (CB && CB->isCallee(&U)) {
@@ -449,7 +448,7 @@ void MergeFunctions::replaceDirectCallers(Function *Old, Function *New) {
// type congruences in byval(), in which case we need to keep the byval
// type of the call-site, not the callee function.
remove(CB->getFunction());
- U.set(BitcastNew);
+ U.set(New);
}
}
}
@@ -740,10 +739,9 @@ static bool canCreateAliasFor(Function *F) {
// Replace G with an alias to F (deleting function G)
void MergeFunctions::writeAlias(Function *F, Function *G) {
- Constant *BitcastF = ConstantExpr::getBitCast(F, G->getType());
PointerType *PtrType = G->getType();
auto *GA = GlobalAlias::create(G->getValueType(), PtrType->getAddressSpace(),
- G->getLinkage(), "", BitcastF, G->getParent());
+ G->getLinkage(), "", F, G->getParent());
const MaybeAlign FAlign = F->getAlign();
const MaybeAlign GAlign = G->getAlign();
@@ -824,9 +822,8 @@ void MergeFunctions::mergeTwoFunctions(Function *F, Function *G) {
// to replace a key in ValueMap<GlobalValue *> with a non-global.
GlobalNumbers.erase(G);
// If G's address is not significant, replace it entirely.
- Constant *BitcastF = ConstantExpr::getBitCast(F, G->getType());
removeUsers(G);
- G->replaceAllUsesWith(BitcastF);
+ G->replaceAllUsesWith(F);
} else {
// Redirect direct callers of G to F. (See note on MergeFunctionsPDI
// above).
More information about the llvm-commits
mailing list