LLVM 21.0.0git
|
#include "llvm/CodeGen/ReachingDefAnalysis.h"
#include "llvm/ADT/SetOperations.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/CodeGen/LiveRegUnits.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/Support/Debug.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "reaching-defs-analysis" |
Functions | |
INITIALIZE_PASS (ReachingDefAnalysis, DEBUG_TYPE, "ReachingDefAnalysis", false, true) static bool isValidReg(const MachineOperand &MO) | |
static bool | isValidRegUse (const MachineOperand &MO) |
static bool | isValidRegUseOf (const MachineOperand &MO, Register Reg, const TargetRegisterInfo *TRI) |
static bool | isValidRegDef (const MachineOperand &MO) |
static bool | isValidRegDefOf (const MachineOperand &MO, Register Reg, const TargetRegisterInfo *TRI) |
static bool | isFIDef (const MachineInstr &MI, int FrameIndex, const TargetInstrInfo *TII) |
static bool | mayHaveSideEffects (MachineInstr &MI) |
Variables | |
static cl::opt< bool > | PrintAllReachingDefs ("print-all-reaching-defs", cl::Hidden, cl::desc("Used for test purpuses"), cl::Hidden) |
#define DEBUG_TYPE "reaching-defs-analysis" |
Definition at line 21 of file ReachingDefAnalysis.cpp.
INITIALIZE_PASS | ( | ReachingDefAnalysis | , |
DEBUG_TYPE | , | ||
"ReachingDefAnalysis" | , | ||
false | , | ||
true | |||
) | const & |
Definition at line 28 of file ReachingDefAnalysis.cpp.
|
static |
Definition at line 57 of file ReachingDefAnalysis.cpp.
References llvm::HexagonInstrInfo::isStoreToStackSlot(), MI, and TII.
Referenced by llvm::ReachingDefAnalysis::getLocalLiveOutMIDef().
|
static |
Definition at line 46 of file ReachingDefAnalysis.cpp.
References llvm::MachineOperand::isDef().
Referenced by llvm::ReachingDefAnalysis::collectKilledOperands(), and isValidRegDefOf().
|
static |
Definition at line 50 of file ReachingDefAnalysis.cpp.
References llvm::MachineOperand::getReg(), isValidRegDef(), and TRI.
Referenced by llvm::ReachingDefAnalysis::getLocalLiveOutMIDef(), llvm::ReachingDefAnalysis::isReachingDefLiveOut(), and llvm::ReachingDefAnalysis::isSafeToDefRegAt().
|
static |
Definition at line 35 of file ReachingDefAnalysis.cpp.
References llvm::MachineOperand::isUse().
Referenced by llvm::ReachingDefAnalysis::collectKilledOperands(), and isValidRegUseOf().
|
static |
Definition at line 39 of file ReachingDefAnalysis.cpp.
References llvm::MachineOperand::getReg(), isValidRegUse(), and TRI.
Referenced by llvm::ReachingDefAnalysis::getLiveInUses(), and llvm::ReachingDefAnalysis::getReachingLocalUses().
|
static |
Definition at line 639 of file ReachingDefAnalysis.cpp.
References MI.
Referenced by llvm::ReachingDefAnalysis::collectKilledOperands(), and isEphemeralValueOf().