LLVM  12.0.0git
Public Member Functions | List of all members
llvm::WebAssemblyInstrInfo Class Referencefinal

#include "Target/WebAssembly/WebAssemblyInstrInfo.h"

Inheritance diagram for llvm::WebAssemblyInstrInfo:
Inheritance graph
Collaboration diagram for llvm::WebAssemblyInstrInfo:
Collaboration graph

Public Member Functions

 WebAssemblyInstrInfo (const WebAssemblySubtarget &STI)
const WebAssemblyRegisterInfogetRegisterInfo () const
bool isReallyTriviallyReMaterializable (const MachineInstr &MI, AAResults *AA) const override
void copyPhysReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, const DebugLoc &DL, MCRegister DestReg, MCRegister SrcReg, bool KillSrc) const override
MachineInstrcommuteInstructionImpl (MachineInstr &MI, bool NewMI, unsigned OpIdx1, unsigned OpIdx2) const override
bool analyzeBranch (MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl< MachineOperand > &Cond, bool AllowModify=false) const override
unsigned removeBranch (MachineBasicBlock &MBB, int *BytesRemoved=nullptr) const override
unsigned insertBranch (MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, ArrayRef< MachineOperand > Cond, const DebugLoc &DL, int *BytesAdded=nullptr) const override
bool reverseBranchCondition (SmallVectorImpl< MachineOperand > &Cond) const override
ArrayRef< std::pair< int, const char * > > getSerializableTargetIndices () const override

Detailed Description

Definition at line 38 of file WebAssemblyInstrInfo.h.

Constructor & Destructor Documentation

◆ WebAssemblyInstrInfo()

WebAssemblyInstrInfo::WebAssemblyInstrInfo ( const WebAssemblySubtarget STI)

Definition at line 35 of file WebAssemblyInstrInfo.cpp.

Member Function Documentation

◆ analyzeBranch()

bool WebAssemblyInstrInfo::analyzeBranch ( MachineBasicBlock MBB,
MachineBasicBlock *&  TBB,
MachineBasicBlock *&  FBB,
SmallVectorImpl< MachineOperand > &  Cond,
bool  AllowModify = false 
) const

◆ commuteInstructionImpl()

MachineInstr * WebAssemblyInstrInfo::commuteInstructionImpl ( MachineInstr MI,
bool  NewMI,
unsigned  OpIdx1,
unsigned  OpIdx2 
) const

◆ copyPhysReg()

void WebAssemblyInstrInfo::copyPhysReg ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
const DebugLoc DL,
MCRegister  DestReg,
MCRegister  SrcReg,
bool  KillSrc 
) const

◆ getRegisterInfo()

const WebAssemblyRegisterInfo& llvm::WebAssemblyInstrInfo::getRegisterInfo ( ) const

Definition at line 44 of file WebAssemblyInstrInfo.h.

References Cond, DL, MBB, and MI.

Referenced by llvm::WebAssemblySubtarget::getRegisterInfo().

◆ getSerializableTargetIndices()

ArrayRef< std::pair< int, const char * > > WebAssemblyInstrInfo::getSerializableTargetIndices ( ) const

◆ insertBranch()

unsigned WebAssemblyInstrInfo::insertBranch ( MachineBasicBlock MBB,
MachineBasicBlock TBB,
MachineBasicBlock FBB,
ArrayRef< MachineOperand Cond,
const DebugLoc DL,
int *  BytesAdded = nullptr 
) const

◆ isReallyTriviallyReMaterializable()

bool WebAssemblyInstrInfo::isReallyTriviallyReMaterializable ( const MachineInstr MI,
AAResults AA 
) const

Definition at line 41 of file WebAssemblyInstrInfo.cpp.

References llvm::MachineInstr::getOpcode().

◆ removeBranch()

unsigned WebAssemblyInstrInfo::removeBranch ( MachineBasicBlock MBB,
int *  BytesRemoved = nullptr 
) const

◆ reverseBranchCondition()

bool WebAssemblyInstrInfo::reverseBranchCondition ( SmallVectorImpl< MachineOperand > &  Cond) const

The documentation for this class was generated from the following files: