LLVM 17.0.0git
|
#include "AMDGPUCombinerHelper.h"
#include "GCNSubtarget.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.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 113 of file AMDGPUCombinerHelper.cpp.
References CostThreshold, hasSourceMods(), MI, MRI, and opMustUseVOP3Encoding().
Referenced by AMDGPUCombinerHelper::matchFoldableFneg().
|
static |
Definition at line 20 of file AMDGPUCombinerHelper.cpp.
References MI.
Referenced by AMDGPUCombinerHelper::matchFoldableFneg().
|
static |
Definition at line 76 of file AMDGPUCombinerHelper.cpp.
References MI.
Referenced by llvm::AMDGPUTargetLowering::allUsesHaveSourceMods(), and allUsesHaveSourceMods().
Definition at line 165 of file AMDGPUCombinerHelper.cpp.
References llvm_unreachable.
Referenced by AMDGPUCombinerHelper::applyFoldableFneg(), and llvm::AMDGPUTargetLowering::performFNegCombine().
|
static |
Definition at line 151 of file AMDGPUCombinerHelper.cpp.
References isInv2Pi(), llvm::MIPatternMatch::m_GFCstOrSplat(), MI, llvm::MIPatternMatch::mi_match(), and MRI.
Referenced by AMDGPUCombinerHelper::matchFoldableFneg().
|
static |
Definition at line 386 of file AMDGPUCombinerHelper.cpp.
References llvm::APFloat::convert(), MRI, and llvm::LLT::scalar().
Referenced by AMDGPUCombinerHelper::matchExpandPromotedF16FMed3().
Definition at line 139 of file AMDGPUCombinerHelper.cpp.
References llvm::APFloat::bitwiseIsEqual().
Referenced by llvm::AMDGPUTargetLowering::getConstantNegateCost(), and isConstantCostlierToNegate().
|
static |
Definition at line 134 of file AMDGPUCombinerHelper.cpp.
Referenced by 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 67 of file AMDGPUCombinerHelper.cpp.
References getScalarSizeInBits(), MI, and MRI.
Referenced by llvm::AMDGPUTargetLowering::allUsesHaveSourceMods(), and allUsesHaveSourceMods().