LLVM 21.0.0git
Macros | Functions | Variables
ReachingDefAnalysis.cpp File Reference
#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< boolPrintAllReachingDefs ("print-all-reaching-defs", cl::Hidden, cl::desc("Used for test purpuses"), cl::Hidden)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "reaching-defs-analysis"

Definition at line 21 of file ReachingDefAnalysis.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( ReachingDefAnalysis  ,
DEBUG_TYPE  ,
"ReachingDefAnalysis"  ,
false  ,
true   
) const &

Definition at line 28 of file ReachingDefAnalysis.cpp.

◆ isFIDef()

static bool isFIDef ( const MachineInstr MI,
int  FrameIndex,
const TargetInstrInfo TII 
)
static

◆ isValidRegDef()

static bool isValidRegDef ( const MachineOperand MO)
static

◆ isValidRegDefOf()

static bool isValidRegDefOf ( const MachineOperand MO,
Register  Reg,
const TargetRegisterInfo TRI 
)
static

◆ isValidRegUse()

static bool isValidRegUse ( const MachineOperand MO)
static

◆ isValidRegUseOf()

static bool isValidRegUseOf ( const MachineOperand MO,
Register  Reg,
const TargetRegisterInfo TRI 
)
static

◆ mayHaveSideEffects()

static bool mayHaveSideEffects ( MachineInstr MI)
static

Definition at line 639 of file ReachingDefAnalysis.cpp.

References MI.

Referenced by llvm::ReachingDefAnalysis::collectKilledOperands(), and isEphemeralValueOf().

Variable Documentation

◆ PrintAllReachingDefs

cl::opt< bool > PrintAllReachingDefs("print-all-reaching-defs", cl::Hidden, cl::desc("Used for test purpuses"), cl::Hidden) ( "print-all-reaching-defs"  ,
cl::Hidden  ,
cl::desc("Used for test purpuses")  ,
cl::Hidden   
)
static