|
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().
1.8.13