LLVM 20.0.0git
Namespaces | Functions
AArch64GlobalISelUtils.h File Reference
#include "MCTargetDesc/AArch64AddressingModes.h"
#include "Utils/AArch64BaseInfo.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "llvm/CodeGen/GlobalISel/Utils.h"
#include "llvm/CodeGen/Register.h"
#include "llvm/IR/InstrTypes.h"
#include <cstdint>

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::AArch64GISelUtils
 

Functions

constexpr bool llvm::AArch64GISelUtils::isLegalArithImmed (const uint64_t C)
 
std::optional< RegOrConstantllvm::AArch64GISelUtils::getAArch64VectorSplat (const MachineInstr &MI, const MachineRegisterInfo &MRI)
 
std::optional< int64_t > llvm::AArch64GISelUtils::getAArch64VectorSplatScalar (const MachineInstr &MI, const MachineRegisterInfo &MRI)
 
bool llvm::AArch64GISelUtils::isCMN (const MachineInstr *MaybeSub, const CmpInst::Predicate &Pred, const MachineRegisterInfo &MRI)
 
bool llvm::AArch64GISelUtils::tryEmitBZero (MachineInstr &MI, MachineIRBuilder &MIRBuilder, bool MinSize)
 Replace a G_MEMSET with a value of 0 with a G_BZERO instruction if it is supported and beneficial to do so.
 
std::tuple< uint16_t, Registerllvm::AArch64GISelUtils::extractPtrauthBlendDiscriminators (Register Disc, MachineRegisterInfo &MRI)
 Analyze a ptrauth discriminator value to try to find the constant integer and address parts, cracking a ptrauth_blend intrinsic if there is one.
 
void llvm::AArch64GISelUtils::changeFCMPPredToAArch64CC (const CmpInst::Predicate P, AArch64CC::CondCode &CondCode, AArch64CC::CondCode &CondCode2)
 Find the AArch64 condition codes necessary to represent P for a scalar floating point comparison.
 
void llvm::AArch64GISelUtils::changeVectorFCMPPredToAArch64CC (const CmpInst::Predicate P, AArch64CC::CondCode &CondCode, AArch64CC::CondCode &CondCode2, bool &Invert)
 Find the AArch64 condition codes necessary to represent P for a vector floating point comparison.