mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 22:04:55 +00:00
Don't insert branch hint lables that are never used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138630 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5a18f20dab
commit
54f8a9f54d
@ -181,18 +181,6 @@ void SPUFrameLowering::emitPrologue(MachineFunction &MF) const {
|
||||
MachineLocation FPSrc(MachineLocation::VirtualFP);
|
||||
Moves.push_back(MachineMove(ReadyLabel, FPDst, FPSrc));
|
||||
}
|
||||
} else {
|
||||
// This is a leaf function -- insert a branch hint iff there are
|
||||
// sufficient number instructions in the basic block. Note that
|
||||
// this is just a best guess based on the basic block's size.
|
||||
if (MBB.size() >= (unsigned) SPUFrameLowering::branchHintPenalty()) {
|
||||
MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
|
||||
dl = MBBI->getDebugLoc();
|
||||
|
||||
// Insert terminator label
|
||||
BuildMI(MBB, MBBI, dl, TII.get(SPU::PROLOG_LABEL))
|
||||
.addSym(MMI.getContext().CreateTempSymbol());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,17 +74,6 @@ namespace llvm {
|
||||
static int FItoStackOffset(int frame_index) {
|
||||
return frame_index * stackSlotSize();
|
||||
}
|
||||
//! Number of instructions required to overcome hint-for-branch latency
|
||||
/*!
|
||||
HBR (hint-for-branch) instructions can be inserted when, for example,
|
||||
we know that a given function is going to be called, such as printf(),
|
||||
in the control flow graph. HBRs are only inserted if a sufficient number
|
||||
of instructions occurs between the HBR and the target. Currently, HBRs
|
||||
take 6 cycles, ergo, the magic number 6.
|
||||
*/
|
||||
static int branchHintPenalty() {
|
||||
return 6;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user