LLVM 20.0.0git
Functions
AMDGPUCombinerHelper.cpp File Reference
#include "AMDGPUCombinerHelper.h"
#include "GCNSubtarget.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "llvm/CodeGen/GlobalISel/GenericMachineInstrs.h"
#include "llvm/CodeGen/GlobalISel/MIPatternMatch.h"
#include "llvm/IR/IntrinsicsAMDGPU.h"
#include "llvm/Target/TargetMachine.h"

Go to the source code of this file.

Functions

static LLVM_READNONE bool fnegFoldsIntoMI (const MachineInstr &MI)
 
static LLVM_READONLY bool opMustUseVOP3Encoding (const MachineInstr &MI, const MachineRegisterInfo &MRI)
 returns true if the operation will definitely need to use a 64-bit encoding, and thus will use a VOP3 encoding regardless of the source modifiers.
 
static LLVM_READONLY bool hasSourceMods (const MachineInstr &MI)
 
static bool allUsesHaveSourceMods (MachineInstr &MI, MachineRegisterInfo &MRI, unsigned CostThreshold=4)
 
static bool mayIgnoreSignedZero (MachineInstr &MI)
 
static bool isInv2Pi (const APFloat &APF)
 
static bool isConstantCostlierToNegate (MachineInstr &MI, Register Reg, MachineRegisterInfo &MRI)
 
static unsigned inverseMinMax (unsigned Opc)
 
static bool isFPExtFromF16OrConst (const MachineRegisterInfo &MRI, Register Reg)
 

Function Documentation

◆ allUsesHaveSourceMods()

static bool allUsesHaveSourceMods ( MachineInstr MI,
MachineRegisterInfo MRI,
unsigned  CostThreshold = 4 
)
static

◆ fnegFoldsIntoMI()

static LLVM_READNONE bool fnegFoldsIntoMI ( const MachineInstr MI)
static

Definition at line 21 of file AMDGPUCombinerHelper.cpp.

References MI.

Referenced by llvm::AMDGPUCombinerHelper::matchFoldableFneg().

◆ hasSourceMods()

static LLVM_READONLY bool hasSourceMods ( const MachineInstr MI)
static

◆ inverseMinMax()

static unsigned inverseMinMax ( unsigned  Opc)
static

◆ isConstantCostlierToNegate()

static bool isConstantCostlierToNegate ( MachineInstr MI,
Register  Reg,
MachineRegisterInfo MRI 
)
static

◆ isFPExtFromF16OrConst()

static bool isFPExtFromF16OrConst ( const MachineRegisterInfo MRI,
Register  Reg 
)
static

◆ isInv2Pi()

static bool isInv2Pi ( const APFloat APF)
static

◆ mayIgnoreSignedZero()

static bool mayIgnoreSignedZero ( MachineInstr MI)
static

Definition at line 138 of file AMDGPUCombinerHelper.cpp.

References MI, and Options.

Referenced by llvm::AMDGPUCombinerHelper::matchFoldableFneg().

◆ opMustUseVOP3Encoding()

static LLVM_READONLY bool opMustUseVOP3Encoding ( const MachineInstr MI,
const MachineRegisterInfo MRI 
)
static

returns true if the operation will definitely need to use a 64-bit encoding, and thus will use a VOP3 encoding regardless of the source modifiers.

Definition at line 70 of file AMDGPUCombinerHelper.cpp.

References getScalarSizeInBits(), MI, and MRI.

Referenced by llvm::AMDGPUTargetLowering::allUsesHaveSourceMods(), and allUsesHaveSourceMods().