LLVM
15.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. More... | |
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 |
Definition at line 113 of file AMDGPUCombinerHelper.cpp.
References CostThreshold, hasSourceMods(), MI, MRI, opMustUseVOP3Encoding(), and llvm::MachineRegisterInfo::use_nodbg_instructions().
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 llvm::ISD::INLINEASM, llvm::ISD::INLINEASM_BR, and MI.
Referenced by allUsesHaveSourceMods().
|
static |
Definition at line 165 of file AMDGPUCombinerHelper.cpp.
References llvm_unreachable.
Referenced by AMDGPUCombinerHelper::applyFoldableFneg().
|
static |
Definition at line 151 of file AMDGPUCombinerHelper.cpp.
References isInv2Pi(), llvm::APFloat::isNegative(), llvm::APFloat::isZero(), llvm::MIPatternMatch::m_GFCstOrSplat(), MI, llvm::MIPatternMatch::mi_match(), MRI, llvm::ARM_MB::ST, and llvm::FPValueAndVReg::Value.
Referenced by AMDGPUCombinerHelper::matchFoldableFneg().
Definition at line 139 of file AMDGPUCombinerHelper.cpp.
References llvm::APFloat::bitwiseIsEqual(), llvm::APFloatBase::IEEEdouble(), llvm::APFloatBase::IEEEhalf(), and llvm::APFloatBase::IEEEsingle().
Referenced by 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(), llvm::MachineRegisterInfo::getType(), MI, and MRI.
Referenced by allUsesHaveSourceMods().