[PATCH] D127055: [ARM] Merge duplicated Thumb2SizeReduce code (NFC)
ksyx via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 4 13:14:50 PDT 2022
ksyx created this revision.
ksyx added a reviewer: efriedma.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
ksyx requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Merge duplicated code into procedure for code cleanness and readability and use `llvm::dbgs()` instead of `errs()` for consistency with other parts.
https://reviews.llvm.org/D127055
Files:
llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
Index: llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
===================================================================
--- llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
+++ llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
@@ -187,6 +187,9 @@
bool is2Addr, ARMCC::CondCodes Pred,
bool LiveCPSR, bool &HasCC, bool &CCDead);
+ void PerformReduce(MachineBasicBlock &MBB, MachineInstr *MI,
+ MachineInstrBuilder &MIB, llvm::Statistic &Counter);
+
bool ReduceLoadStore(MachineBasicBlock &MBB, MachineInstr *MI,
const ReduceEntry &Entry);
@@ -401,6 +404,21 @@
return true;
}
+
+void
+Thumb2SizeReduce::PerformReduce(MachineBasicBlock &MBB, MachineInstr *MI,
+ MachineInstrBuilder &MIB,
+ llvm::Statistic &Counter) {
+ // Transfer MI flags.
+ MIB.setMIFlags(MI->getFlags());
+
+ LLVM_DEBUG(llvm::dbgs() << "Converted 32-bit: " << *MI
+ << " to 16-bit: " << *MIB);
+
+ MBB.erase_instr(MI);
+ ++Counter;
+}
+
bool
Thumb2SizeReduce::ReduceLoadStore(MachineBasicBlock &MBB, MachineInstr *MI,
const ReduceEntry &Entry) {
@@ -618,14 +636,7 @@
// Transfer memoperands.
MIB.setMemRefs(MI->memoperands());
- // Transfer MI flags.
- MIB.setMIFlags(MI->getFlags());
-
- LLVM_DEBUG(errs() << "Converted 32-bit: " << *MI
- << " to 16-bit: " << *MIB);
-
- MBB.erase_instr(MI);
- ++NumLdSts;
+ PerformReduce(MBB, MI, MIB, NumLdSts);
return true;
}
@@ -666,14 +677,7 @@
.addImm(Imm / 4) // The tADDrSPi has an implied scale by four.
.add(predOps(ARMCC::AL));
- // Transfer MI flags.
- MIB.setMIFlags(MI->getFlags());
-
- LLVM_DEBUG(errs() << "Converted 32-bit: " << *MI
- << " to 16-bit: " << *MIB);
-
- MBB.erase_instr(MI);
- ++NumNarrows;
+ PerformReduce(MBB, MI, MIB, NumNarrows);
return true;
}
@@ -846,14 +850,7 @@
MIB.add(MI->getOperand(i));
}
- // Transfer MI flags.
- MIB.setMIFlags(MI->getFlags());
-
- LLVM_DEBUG(errs() << "Converted 32-bit: " << *MI
- << " to 16-bit: " << *MIB);
-
- MBB.erase_instr(MI);
- ++Num2Addrs;
+ PerformReduce(MBB, MI, MIB, Num2Addrs);
return true;
}
@@ -969,14 +966,7 @@
if (!MCID.isPredicable() && NewMCID.isPredicable())
MIB.add(predOps(ARMCC::AL));
- // Transfer MI flags.
- MIB.setMIFlags(MI->getFlags());
-
- LLVM_DEBUG(errs() << "Converted 32-bit: " << *MI
- << " to 16-bit: " << *MIB);
-
- MBB.erase_instr(MI);
- ++NumNarrows;
+ PerformReduce(MBB, MI, MIB, NumNarrows);
return true;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127055.434285.patch
Type: text/x-patch
Size: 2774 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220604/41e8d55a/attachment.bin>
More information about the llvm-commits
mailing list