LLVM 20.0.0git
|
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/CodeGenTypes/MachineValueType.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/Function.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Printable.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <utility>
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | DEBUG_TYPE "target-reg-info" |
Variables | |
static cl::opt< unsigned > | HugeSizeForSplit ("huge-size-for-split", cl::Hidden, cl::desc("A threshold of live range size which may cause " "high compile time cost in global splitting."), cl::init(5000)) |
#define DEBUG_TYPE "target-reg-info" |
Definition at line 42 of file TargetRegisterInfo.cpp.
|
inlinestatic |
Definition at line 316 of file TargetRegisterInfo.cpp.
References A, B, llvm::countr_zero(), I, and TRI.
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 285 of file TargetRegisterInfo.cpp.
References assert(), llvm::TargetRegisterClass::getRawAllocationOrder(), and llvm::TargetRegisterClass::isAllocatable().
Referenced by llvm::TargetRegisterInfo::getAllocatableSet().
|
static |
Definition at line 235 of file TargetRegisterInfo.cpp.
References assert(), llvm::TargetRegisterClass::hasSubClass(), llvm::Register::isPhysicalRegister(), and TRI.
|
static |
Definition at line 206 of file TargetRegisterInfo.cpp.
References assert(), llvm::TargetRegisterClass::hasSubClass(), llvm::Register::isPhysicalRegister(), and TRI.
Referenced by llvm::PPCRegisterInfo::requiresFrameIndexScavenging().
|
static |
Check if the registers defined by the pair (RegisterClass, SubReg) share the same register file.
Definition at line 419 of file TargetRegisterInfo.cpp.
References std::swap(), and TRI.
Referenced by llvm::TargetRegisterInfo::shouldRewriteCopySrc().
|
static |
Referenced by llvm::TargetRegisterInfo::shouldRegionSplitForVirtReg().