LLVM  14.0.0git
Macros | Functions | Variables
MVEGatherScatterLowering.cpp File Reference
#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>
Include dependency graph for MVEGatherScatterLowering.cpp:

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 hasAllGatScatUsers (Instruction *I)
 
static ValueCheckAndCreateOffsetAdd (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"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "arm-mve-gather-scatter-lowering"

Definition at line 48 of file MVEGatherScatterLowering.cpp.

Function Documentation

◆ CheckAndCreateOffsetAdd()

static Value* CheckAndCreateOffsetAdd ( Value X,
Value Y,
Value GEP,
IRBuilder<> &  Builder 
)
static

◆ checkOffsetSize()

static bool checkOffsetSize ( Value Offsets,
unsigned  TargetElemCount 
)
static

◆ hasAllGatScatUsers()

static bool hasAllGatScatUsers ( Instruction I)
static

Definition at line 926 of file MVEGatherScatterLowering.cpp.

References llvm::MCID::Add, I, and llvm::isGatherScatter().

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( MVEGatherScatterLowering  ,
DEBUG_TYPE  ,
"MVE gather/scattering lowering pass ,
false  ,
false   
)

Definition at line 162 of file MVEGatherScatterLowering.cpp.

Variable Documentation

◆ EnableMaskedGatherScatters

cl::opt<bool> EnableMaskedGatherScatters("enable-arm-maskedgatscat", cl::Hidden, cl::init(true), cl::desc("Enable the generation of masked gathers and scatters"))