LLVM  9.0.0svn
Namespaces | Macros | Functions
MipsInstructionSelector.cpp File Reference

This file implements the targeting of the InstructionSelector class for Mips. More...

#include "MipsRegisterBankInfo.h"
#include "MipsTargetMachine.h"
#include "llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "MipsGenGlobalISel.inc"
Include dependency graph for MipsInstructionSelector.cpp:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 

Macros

#define DEBUG_TYPE   "mips-isel"
 
#define GET_GLOBALISEL_PREDICATE_BITSET
 
#define GET_GLOBALISEL_PREDICATES_DECL
 
#define GET_GLOBALISEL_TEMPORARIES_DECL
 
#define GET_GLOBALISEL_IMPL
 
#define GET_GLOBALISEL_PREDICATES_INIT
 
#define GET_GLOBALISEL_TEMPORARIES_INIT
 

Functions

static unsigned selectLoadStoreOpCode (unsigned Opc, unsigned MemSizeInBytes)
 Returning Opc indicates that we failed to select MIPS instruction opcode. More...
 
InstructionSelectorllvm::createMipsInstructionSelector (const MipsTargetMachine &, MipsSubtarget &, MipsRegisterBankInfo &)
 

Detailed Description

This file implements the targeting of the InstructionSelector class for Mips.

Todo:
This should be generated by TableGen.

Definition in file MipsInstructionSelector.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "mips-isel"

Definition at line 19 of file MipsInstructionSelector.cpp.

◆ GET_GLOBALISEL_IMPL

#define GET_GLOBALISEL_IMPL

Definition at line 59 of file MipsInstructionSelector.cpp.

◆ GET_GLOBALISEL_PREDICATE_BITSET

#define GET_GLOBALISEL_PREDICATE_BITSET

Definition at line 25 of file MipsInstructionSelector.cpp.

◆ GET_GLOBALISEL_PREDICATES_DECL

#define GET_GLOBALISEL_PREDICATES_DECL

Definition at line 48 of file MipsInstructionSelector.cpp.

◆ GET_GLOBALISEL_PREDICATES_INIT

#define GET_GLOBALISEL_PREDICATES_INIT

◆ GET_GLOBALISEL_TEMPORARIES_DECL

#define GET_GLOBALISEL_TEMPORARIES_DECL

Definition at line 52 of file MipsInstructionSelector.cpp.

◆ GET_GLOBALISEL_TEMPORARIES_INIT

#define GET_GLOBALISEL_TEMPORARIES_INIT

Function Documentation

◆ selectLoadStoreOpCode()

static unsigned selectLoadStoreOpCode ( unsigned  Opc,
unsigned  MemSizeInBytes 
)
static

Returning Opc indicates that we failed to select MIPS instruction opcode.

Definition at line 130 of file MipsInstructionSelector.cpp.

References llvm::ARM_AM::add, llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addUse(), B, llvm::MachineIRBuilder::buildInstr(), llvm::BuildMI(), llvm::MachineInstrBuilder::constrainAllUses(), llvm::RegisterBankInfo::constrainGenericRegister(), llvm::constrainSelectedInstRegOperands(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::tgtok::Def, llvm::SmallVectorImpl< T >::emplace_back(), llvm::MachineInstr::eraseFromParent(), llvm::MCInstrInfo::get(), llvm::MachineOperand::getCImm(), llvm::MachineInstr::getDebugLoc(), llvm::MachineOperand::getGlobal(), llvm::RegisterBank::getID(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getPredicate(), llvm::MachineOperand::getReg(), llvm::RegisterBankInfo::getRegBank(), llvm::MachineFunction::getRegInfo(), llvm::LLT::getSizeInBits(), llvm::MachineFunction::getTarget(), llvm::MachineRegisterInfo::getType(), llvm::ConstantInt::getValue(), llvm::X86II::hasImm(), llvm::MachineInstr::isCopy(), llvm::TargetMachine::isPositionIndependent(), llvm::isPreISelGenericOpcode(), llvm::MachineInstr::memoperands_begin(), MI, llvm::LanaiII::MO_ABS_HI, llvm::LanaiII::MO_ABS_LO, llvm::ISD::MUL, selectCopy(), llvm::mca::selectImpl(), llvm::MachineInstr::setDesc(), llvm::MachineOperand::setIsDead(), llvm::MachineOperand::setTargetFlags(), and llvm::ISD::XOR.

Referenced by selectUnmergeValues().