LLVM 20.0.0git
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
llvm::ARMOverrideBypasses Class Referenceabstract

Post-process the DAG to create cluster edges between instrs that may be fused by the processor into a single operation. More...

#include "Target/ARM/ARMLatencyMutations.h"

Inheritance diagram for llvm::ARMOverrideBypasses:
Inheritance graph
[legend]

Public Member Functions

 ARMOverrideBypasses (const ARMBaseInstrInfo *t, AAResults *a)
 
void apply (ScheduleDAGInstrs *DAGInstrs) override
 
- Public Member Functions inherited from llvm::ScheduleDAGMutation
virtual ~ScheduleDAGMutation ()=default
 
virtual void apply (ScheduleDAGInstrs *DAG)=0
 

Protected Member Functions

unsigned makeBundleAssumptions (SUnit &ISU, SDep &Dep)
 
bool memoryRAWHazard (SUnit &ISU, SDep &Dep, unsigned latency)
 

Static Protected Member Functions

static void setBidirLatencies (SUnit &SrcSU, SDep &SrcDep, unsigned latency)
 
static bool zeroOutputDependences (SUnit &ISU, SDep &Dep)
 

Protected Attributes

const ARMBaseInstrInfoTII
 
AAResultsAA
 
ScheduleDAGInstrsDAG = nullptr
 

Detailed Description

Post-process the DAG to create cluster edges between instrs that may be fused by the processor into a single operation.

Definition at line 27 of file ARMLatencyMutations.h.

Constructor & Destructor Documentation

◆ ARMOverrideBypasses()

llvm::ARMOverrideBypasses::ARMOverrideBypasses ( const ARMBaseInstrInfo t,
AAResults a 
)
inline

Definition at line 29 of file ARMLatencyMutations.h.

Member Function Documentation

◆ apply()

void llvm::ARMOverrideBypasses::apply ( ScheduleDAGInstrs DAGInstrs)
overridevirtual

◆ makeBundleAssumptions()

unsigned llvm::ARMOverrideBypasses::makeBundleAssumptions ( SUnit ISU,
SDep Dep 
)
protected

◆ memoryRAWHazard()

bool llvm::ARMOverrideBypasses::memoryRAWHazard ( SUnit ISU,
SDep Dep,
unsigned  latency 
)
protected

◆ setBidirLatencies()

void llvm::ARMOverrideBypasses::setBidirLatencies ( SUnit SrcSU,
SDep SrcDep,
unsigned  latency 
)
staticprotected

◆ zeroOutputDependences()

bool llvm::ARMOverrideBypasses::zeroOutputDependences ( SUnit ISU,
SDep Dep 
)
staticprotected

Member Data Documentation

◆ AA

AAResults* llvm::ARMOverrideBypasses::AA
protected

Definition at line 39 of file ARMLatencyMutations.h.

Referenced by memoryRAWHazard().

◆ DAG

ScheduleDAGInstrs* llvm::ARMOverrideBypasses::DAG = nullptr
protected

Definition at line 40 of file ARMLatencyMutations.h.

Referenced by apply().

◆ TII

const ARMBaseInstrInfo* llvm::ARMOverrideBypasses::TII
protected

Definition at line 38 of file ARMLatencyMutations.h.

Referenced by makeBundleAssumptions().


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