LLVM 22.0.0git
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:
[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

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.

References AA, and TII.

Member Function Documentation

◆ apply()

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

◆ makeBundleAssumptions()

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

◆ memoryRAWHazard()

◆ 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 ARMOverrideBypasses(), and 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 ARMOverrideBypasses(), and makeBundleAssumptions().


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