summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/DFAPacketizer.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-02-27 19:09:00 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-02-27 19:09:00 +0000
commit570228780990568f27288961f8ffe17de8f31e3d (patch)
treee42969d563156b8e2472f5c0b4e9711851660b13 /llvm/lib/CodeGen/DFAPacketizer.cpp
parentf9ab416d7066d75ae1e42c706687926840454726 (diff)
downloadbcm5719-llvm-570228780990568f27288961f8ffe17de8f31e3d.tar.gz
bcm5719-llvm-570228780990568f27288961f8ffe17de8f31e3d.zip
CodeGen: Update DFAPacketizer API to take MachineInstr&, NFC
In all but one case, change the DFAPacketizer API to take MachineInstr& instead of MachineInstr*. In DFAPacketizer::endPacket(), take MachineBasicBlock::iterator. Besides cleaning up the API, this is in search of PR26753. llvm-svn: 262142
Diffstat (limited to 'llvm/lib/CodeGen/DFAPacketizer.cpp')
-rw-r--r--llvm/lib/CodeGen/DFAPacketizer.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/llvm/lib/CodeGen/DFAPacketizer.cpp b/llvm/lib/CodeGen/DFAPacketizer.cpp
index c8a3d381242..a4ed61b98ce 100644
--- a/llvm/lib/CodeGen/DFAPacketizer.cpp
+++ b/llvm/lib/CodeGen/DFAPacketizer.cpp
@@ -135,16 +135,16 @@ void DFAPacketizer::reserveResources(const llvm::MCInstrDesc *MID) {
// Check if the resources occupied by a machine instruction are available
// in the current state.
-bool DFAPacketizer::canReserveResources(llvm::MachineInstr *MI) {
- const llvm::MCInstrDesc &MID = MI->getDesc();
+bool DFAPacketizer::canReserveResources(llvm::MachineInstr &MI) {
+ const llvm::MCInstrDesc &MID = MI.getDesc();
return canReserveResources(&MID);
}
// Reserve the resources occupied by a machine instruction and change the
// current state to reflect that change.
-void DFAPacketizer::reserveResources(llvm::MachineInstr *MI) {
- const llvm::MCInstrDesc &MID = MI->getDesc();
+void DFAPacketizer::reserveResources(llvm::MachineInstr &MI) {
+ const llvm::MCInstrDesc &MID = MI.getDesc();
reserveResources(&MID);
}
@@ -195,10 +195,11 @@ VLIWPacketizerList::~VLIWPacketizerList() {
// End the current packet, bundle packet instructions and reset DFA state.
-void VLIWPacketizerList::endPacket(MachineBasicBlock *MBB, MachineInstr *MI) {
+void VLIWPacketizerList::endPacket(MachineBasicBlock *MBB,
+ MachineBasicBlock::iterator MI) {
if (CurrentPacketMIs.size() > 1) {
- MachineInstr *MIFirst = CurrentPacketMIs.front();
- finalizeBundle(*MBB, MIFirst->getIterator(), MI->getIterator());
+ MachineInstr &MIFirst = *CurrentPacketMIs.front();
+ finalizeBundle(*MBB, MIFirst.getIterator(), MI.getInstrIterator());
}
CurrentPacketMIs.clear();
ResourceTracker->clearResources();
@@ -222,7 +223,7 @@ void VLIWPacketizerList::PacketizeMIs(MachineBasicBlock *MBB,
// The main packetizer loop.
for (; BeginItr != EndItr; ++BeginItr) {
- MachineInstr *MI = BeginItr;
+ MachineInstr &MI = *BeginItr;
initPacketizerState();
// End the current packet if needed.
@@ -235,7 +236,7 @@ void VLIWPacketizerList::PacketizeMIs(MachineBasicBlock *MBB,
if (ignorePseudoInstruction(MI, MBB))
continue;
- SUnit *SUI = MIToSUnit[MI];
+ SUnit *SUI = MIToSUnit[&MI];
assert(SUI && "Missing SUnit Info!");
// Ask DFA if machine resource is available for MI.
OpenPOWER on IntegriCloud