mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Make non-module passes unconditionally added in the pass
manager for mips, and early exit if we don't want to do anything because of the current subtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213407 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
bd9c6c0773
commit
394e6d2b9e
@ -449,7 +449,8 @@ bool MipsLongBranch::runOnMachineFunction(MachineFunction &F) {
|
||||
const MipsInstrInfo *TII =
|
||||
static_cast<const MipsInstrInfo*>(TM.getInstrInfo());
|
||||
|
||||
if (TM.getSubtarget<MipsSubtarget>().inMips16Mode())
|
||||
const MipsSubtarget &STI = TM.getSubtarget<MipsSubtarget>();
|
||||
if (STI.inMips16Mode() || !STI.enableLongBranchPass())
|
||||
return false;
|
||||
if ((TM.getRelocationModel() == Reloc::PIC_) &&
|
||||
TM.getSubtarget<MipsSubtarget>().isABI_O32() &&
|
||||
|
@ -124,13 +124,9 @@ void MipsPassConfig::addIRPasses() {
|
||||
// Install an instruction selector pass using
|
||||
// the ISelDag to gen Mips code.
|
||||
bool MipsPassConfig::addInstSelector() {
|
||||
if (getMipsSubtarget().allowMixed16_32()) {
|
||||
addPass(createMipsModuleISelDag(getMipsTargetMachine()));
|
||||
addPass(createMips16ISelDag(getMipsTargetMachine()));
|
||||
addPass(createMipsSEISelDag(getMipsTargetMachine()));
|
||||
} else {
|
||||
addPass(createMipsISelDag(getMipsTargetMachine()));
|
||||
}
|
||||
addPass(createMipsModuleISelDag(getMipsTargetMachine()));
|
||||
addPass(createMips16ISelDag(getMipsTargetMachine()));
|
||||
addPass(createMipsSEISelDag(getMipsTargetMachine()));
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -166,15 +162,9 @@ void MipsTargetMachine::addAnalysisPasses(PassManagerBase &PM) {
|
||||
// print out the code after the passes.
|
||||
bool MipsPassConfig::addPreEmitPass() {
|
||||
MipsTargetMachine &TM = getMipsTargetMachine();
|
||||
const MipsSubtarget &Subtarget = TM.getSubtarget<MipsSubtarget>();
|
||||
addPass(createMipsDelaySlotFillerPass(TM));
|
||||
|
||||
if (Subtarget.enableLongBranchPass())
|
||||
addPass(createMipsLongBranchPass(TM));
|
||||
if (Subtarget.inMips16Mode() ||
|
||||
Subtarget.allowMixed16_32())
|
||||
addPass(createMipsConstantIslandPass(TM));
|
||||
|
||||
addPass(createMipsLongBranchPass(TM));
|
||||
addPass(createMipsConstantIslandPass(TM));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user