LLVM 20.0.0git
|
#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) |
|
static |
Definition at line 117 of file AMDGPUCombinerHelper.cpp.
References CostThreshold, hasSourceMods(), MI, MRI, and opMustUseVOP3Encoding().
Referenced by llvm::AMDGPUCombinerHelper::matchFoldableFneg().
|
static |
Definition at line 21 of file AMDGPUCombinerHelper.cpp.
References MI.
Referenced by llvm::AMDGPUCombinerHelper::matchFoldableFneg().
|
static |
Definition at line 78 of file AMDGPUCombinerHelper.cpp.
References MI.
Referenced by llvm::AMDGPUTargetLowering::allUsesHaveSourceMods(), and allUsesHaveSourceMods().
Definition at line 169 of file AMDGPUCombinerHelper.cpp.
References llvm_unreachable.
Referenced by llvm::AMDGPUCombinerHelper::applyFoldableFneg(), and llvm::AMDGPUTargetLowering::performFNegCombine().
|
static |
Definition at line 155 of file AMDGPUCombinerHelper.cpp.
References isInv2Pi(), llvm::MIPatternMatch::m_GFCstOrSplat(), MI, llvm::MIPatternMatch::mi_match(), and MRI.
Referenced by llvm::AMDGPUCombinerHelper::matchFoldableFneg().
|
static |
Definition at line 400 of file AMDGPUCombinerHelper.cpp.
References llvm::APFloat::convert(), llvm::APFloatBase::IEEEhalf(), MRI, llvm::APFloatBase::rmNearestTiesToEven, and llvm::LLT::scalar().
Referenced by llvm::AMDGPUCombinerHelper::matchExpandPromotedF16FMed3().
Definition at line 143 of file AMDGPUCombinerHelper.cpp.
References llvm::APFloat::bitwiseIsEqual().
Referenced by llvm::AMDGPUTargetLowering::getConstantNegateCost(), and isConstantCostlierToNegate().
|
static |
Definition at line 138 of file AMDGPUCombinerHelper.cpp.
Referenced by llvm::AMDGPUCombinerHelper::matchFoldableFneg().
|
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().