LLVM
8.0.1
|
#include "X86.h"
#include "X86InstrBuilder.h"
#include "X86InstrInfo.h"
#include "X86MachineFunctionInfo.h"
#include "X86Subtarget.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
static int64_t | getWinAllocaAmount (MachineInstr *MI, MachineRegisterInfo *MRI) |
Return the allocation amount for a WinAlloca instruction, or -1 if unknown. More... | |
static bool | isPushPop (const MachineInstr &MI) |
static unsigned | getSubOpcode (bool Is64Bit, int64_t Amount) |
Definition at line 196 of file X86WinAllocaExpander.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), llvm::N86::EAX, llvm::MachineInstr::eraseFromParent(), llvm::StringRef::getAsInteger(), llvm::MachineInstr::getDebugLoc(), llvm::Function::getFnAttribute(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), llvm::Attribute::getValueAsString(), getWinAllocaAmount(), llvm::Function::hasFnAttribute(), llvm::X86MachineFunctionInfo::hasWinAlloca(), I, INT64_MAX, llvm::MachineInstr::isCopy(), llvm::isInt< 8 >(), llvm::MachineOperand::isReg(), LLVM_FALLTHROUGH, Lowering, MI, MRI, P, TII, TRI, and llvm::RegState::Undef.
|
static |
Return the allocation amount for a WinAlloca instruction, or -1 if unknown.
Definition at line 80 of file X86WinAllocaExpander.cpp.
References assert(), llvm::tgtok::Def, llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineRegisterInfo::getUniqueVRegDef(), llvm::MachineInstr::isCopy(), llvm::MachineOperand::isImm(), and llvm::MachineOperand::isReg().
Referenced by getSubOpcode(), and isPushPop().
|
static |
Definition at line 115 of file X86WinAllocaExpander.cpp.
References llvm::MachineInstr::getOpcode(), getWinAllocaAmount(), Lowering, llvm::max(), MI, MRI, llvm::MachineBasicBlock::predecessors(), RPO, and TRI.