LLVM 17.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
llvm::GenericSSAContext< MachineFunction > Class Reference

#include "llvm/CodeGen/MachineSSAContext.h"

Collaboration diagram for llvm::GenericSSAContext< MachineFunction >:
Collaboration graph

Public Types

using BlockT = MachineBasicBlock
using FunctionT = MachineFunction
using InstructionT = MachineInstr
using ValueRefT = Register
using ConstValueRefT = Register
using UseT = MachineOperand
using DominatorTreeT = DominatorTreeBase< BlockT, false >

Public Member Functions

void setFunction (MachineFunction &Fn)
MachineFunctiongetFunction () const
MachineBasicBlockgetDefBlock (Register) const
 Get the defining block of a value.
Printable print (const MachineBasicBlock *Block) const
Printable print (const MachineInstr *Inst) const
Printable print (Register Value) const

Static Public Member Functions

static MachineBasicBlockgetEntryBlock (MachineFunction &F)
static void appendBlockDefs (SmallVectorImpl< Register > &defs, const MachineBasicBlock &block)
static void appendBlockTerms (SmallVectorImpl< MachineInstr * > &terms, MachineBasicBlock &block)
static void appendBlockTerms (SmallVectorImpl< const MachineInstr * > &terms, const MachineBasicBlock &block)
static bool isConstantOrUndefValuePhi (const MachineInstr &Phi)

Static Public Attributes

static const Register ValueRefNull {}

Detailed Description

Definition at line 37 of file MachineSSAContext.h.

Member Typedef Documentation

◆ BlockT

Definition at line 42 of file MachineSSAContext.h.

◆ ConstValueRefT

using llvm::GenericSSAContext< MachineFunction >::ConstValueRefT = Register

Definition at line 46 of file MachineSSAContext.h.

◆ DominatorTreeT

Definition at line 49 of file MachineSSAContext.h.

◆ FunctionT

Definition at line 43 of file MachineSSAContext.h.

◆ InstructionT

Definition at line 44 of file MachineSSAContext.h.

◆ UseT

Definition at line 48 of file MachineSSAContext.h.

◆ ValueRefT

Definition at line 45 of file MachineSSAContext.h.

Member Function Documentation

◆ appendBlockDefs()

void MachineSSAContext::appendBlockDefs ( SmallVectorImpl< Register > &  defs,
const MachineBasicBlock block 

◆ appendBlockTerms() [1/2]

void MachineSSAContext::appendBlockTerms ( SmallVectorImpl< const MachineInstr * > &  terms,
const MachineBasicBlock block 

◆ appendBlockTerms() [2/2]

static void llvm::GenericSSAContext< MachineFunction >::appendBlockTerms ( SmallVectorImpl< MachineInstr * > &  terms,
MachineBasicBlock block 

◆ getDefBlock()

MachineBasicBlock * MachineSSAContext::getDefBlock ( Register  value) const

Get the defining block of a value.

Definition at line 53 of file MachineSSAContext.cpp.

References llvm::MachineBasicBlock::getParent(), and value.

◆ getEntryBlock()

MachineBasicBlock * MachineSSAContext::getEntryBlock ( MachineFunction F)

Definition at line 31 of file MachineSSAContext.cpp.

References F.

◆ getFunction()

MachineFunction * llvm::GenericSSAContext< MachineFunction >::getFunction ( ) const

Definition at line 52 of file MachineSSAContext.h.

◆ isConstantOrUndefValuePhi()

bool MachineSSAContext::isConstantOrUndefValuePhi ( const MachineInstr Phi)

Definition at line 59 of file MachineSSAContext.cpp.

References llvm::MachineInstr::isConstantValuePHI().

◆ print() [1/3]

Printable MachineSSAContext::print ( const MachineBasicBlock Block) const

Definition at line 63 of file MachineSSAContext.cpp.

References llvm::Block.

◆ print() [2/3]

Printable MachineSSAContext::print ( const MachineInstr Inst) const

Definition at line 69 of file MachineSSAContext.cpp.

References I.

◆ print() [3/3]

Printable MachineSSAContext::print ( Register  Value) const

Definition at line 73 of file MachineSSAContext.cpp.

References MRI, and llvm::printReg().

◆ setFunction()

void MachineSSAContext::setFunction ( MachineFunction Fn)

Definition at line 26 of file MachineSSAContext.cpp.

References llvm::MachineFunction::getRegInfo().

Member Data Documentation

◆ ValueRefNull

const Register MachineSSAContext::ValueRefNull {}

Definition at line 47 of file MachineSSAContext.h.

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