LLVM API Documentation
#include "X86.h"#include "X86RegisterInfo.h"#include "X86InstrBuilder.h"#include "X86MachineFunctionInfo.h"#include "X86Subtarget.h"#include "X86TargetMachine.h"#include "llvm/Constants.h"#include "llvm/Function.h"#include "llvm/Type.h"#include "llvm/CodeGen/ValueTypes.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineLocation.h"#include "llvm/CodeGen/MachineModuleInfo.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/Target/TargetAsmInfo.h"#include "llvm/Target/TargetFrameInfo.h"#include "llvm/Target/TargetInstrInfo.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Target/TargetOptions.h"#include "llvm/ADT/BitVector.h"#include "llvm/ADT/STLExtras.h"#include "llvm/Support/Compiler.h"#include "X86GenRegisterInfo.inc"
Go to the source code of this file.
Namespaces | |
| namespace | llvm |
Functions | |
| static unsigned | calculateMaxStackAlignment (const MachineFrameInfo *FFI) |
| static void | emitSPUpdate (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, unsigned StackPtr, int64_t NumBytes, bool Is64Bit, const TargetInstrInfo &TII) |
| static void | mergeSPUpdatesUp (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, unsigned StackPtr, uint64_t *NumBytes=NULL) |
| static void | mergeSPUpdatesDown (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, unsigned StackPtr, uint64_t *NumBytes=NULL) |
| static int | mergeSPUpdates (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, unsigned StackPtr, bool doMergeWithPrevious) |
| unsigned | llvm::getX86SubSuperRegister (unsigned Reg, MVT VT, bool High) |
| FunctionPass * | llvm::createX86MaxStackAlignmentCalculatorPass () |
| static unsigned calculateMaxStackAlignment | ( | const MachineFrameInfo * | FFI | ) | [static] |
Definition at line 297 of file X86RegisterInfo.cpp.
References Align, llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectIndexEnd(), and llvm::MachineFrameInfo::isDeadObjectIndex().
Referenced by llvm::X86RegisterInfo::processFunctionBeforeCalleeSavedScan().
| static void emitSPUpdate | ( | MachineBasicBlock & | MBB, | |
| MachineBasicBlock::iterator & | MBBI, | |||
| unsigned | StackPtr, | |||
| int64_t | NumBytes, | |||
| bool | Is64Bit, | |||
| const TargetInstrInfo & | TII | |||
| ) | [static] |
emitSPUpdate - Emit a series of instructions to increment / decrement the stack pointer by a constant value.
Definition at line 521 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::BuildMI(), llvm::TargetInstrInfo::get(), llvm::MachineInstr::getOperand(), MI, Offset, and llvm::MachineOperand::setIsDead().
| static int mergeSPUpdates | ( | MachineBasicBlock & | MBB, | |
| MachineBasicBlock::iterator & | MBBI, | |||
| unsigned | StackPtr, | |||
| bool | doMergeWithPrevious | |||
| ) | [static] |
mergeSPUpdates - Checks the instruction before/after the passed instruction. If it is an ADD/SUB instruction it is deleted argument and the stack adjustment is returned as a positive value for ADD and a negative for SUB.
Definition at line 602 of file X86RegisterInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::erase(), llvm::next(), Offset, PI, and llvm::prior().
Referenced by llvm::X86RegisterInfo::emitEpilogue(), and llvm::X86RegisterInfo::emitPrologue().
| static void mergeSPUpdatesDown | ( | MachineBasicBlock & | MBB, | |
| MachineBasicBlock::iterator & | MBBI, | |||
| unsigned | StackPtr, | |||
| uint64_t * | NumBytes = NULL | |||
| ) | [static] |
Definition at line 570 of file X86RegisterInfo.cpp.
References llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::erase(), and llvm::next().
Referenced by llvm::X86RegisterInfo::emitPrologue().
| static void mergeSPUpdatesUp | ( | MachineBasicBlock & | MBB, | |
| MachineBasicBlock::iterator & | MBBI, | |||
| unsigned | StackPtr, | |||
| uint64_t * | NumBytes = NULL | |||
| ) | [static] |
Definition at line 547 of file X86RegisterInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::erase(), PI, and llvm::prior().
Referenced by llvm::X86RegisterInfo::emitEpilogue().
char ID [static] |
Definition at line 1215 of file X86RegisterInfo.cpp.