LLVM  4.0.0
Functions
MIParser.cpp File Reference
#include "MIParser.h"
#include "MILexer.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/AsmParser/SlotMapping.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ModuleSlotTracker.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetIntrinsicInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
#include <cctype>
Include dependency graph for MIParser.cpp:

Go to the source code of this file.

Functions

static const char * toString (MIToken::TokenKind TokenKind)
 
static const char * printImplicitRegisterFlag (const MachineOperand &MO)
 
static std::string getRegisterName (const TargetRegisterInfo *TRI, unsigned Reg)
 
static bool isImplicitOperandIn (const MachineOperand &ImplicitOperand, ArrayRef< ParsedMachineOperand > Operands)
 Return true if the parsed machine operands contain a given machine operand. More...
 
static void initSlots2BasicBlocks (const Function &F, DenseMap< unsigned, const BasicBlock * > &Slots2BasicBlocks)
 
static const BasicBlockgetIRBlockFromSlot (unsigned Slot, const DenseMap< unsigned, const BasicBlock * > &Slots2BasicBlocks)
 
static void mapValueToSlot (const Value *V, ModuleSlotTracker &MST, DenseMap< unsigned, const Value * > &Slots2Values)
 
static void initSlots2Values (const Function &F, DenseMap< unsigned, const Value * > &Slots2Values)
 Creates the mapping from slot numbers to function's unnamed IR values. More...
 

Function Documentation

static const BasicBlock* getIRBlockFromSlot ( unsigned  Slot,
const DenseMap< unsigned, const BasicBlock * > &  Slots2BasicBlocks 
)
static
static std::string getRegisterName ( const TargetRegisterInfo TRI,
unsigned  Reg 
)
static
static void initSlots2BasicBlocks ( const Function F,
DenseMap< unsigned, const BasicBlock * > &  Slots2BasicBlocks 
)
static
static void initSlots2Values ( const Function F,
DenseMap< unsigned, const Value * > &  Slots2Values 
)
static

Creates the mapping from slot numbers to function's unnamed IR values.

Definition at line 2176 of file MIParser.cpp.

References llvm::Function::args(), llvm::GlobalValue::getParent(), llvm::ModuleSlotTracker::incorporateFunction(), and mapValueToSlot().

static bool isImplicitOperandIn ( const MachineOperand ImplicitOperand,
ArrayRef< ParsedMachineOperand >  Operands 
)
static

Return true if the parsed machine operands contain a given machine operand.

Definition at line 792 of file MIParser.cpp.

References I, and llvm::MachineOperand::isIdenticalTo().

static void mapValueToSlot ( const Value V,
ModuleSlotTracker MST,
DenseMap< unsigned, const Value * > &  Slots2Values 
)
static
static const char* printImplicitRegisterFlag ( const MachineOperand MO)
static
static const char* toString ( MIToken::TokenKind  TokenKind)
static