LLVM
15.0.0git
|
#include "ARM.h"
#include "ARMBaseInstrInfo.h"
#include "ARMSubtarget.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsARM.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Transforms/Utils/Local.h"
#include <algorithm>
#include <cassert>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "arm-mve-gather-scatter-lowering" |
Functions | |
INITIALIZE_PASS (MVEGatherScatterLowering, DEBUG_TYPE, "MVE gather/scattering lowering pass", false, false) Pass *llvm | |
static bool | checkOffsetSize (Value *Offsets, unsigned TargetElemCount) |
static bool | isAddLikeOr (Instruction *I, const DataLayout &DL) |
static bool | hasAllGatScatUsers (Instruction *I, const DataLayout &DL) |
static Value * | CheckAndCreateOffsetAdd (Value *X, Value *Y, Value *GEP, IRBuilder<> &Builder) |
Variables | |
cl::opt< bool > | EnableMaskedGatherScatters ("enable-arm-maskedgatscat", cl::Hidden, cl::init(true), cl::desc("Enable the generation of masked gathers and scatters")) |
#define DEBUG_TYPE "arm-mve-gather-scatter-lowering" |
Definition at line 48 of file MVEGatherScatterLowering.cpp.
|
static |
Definition at line 1106 of file MVEGatherScatterLowering.cpp.
References assert(), Builder, checkOffsetSize(), llvm::dbgs(), GEP, llvm::Constant::getAggregateElement(), llvm::VectorType::getElementType(), llvm::FixedVectorType::getNumElements(), llvm::Type::getPrimitiveSizeInBits(), llvm::Type::getScalarSizeInBits(), llvm::ConstantInt::getZExtValue(), i, LLVM_DEBUG, N, X, and Y.
|
static |
Definition at line 184 of file MVEGatherScatterLowering.cpp.
References llvm::Constant::getAggregateElement(), llvm::ConstantInt::getSExtValue(), llvm::Value::getType(), and i.
Referenced by CheckAndCreateOffsetAdd().
|
static |
Definition at line 940 of file MVEGatherScatterLowering.cpp.
References llvm::MCID::Add, DL, I, isAddLikeOr(), llvm::isGatherScatter(), and Mul.
INITIALIZE_PASS | ( | MVEGatherScatterLowering | , |
DEBUG_TYPE | , | ||
"MVE gather/scattering lowering pass" | , | ||
false | , | ||
false | |||
) |
Definition at line 163 of file MVEGatherScatterLowering.cpp.
|
static |
Definition at line 366 of file MVEGatherScatterLowering.cpp.
References DL, llvm::haveNoCommonBitsSet(), and I.
Referenced by hasAllGatScatUsers().