summaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGenPrepare.cpp
diff options
context:
space:
mode:
authorJeremy Morse <jeremy.morse@sony.com>2024-03-19 16:36:29 +0000
committerGitHub <noreply@github.com>2024-03-19 16:36:29 +0000
commitb9d83eff254668385fd3d9d5ddb5af762f378d7f (patch)
treefa2871855343dcb93484267f2c9abda6561e8f7d /llvm/lib/CodeGen/CodeGenPrepare.cpp
parentc63a291c64852a086cb447c7078e5312aac1a05c (diff)
[NFC][RemoveDIs] Use iterators for insertion at various call-sites (#84736)
These are the last remaining "trivial" changes to passes that use Instruction pointers for insertion. All of this should be NFC, it's just changing the spelling of how we identify a position. In one or two locations, I'm also switching uses of getNextNode etc to using std::next with iterators. This too should be NFC. --------- Merged by: Stephen Tozer <stephen.tozer@sony.com>
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
-rw-r--r--llvm/lib/CodeGen/CodeGenPrepare.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp
index 921a5b710683..e7bf656491da 100644
--- a/llvm/lib/CodeGen/CodeGenPrepare.cpp
+++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp
@@ -2057,9 +2057,9 @@ static bool sinkAndCmp0Expression(Instruction *AndI, const TargetLowering &TLI,
// Keep the 'and' in the same place if the use is already in the same block.
Instruction *InsertPt =
User->getParent() == AndI->getParent() ? AndI : User;
- Instruction *InsertedAnd =
- BinaryOperator::Create(Instruction::And, AndI->getOperand(0),
- AndI->getOperand(1), "", InsertPt);
+ Instruction *InsertedAnd = BinaryOperator::Create(
+ Instruction::And, AndI->getOperand(0), AndI->getOperand(1), "",
+ InsertPt->getIterator());
// Propagate the debug info.
InsertedAnd->setDebugLoc(AndI->getDebugLoc());
@@ -4153,9 +4153,10 @@ private:
if (SelectInst *CurrentSelect = dyn_cast<SelectInst>(Current)) {
// Is it OK to get metadata from OrigSelect?!
// Create a Select placeholder with dummy value.
- SelectInst *Select = SelectInst::Create(
- CurrentSelect->getCondition(), Dummy, Dummy,
- CurrentSelect->getName(), CurrentSelect, CurrentSelect);
+ SelectInst *Select =
+ SelectInst::Create(CurrentSelect->getCondition(), Dummy, Dummy,
+ CurrentSelect->getName(),
+ CurrentSelect->getIterator(), CurrentSelect);
Map[Current] = Select;
ST.insertNewSelect(Select);
// We are interested in True and False values.
@@ -6466,8 +6467,8 @@ bool CodeGenPrepare::optimizePhiType(
ValMap[D] = D->getOperand(0);
DeletedInstrs.insert(D);
} else {
- ValMap[D] =
- new BitCastInst(D, ConvertTy, D->getName() + ".bc", D->getNextNode());
+ BasicBlock::iterator insertPt = std::next(D->getIterator());
+ ValMap[D] = new BitCastInst(D, ConvertTy, D->getName() + ".bc", insertPt);
}
}
for (PHINode *Phi : PhiNodes)
@@ -6487,8 +6488,8 @@ bool CodeGenPrepare::optimizePhiType(
DeletedInstrs.insert(U);
replaceAllUsesWith(U, ValMap[U->getOperand(0)], FreshBBs, IsHugeFunc);
} else {
- U->setOperand(0,
- new BitCastInst(ValMap[U->getOperand(0)], PhiTy, "bc", U));
+ U->setOperand(0, new BitCastInst(ValMap[U->getOperand(0)], PhiTy, "bc",
+ U->getIterator()));
}
}
@@ -8384,7 +8385,7 @@ bool CodeGenPrepare::optimizeInst(Instruction *I, ModifyDT &ModifiedDT) {
if (GEPI->hasAllZeroIndices()) {
/// The GEP operand must be a pointer, so must its result -> BitCast
Instruction *NC = new BitCastInst(GEPI->getOperand(0), GEPI->getType(),
- GEPI->getName(), GEPI);
+ GEPI->getName(), GEPI->getIterator());
NC->setDebugLoc(GEPI->getDebugLoc());
replaceAllUsesWith(GEPI, NC, FreshBBs, IsHugeFunc);
RecursivelyDeleteTriviallyDeadInstructions(
@@ -8416,7 +8417,7 @@ bool CodeGenPrepare::optimizeInst(Instruction *I, ModifyDT &ModifiedDT) {
isa<ConstantPointerNull>(Op1);
if (Const0 || Const1) {
if (!Const0 || !Const1) {
- auto *F = new FreezeInst(Const0 ? Op1 : Op0, "", CmpI);
+ auto *F = new FreezeInst(Const0 ? Op1 : Op0, "", CmpI->getIterator());
F->takeName(FI);
CmpI->setOperand(Const0 ? 1 : 0, F);
}