LLVM 20.0.0git
Namespaces | Macros | Functions | Variables
HexagonVectorPrint.cpp File Reference
#include "HexagonInstrInfo.h"
#include "HexagonSubtarget.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <string>
#include <vector>

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   "hexagon-vector-print"
 

Functions

FunctionPassllvm::createHexagonVectorPrint ()
 
void llvm::initializeHexagonVectorPrintPass (PassRegistry &)
 
static bool isVecReg (unsigned Reg)
 
static std::string getStringReg (unsigned R)
 
static void addAsmInstr (MachineBasicBlock *MBB, unsigned Reg, MachineBasicBlock::instr_iterator I, const DebugLoc &DL, const HexagonInstrInfo *QII, MachineFunction &Fn)
 
static bool getInstrVecReg (const MachineInstr &MI, unsigned &Reg)
 
 INITIALIZE_PASS (HexagonVectorPrint, "hexagon-vector-print", "Hexagon VectorPrint pass", false, false) FunctionPass *llvm
 

Variables

static cl::opt< boolTraceHexVectorStoresOnly ("trace-hex-vector-stores-only", cl::Hidden, cl::desc("Enables tracing of vector stores"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-vector-print"

Definition at line 37 of file HexagonVectorPrint.cpp.

Function Documentation

◆ addAsmInstr()

static void addAsmInstr ( MachineBasicBlock MBB,
unsigned  Reg,
MachineBasicBlock::instr_iterator  I,
const DebugLoc DL,
const HexagonInstrInfo QII,
MachineFunction Fn 
)
static

◆ getInstrVecReg()

static bool getInstrVecReg ( const MachineInstr MI,
unsigned Reg 
)
static

Definition at line 108 of file HexagonVectorPrint.cpp.

References isVecReg(), MI, and TraceHexVectorStoresOnly.

◆ getStringReg()

static std::string getStringReg ( unsigned  R)
static

Definition at line 80 of file HexagonVectorPrint.cpp.

References llvm_unreachable.

Referenced by addAsmInstr().

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( HexagonVectorPrint  ,
"hexagon-vector-print"  ,
"Hexagon VectorPrint pass"  ,
false  ,
false   
)

Definition at line 204 of file HexagonVectorPrint.cpp.

◆ isVecReg()

static bool isVecReg ( unsigned  Reg)
static

Definition at line 73 of file HexagonVectorPrint.cpp.

Referenced by getInstrVecReg().

Variable Documentation

◆ TraceHexVectorStoresOnly

cl::opt< bool > TraceHexVectorStoresOnly("trace-hex-vector-stores-only", cl::Hidden, cl::desc("Enables tracing of vector stores")) ( "trace-hex-vector-stores-only"  ,
cl::Hidden  ,
cl::desc("Enables tracing of vector stores")   
)
static

Referenced by getInstrVecReg().