LLVM 18.0.0git
|
#include "X86.h"
#include "X86InstrFoldTables.h"
#include "X86InstrInfo.h"
#include "X86Subtarget.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineConstantPool.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "x86-fixup-vector-constants" |
Functions | |
STATISTIC (NumInstChanges, "Number of instructions changes") | |
static const Constant * | getConstantFromPool (const MachineInstr &MI, const MachineOperand &Op) |
static std::optional< APInt > | extractConstantBits (const Constant *C) |
static std::optional< APInt > | getSplatableConstant (const Constant *C, unsigned SplatBitWidth) |
static Constant * | rebuildSplatableConstant (const Constant *C, unsigned SplatBitWidth) |
#define DEBUG_TYPE "x86-fixup-vector-constants" |
Definition at line 26 of file X86FixupVectorConstants.cpp.
Definition at line 84 of file X86FixupVectorConstants.cpp.
References assert(), llvm::CallingConv::C, E, extractConstantBits(), llvm::APInt::getSplat(), llvm::APInt::getZero(), and I.
Referenced by extractConstantBits(), and getSplatableConstant().
|
static |
Definition at line 66 of file X86FixupVectorConstants.cpp.
References llvm::MachineConstantPoolEntry::ConstVal, llvm::MachineConstantPoolEntry::isMachineConstantPoolEntry(), MI, and llvm::MachineConstantPoolEntry::Val.
Referenced by addConstantComments().
|
static |
Definition at line 127 of file X86FixupVectorConstants.cpp.
References assert(), llvm::CallingConv::C, extractConstantBits(), llvm::Constant::getAggregateElement(), llvm::Type::getPrimitiveSizeInBits(), llvm::Type::getScalarSizeInBits(), llvm::APInt::getZero(), I, Idx, and llvm::APInt::insertBits().
Referenced by rebuildSplatableConstant().
Definition at line 181 of file X86FixupVectorConstants.cpp.
References llvm::CallingConv::C, llvm::ConstantDataVector::get(), llvm::Type::getContext(), llvm::ConstantDataVector::getFP(), llvm::Type::getPrimitiveSizeInBits(), llvm::Type::getScalarType(), getSplatableConstant(), I, llvm::Type::is16bitFPTy(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::Splat.
STATISTIC | ( | NumInstChanges | , |
"Number of instructions changes" | |||
) |