diff options
| author | Derek Schuff <dschuff@google.com> | 2016-04-04 17:09:25 +0000 |
|---|---|---|
| committer | Derek Schuff <dschuff@google.com> | 2016-04-04 17:09:25 +0000 |
| commit | 1dbf7a571f39c07d8c301ffa29bb9c27d8417539 (patch) | |
| tree | 1112ae62d73ab1c5efa0b5b0cd4f15335c6cae5b /llvm/lib/Target/Mips | |
| parent | cdaf1df6579f0b932db4f4a29b176bab74305ae5 (diff) | |
| download | bcm5719-llvm-1dbf7a571f39c07d8c301ffa29bb9c27d8417539.tar.gz bcm5719-llvm-1dbf7a571f39c07d8c301ffa29bb9c27d8417539.zip | |
Add MachineFunctionProperty checks for AllVRegsAllocated for target passes
Summary:
This adds the same checks that were added in r264593 to all
target-specific passes that run after register allocation.
Reviewers: qcolombet
Subscribers: jyknight, dsanders, llvm-commits
Differential Revision: http://reviews.llvm.org/D18525
llvm-svn: 265313
Diffstat (limited to 'llvm/lib/Target/Mips')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsConstantIslandPass.cpp | 6 | ||||
| -rw-r--r-- | llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp | 5 | ||||
| -rw-r--r-- | llvm/lib/Target/Mips/MipsHazardSchedule.cpp | 5 | ||||
| -rw-r--r-- | llvm/lib/Target/Mips/MipsLongBranch.cpp | 5 |
4 files changed, 20 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp b/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp index cddeb9cb6b2..a3ea1526629 100644 --- a/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp +++ b/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp @@ -375,6 +375,11 @@ namespace { bool runOnMachineFunction(MachineFunction &F) override; + MachineFunctionProperties getRequiredProperties() const override { + return MachineFunctionProperties().set( + MachineFunctionProperties::Property::AllVRegsAllocated); + } + void doInitialPlacement(std::vector<MachineInstr*> &CPEMIs); CPEntry *findConstPoolEntry(unsigned CPI, const MachineInstr *CPEMI); unsigned getCPELogAlign(const MachineInstr *CPEMI); @@ -1710,4 +1715,3 @@ void MipsConstantIslands::prescanForConstants() { } } } - diff --git a/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp b/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp index fe53cad56a7..a40b51cb19f 100644 --- a/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp +++ b/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp @@ -189,6 +189,11 @@ namespace { return Changed; } + MachineFunctionProperties getRequiredProperties() const override { + return MachineFunctionProperties().set( + MachineFunctionProperties::Property::AllVRegsAllocated); + } + void getAnalysisUsage(AnalysisUsage &AU) const override { AU.addRequired<MachineBranchProbabilityInfo>(); MachineFunctionPass::getAnalysisUsage(AU); diff --git a/llvm/lib/Target/Mips/MipsHazardSchedule.cpp b/llvm/lib/Target/Mips/MipsHazardSchedule.cpp index 28f007da042..e15424e9fb7 100644 --- a/llvm/lib/Target/Mips/MipsHazardSchedule.cpp +++ b/llvm/lib/Target/Mips/MipsHazardSchedule.cpp @@ -75,6 +75,11 @@ public: bool runOnMachineFunction(MachineFunction &F) override; + MachineFunctionProperties getRequiredProperties() const override { + return MachineFunctionProperties().set( + MachineFunctionProperties::Property::AllVRegsAllocated); + } + private: static char ID; }; diff --git a/llvm/lib/Target/Mips/MipsLongBranch.cpp b/llvm/lib/Target/Mips/MipsLongBranch.cpp index 49fb99a8ec4..db11291a4df 100644 --- a/llvm/lib/Target/Mips/MipsLongBranch.cpp +++ b/llvm/lib/Target/Mips/MipsLongBranch.cpp @@ -73,6 +73,11 @@ namespace { bool runOnMachineFunction(MachineFunction &F) override; + MachineFunctionProperties getRequiredProperties() const override { + return MachineFunctionProperties().set( + MachineFunctionProperties::Property::AllVRegsAllocated); + } + private: void splitMBB(MachineBasicBlock *MBB); void initMBBInfo(); |

