LLVM
8.0.1
|
#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 | |
llvm | |
This class represents lattice values for constants. | |
Macros | |
#define | DEBUG_TYPE "hexagon-vector-print" |
Functions | |
FunctionPass * | llvm::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< bool > | TraceHexVectorStoresOnly ("trace-hex-vector-stores-only", cl::Hidden, cl::ZeroOrMore, cl::init(false), cl::desc("Enables tracing of vector stores")) |
#define DEBUG_TYPE "hexagon-vector-print" |
Definition at line 38 of file HexagonVectorPrint.cpp.
|
static |
Definition at line 96 of file HexagonVectorPrint.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::BuildMI(), llvm::MachineFunction::createExternalSymbolName(), llvm::InlineAsm::Extra_HasSideEffects, getStringReg(), and llvm::ISD::INLINEASM.
Referenced by getInstrVecReg().
|
static |
Definition at line 108 of file HexagonVectorPrint.cpp.
References addAsmInstr(), llvm::dbgs(), llvm::Pass::dump(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::HexagonSubtarget::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), I, llvm::MachineBasicBlock::instr_end(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), isVecReg(), LLVM_DEBUG, llvm_unreachable, llvm::MachineInstr::mayStore(), MI, Reg, and TraceHexVectorStoresOnly.
|
static |
Definition at line 80 of file HexagonVectorPrint.cpp.
References llvm_unreachable.
Referenced by addAsmInstr().
INITIALIZE_PASS | ( | HexagonVectorPrint | , |
"hexagon-vector-print" | , | ||
"Hexagon VectorPrint pass" | , | ||
false | , | ||
false | |||
) |
Definition at line 204 of file HexagonVectorPrint.cpp.
Definition at line 74 of file HexagonVectorPrint.cpp.
Referenced by getInstrVecReg().