Update documentation since it was misleading: make it clear that a

negative instruction count is returned if instructions are removed
from a basic block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9705 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alkis Evlogimenos 2003-11-04 23:07:00 +00:00
parent e668dab5b3
commit 4dad76cea0

View File

@ -186,8 +186,8 @@ public:
//===--------------------------------------------------------------------===// //===--------------------------------------------------------------------===//
// All basic block modifier functions below return the number of // All basic block modifier functions below return the number of
// instructions added to/removed from the basic block passed as their // instructions added to (negative if removed from) the basic block
// first argument. // passed as their first argument.
// //
// FIXME: This is only needed because we use a std::vector instead // FIXME: This is only needed because we use a std::vector instead
// of an ilist to keep MachineBasicBlock instructions. Inserting an // of an ilist to keep MachineBasicBlock instructions. Inserting an
@ -199,10 +199,10 @@ public:
// //
//===--------------------------------------------------------------------===// //===--------------------------------------------------------------------===//
// Interfaces used by the register allocator and stack frame manipulation // Interfaces used by the register allocator and stack frame
// passes to move data around between registers, immediates and memory. // manipulation passes to move data around between registers,
// The return value is the number of instructions added/deleted to/from the // immediates and memory. The return value is the number of
// basic block. // instructions added to (negative if removed from) the basic block.
// //
virtual int storeRegToStackSlot(MachineBasicBlock &MBB, virtual int storeRegToStackSlot(MachineBasicBlock &MBB,
@ -237,7 +237,7 @@ public:
/// for eliminating these instructions, replacing them with concrete /// for eliminating these instructions, replacing them with concrete
/// instructions. This method need only be implemented if using call frame /// instructions. This method need only be implemented if using call frame
/// setup/destroy pseudo instructions. The return value is the number of /// setup/destroy pseudo instructions. The return value is the number of
/// instructions added/deleted to/from the basic block. /// instructions added to (negative if removed from) the basic block.
/// ///
virtual int eliminateCallFramePseudoInstr(MachineFunction &MF, virtual int eliminateCallFramePseudoInstr(MachineFunction &MF,
MachineBasicBlock &MBB, MachineBasicBlock &MBB,
@ -252,7 +252,8 @@ public:
/// before the specified functions frame layout (MF.getFrameInfo()) is /// before the specified functions frame layout (MF.getFrameInfo()) is
/// finalized. Once the frame is finalized, MO_FrameIndex operands are /// finalized. Once the frame is finalized, MO_FrameIndex operands are
/// replaced with direct constants. This method is optional. The return value /// replaced with direct constants. This method is optional. The return value
/// is the number of instructions added/deleted to/from the basic block /// is the number of instructions added to (negative if removed from) the
/// basic block
/// ///
virtual int processFunctionBeforeFrameFinalized(MachineFunction &MF) const { virtual int processFunctionBeforeFrameFinalized(MachineFunction &MF) const {
return 0; return 0;
@ -264,14 +265,15 @@ public:
/// eliminated by this method. This method may modify or replace the /// eliminated by this method. This method may modify or replace the
/// specified instruction, as long as it keeps the iterator pointing the the /// specified instruction, as long as it keeps the iterator pointing the the
/// finished product. The return value is the number of instructions /// finished product. The return value is the number of instructions
/// added/deleted to/from the basic block /// added to (negative if removed from) the basic block.
/// ///
virtual int eliminateFrameIndex(MachineFunction &MF, virtual int eliminateFrameIndex(MachineFunction &MF,
MachineBasicBlock::iterator &II) const = 0; MachineBasicBlock::iterator &II) const = 0;
/// emitProlog/emitEpilog - These methods insert prolog and epilog code into /// emitProlog/emitEpilog - These methods insert prolog and epilog code into
/// the function. The return value is the number of instructions /// the function. The return value is the number of instructions
/// added/deleted to/from the basic block (entry for prologue, /// added to (negative if removed from) the basic block (entry for prologue).
///
virtual int emitPrologue(MachineFunction &MF) const = 0; virtual int emitPrologue(MachineFunction &MF) const = 0;
virtual int emitEpilogue(MachineFunction &MF, virtual int emitEpilogue(MachineFunction &MF,
MachineBasicBlock &MBB) const = 0; MachineBasicBlock &MBB) const = 0;