|
LLVM 23.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" |
| #define DEBUG_TYPE "x86-fixup-vector-constants" |
Definition at line 27 of file X86FixupVectorConstants.cpp.
Definition at line 91 of file X86FixupVectorConstants.cpp.
References assert(), llvm::CallingConv::C, llvm::dyn_cast(), E(), extractConstantBits(), llvm::User::getOperand(), llvm::APInt::getSplat(), getSplatValueAllowUndef(), llvm::APInt::getZero(), I, and llvm::isa().
Referenced by extractConstantBits(), extractConstantBits(), getSplatableConstant(), rebuildExtCst(), and rebuildZeroUpperCst().
Definition at line 155 of file X86FixupVectorConstants.cpp.
References llvm::CallingConv::C, and extractConstantBits().
Definition at line 164 of file X86FixupVectorConstants.cpp.
References AbstractManglingParser< Derived, Alloc >::NumOps, assert(), llvm::CallingConv::C, llvm::dyn_cast(), extractConstantBits(), llvm::Constant::getAggregateElement(), llvm::APInt::getZero(), I, llvm::APInt::insertBits(), and llvm::isa().
Referenced by rebuildSplatCst().
|
static |
Normally, we only allow poison in vector splats.
However, as this is part of the backend, and working with the DAG representation, which currently only natively represents undef values, we need to accept undefs here.
Definition at line 76 of file X86FixupVectorConstants.cpp.
References llvm::CallingConv::C, llvm::cast(), and llvm::isa().
Referenced by extractConstantBits().
| INITIALIZE_PASS | ( | X86FixupVectorConstantsLegacy | , |
| DEBUG_TYPE | , | ||
| DEBUG_TYPE | , | ||
| false | , | ||
| false | ) |
Definition at line 66 of file X86FixupVectorConstants.cpp.
References llvm::createX86FixupVectorConstantsLegacyPass(), and DEBUG_TYPE.
|
static |
Definition at line 217 of file X86FixupVectorConstants.cpp.
References assert(), llvm::BitWidth, llvm::ConstantDataVector::get(), llvm::ConstantDataVector::getFP(), I, llvm::Type::is16bitFPTy(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by rebuildExtCst(), rebuildSplatCst(), and rebuildZeroUpperCst().
|
static |
Definition at line 306 of file X86FixupVectorConstants.cpp.
References assert(), llvm::CallingConv::C, extractConstantBits(), llvm::APInt::getActiveBits(), llvm::APInt::getSignificantBits(), llvm::APInt::getZero(), I, llvm::APInt::insertBits(), rebuildConstant(), and llvm::APInt::trunc().
Referenced by rebuildSExtCst(), and rebuildZExtCst().
|
static |
Definition at line 336 of file X86FixupVectorConstants.cpp.
References llvm::CallingConv::C, and rebuildExtCst().
|
static |
Definition at line 258 of file X86FixupVectorConstants.cpp.
References llvm::CallingConv::C, llvm::Type::getPrimitiveSizeInBits(), getSplatableConstant(), rebuildConstant(), and llvm::Splat.
|
static |
Definition at line 280 of file X86FixupVectorConstants.cpp.
References llvm::CallingConv::C, extractConstantBits(), llvm::Type::getPrimitiveSizeInBits(), and rebuildConstant().
|
static |
Definition at line 340 of file X86FixupVectorConstants.cpp.
References llvm::CallingConv::C, and rebuildExtCst().
| STATISTIC | ( | NumInstChanges | , |
| "Number of instructions changes" | ) |