LLVM API Documentation
#include "llvm/BasicBlock.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/Passes.h"#include "llvm/CodeGen/RegAllocRegistry.h"#include "llvm/Target/TargetInstrInfo.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Debug.h"#include "llvm/Support/Compiler.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/IndexedMap.h"#include "llvm/ADT/SmallSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/ADT/STLExtras.h"#include <algorithm>
Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "regalloc" |
Functions | |
| STATISTIC (NumStores,"Number of stores added") | |
| STATISTIC (NumLoads,"Number of loads added") | |
| static bool | isReadModWriteImplicitKill (MachineInstr *MI, unsigned Reg) |
| static bool | isReadModWriteImplicitDef (MachineInstr *MI, unsigned Reg) |
| static bool | precedes (MachineBasicBlock::iterator A, MachineBasicBlock::iterator B) |
| FunctionPass * | llvm::createLocalRegisterAllocator () |
Variables | |
| static RegisterRegAlloc | localRegAlloc ("local","local register allocator", createLocalRegisterAllocator) |
| #define DEBUG_TYPE "regalloc" |
Definition at line 15 of file RegAllocLocal.cpp.
| static bool isReadModWriteImplicitDef | ( | MachineInstr * | MI, | |
| unsigned | Reg | |||
| ) | [static] |
isReadModWriteImplicitDef - True if this is an implicit def for a read/mod/write register, i.e. update partial register.
Definition at line 558 of file RegAllocLocal.cpp.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isImplicit(), llvm::MachineOperand::isKill(), and llvm::MachineOperand::isReg().
| static bool isReadModWriteImplicitKill | ( | MachineInstr * | MI, | |
| unsigned | Reg | |||
| ) | [static] |
isReadModWriteImplicitKill - True if this is an implicit kill for a read/mod/write register, i.e. update partial register.
Definition at line 546 of file RegAllocLocal.cpp.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isDead(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isImplicit(), and llvm::MachineOperand::isReg().
| static bool precedes | ( | MachineBasicBlock::iterator | A, | |
| MachineBasicBlock::iterator | B | |||
| ) | [static] |
Definition at line 570 of file RegAllocLocal.cpp.
References llvm::MachineBasicBlock::begin(), and llvm::MachineInstr::getParent().
| STATISTIC | ( | NumLoads | , | |
| "Number of loads added" | ||||
| ) |
| STATISTIC | ( | NumStores | , | |
| "Number of stores added" | ||||
| ) |
char ID [static] |
Definition at line 47 of file RegAllocLocal.cpp.
RegisterRegAlloc localRegAlloc("local","local register allocator", createLocalRegisterAllocator) [static] |
Definition at line 51 of file RegAllocLocal.cpp.
| std::vector<int> PhysRegsUsed |
Definition at line 76 of file RegAllocLocal.cpp.
| std::vector<unsigned> PhysRegsUseOrder |
Definition at line 86 of file RegAllocLocal.cpp.
Definition at line 57 of file RegAllocLocal.cpp.
| const TargetInstrInfo* TII |
Definition at line 53 of file RegAllocLocal.cpp.
| const TargetMachine* TM |
Definition at line 50 of file RegAllocLocal.cpp.
| const TargetRegisterInfo* TRI |
Definition at line 52 of file RegAllocLocal.cpp.
Definition at line 107 of file RegAllocLocal.cpp.
| IndexedMap<std::pair<MachineInstr*, unsigned>, VirtReg2IndexFunctor> Virt2LastUseMap |
Definition at line 91 of file RegAllocLocal.cpp.
Definition at line 61 of file RegAllocLocal.cpp.
Definition at line 103 of file RegAllocLocal.cpp.