LLVM 22.0.0git
GCNVOPDUtils.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "gcn-vopd-utils"

Functions

static bool shouldScheduleVOPDAdjacent (const TargetInstrInfo &TII, const TargetSubtargetInfo &TSI, const MachineInstr *FirstMI, const MachineInstr &SecondMI)
 Check if the instr pair, FirstMI and SecondMI, should be scheduled together.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "gcn-vopd-utils"

Definition at line 35 of file GCNVOPDUtils.cpp.

Function Documentation

◆ shouldScheduleVOPDAdjacent()

bool shouldScheduleVOPDAdjacent ( const TargetInstrInfo & TII,
const TargetSubtargetInfo & TSI,
const MachineInstr * FirstMI,
const MachineInstr & SecondMI )
static

Check if the instr pair, FirstMI and SecondMI, should be scheduled together.

Given SecondMI, when FirstMI is unspecified, then check if SecondMI may be part of a fused pair at all.

Definition at line 188 of file GCNVOPDUtils.cpp.

References llvm::checkVOPDRegConstraints(), llvm::AMDGPU::getCanBeVOPD(), llvm::MachineInstr::getOpcode(), llvm::SIInstrInfo::getSubtarget(), llvm::AMDGPU::getVOPDEncodingFamily(), Opc, and TII.

Referenced by llvm::createVOPDPairingMutation().