LLVM  4.0.0
Classes | Namespaces | Functions
MIRPrinter.cpp File Reference
#include "MIRPrinter.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/CodeGen/GlobalISel/RegisterBank.h"
#include "llvm/CodeGen/MIRYamlMapping.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/IRPrintingPasses.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ModuleSlotTracker.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetIntrinsicInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
Include dependency graph for MIRPrinter.cpp:

Go to the source code of this file.

Classes

class  llvm::MIRPrinter
 This class prints out the machine functions using the MIR serialization format. More...
 
class  llvm::MIPrinter
 This class prints out the machine instructions using the MIR serialization format. More...
 
struct  llvm::yaml::BlockScalarTraits< Module >
 This struct serializes the LLVM IR module. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::yaml
 

Functions

static void printReg (unsigned Reg, raw_ostream &OS, const TargetRegisterInfo *TRI)
 
static void printReg (unsigned Reg, yaml::StringValue &Dest, const TargetRegisterInfo *TRI)
 
static bool hasComplexRegisterTies (const MachineInstr &MI)
 Return true when an instruction has tied register that can't be determined by the instruction's descriptor. More...
 
static LLT getTypeToPrint (const MachineInstr &MI, unsigned OpIdx, SmallBitVector &PrintedTypes, const MachineRegisterInfo &MRI)
 
static void printIRSlotNumber (raw_ostream &OS, int Slot)
 
static const char * getTargetFlagName (const TargetInstrInfo *TII, unsigned TF)
 
static const char * getTargetIndexName (const MachineFunction &MF, int Index)
 
static void printCFIRegister (unsigned DwarfReg, raw_ostream &OS, const TargetRegisterInfo *TRI)
 

Function Documentation

static const char* getTargetFlagName ( const TargetInstrInfo TII,
unsigned  TF 
)
static
static const char* getTargetIndexName ( const MachineFunction MF,
int  Index 
)
static
static LLT getTypeToPrint ( const MachineInstr MI,
unsigned  OpIdx,
SmallBitVector PrintedTypes,
const MachineRegisterInfo MRI 
)
static
static bool hasComplexRegisterTies ( const MachineInstr MI)
static

Return true when an instruction has tied register that can't be determined by the instruction's descriptor.

Definition at line 531 of file MIRPrinter.cpp.

References E, llvm::MachineInstr::findTiedOperandIdx(), llvm::MachineInstr::getDesc(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MCInstrDesc::getOperandConstraint(), I, and llvm::MCOI::TIED_TO.

Referenced by llvm::MIPrinter::print().

static void printCFIRegister ( unsigned  DwarfReg,
raw_ostream OS,
const TargetRegisterInfo TRI 
)
static

Definition at line 991 of file MIRPrinter.cpp.

References llvm::MCRegisterInfo::getLLVMRegNum(), and printReg().

Referenced by llvm::MIPrinter::print().

static void printIRSlotNumber ( raw_ostream OS,
int  Slot 
)
static
static void printReg ( unsigned  Reg,
raw_ostream OS,
const TargetRegisterInfo TRI 
)
static
static void printReg ( unsigned  Reg,
yaml::StringValue Dest,
const TargetRegisterInfo TRI 
)
static

Definition at line 164 of file MIRPrinter.cpp.

References printReg(), and llvm::yaml::StringValue::Value.