mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Pool-allocation for MachineInstrs, MachineBasicBlocks, and
MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53212 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -65,10 +65,12 @@ class PPCInstrInfo : public TargetInstrInfoImpl {
|
||||
PPCTargetMachine &TM;
|
||||
const PPCRegisterInfo RI;
|
||||
|
||||
bool StoreRegToStackSlot(unsigned SrcReg, bool isKill, int FrameIdx,
|
||||
bool StoreRegToStackSlot(MachineFunction &MF,
|
||||
unsigned SrcReg, bool isKill, int FrameIdx,
|
||||
const TargetRegisterClass *RC,
|
||||
SmallVectorImpl<MachineInstr*> &NewMIs) const;
|
||||
void LoadRegFromStackSlot(unsigned DestReg, int FrameIdx,
|
||||
void LoadRegFromStackSlot(MachineFunction &MF,
|
||||
unsigned DestReg, int FrameIdx,
|
||||
const TargetRegisterClass *RC,
|
||||
SmallVectorImpl<MachineInstr*> &NewMIs) const;
|
||||
public:
|
||||
|
Reference in New Issue
Block a user