|
LLVM
4.0.0
|
#include "llvm/ADT/BitVector.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/VirtRegMap.h"#include "llvm/IR/Function.h"#include "llvm/Support/Debug.h"#include "llvm/Support/Format.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetFrameLowering.h"#include "llvm/Target/TargetRegisterInfo.h"Go to the source code of this file.
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Macros | |
| #define | DEBUG_TYPE "target-reg-info" |
Functions | |
| Printable | llvm::PrintReg (unsigned Reg, const TargetRegisterInfo *TRI=nullptr, unsigned SubRegIdx=0) |
| Prints virtual and physical registers with or without a TRI instance. More... | |
| Printable | llvm::PrintRegUnit (unsigned Unit, const TargetRegisterInfo *TRI) |
| Create Printable object to print register units on a raw_ostream. More... | |
| Printable | llvm::PrintVRegOrUnit (unsigned VRegOrUnit, const TargetRegisterInfo *TRI) |
| Create Printable object to print virtual registers and physical registers on a raw_ostream. More... | |
| static void | getAllocatableSetForRC (const MachineFunction &MF, const TargetRegisterClass *RC, BitVector &R) |
| getAllocatableSetForRC - Toggle the bits that represent allocatable registers for the specific register class. More... | |
| static const TargetRegisterClass * | firstCommonClass (const uint32_t *A, const uint32_t *B, const TargetRegisterInfo *TRI, const MVT::SimpleValueType SVT=MVT::SimpleValueType::Any) |
| static bool | shareSameRegisterFile (const TargetRegisterInfo &TRI, const TargetRegisterClass *DefRC, unsigned DefSubReg, const TargetRegisterClass *SrcRC, unsigned SrcSubReg) |
| Check if the registers defined by the pair (RegisterClass, SubReg) share the same register file. More... | |
| #define DEBUG_TYPE "target-reg-info" |
Definition at line 26 of file TargetRegisterInfo.cpp.
|
inlinestatic |
Definition at line 202 of file TargetRegisterInfo.cpp.
References llvm::SystemZICMP::Any, llvm::countTrailingZeros(), E, llvm::TargetRegisterInfo::getNumRegClasses(), llvm::TargetRegisterInfo::getRegClass(), llvm::TargetRegisterClass::hasType(), and I.
Referenced by llvm::TargetRegisterInfo::getCommonSubClass(), llvm::TargetRegisterInfo::getCommonSuperRegClass(), and llvm::TargetRegisterInfo::getMatchingSuperRegClass().
|
static |
getAllocatableSetForRC - Toggle the bits that represent allocatable registers for the specific register class.
Definition at line 171 of file TargetRegisterInfo.cpp.
References assert(), llvm::TargetRegisterClass::getRawAllocationOrder(), i, llvm::TargetRegisterClass::isAllocatable(), and llvm::BitVector::set().
Referenced by llvm::TargetRegisterInfo::getAllocatableSet().
|
static |
Check if the registers defined by the pair (RegisterClass, SubReg) share the same register file.
Definition at line 313 of file TargetRegisterInfo.cpp.
References llvm::TargetRegisterInfo::getCommonSubClass(), llvm::TargetRegisterInfo::getCommonSuperRegClass(), llvm::TargetRegisterInfo::getMatchingSuperRegClass(), and std::swap().
Referenced by llvm::TargetRegisterInfo::shouldRewriteCopySrc().
1.8.6