LLVM 20.0.0git
|
#include "RISCV.h"
#include "RISCVTargetMachine.h"
#include "llvm/Analysis/InstSimplifyFolder.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/Analysis/VectorUtils.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/IntrinsicsRISCV.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/Transforms/Utils/Local.h"
#include <optional>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "riscv-gather-scatter-lowering" |
Functions | |
INITIALIZE_PASS (RISCVGatherScatterLowering, DEBUG_TYPE, "RISC-V gather/scatter lowering pass", false, false) FunctionPass *llvm | |
static std::pair< Value *, Value * > | matchStridedConstant (Constant *StartC) |
static std::pair< Value *, Value * > | matchStridedStart (Value *Start, IRBuilderBase &Builder) |
#define DEBUG_TYPE "riscv-gather-scatter-lowering" |
Definition at line 32 of file RISCVGatherScatterLowering.cpp.
INITIALIZE_PASS | ( | RISCVGatherScatterLowering | , |
DEBUG_TYPE | , | ||
"RISC-V gather/scatter lowering pass" | , | ||
false | , | ||
false | |||
) |
Definition at line 82 of file RISCVGatherScatterLowering.cpp.
Definition at line 90 of file RISCVGatherScatterLowering.cpp.
References llvm::CallingConv::C, llvm::Constant::getAggregateElement(), llvm::Value::getType(), and llvm::ConstantInt::getValue().
Referenced by matchStridedStart().
|
static |
Definition at line 122 of file RISCVGatherScatterLowering.cpp.
References llvm::IRBuilderBase::CreateAdd(), llvm::IRBuilderBase::CreateMul(), llvm::IRBuilderBase::CreateShl(), llvm::getSplatValue(), llvm::Instruction::isCommutative(), llvm_unreachable, llvm::PatternMatch::match(), matchStridedConstant(), matchStridedStart(), llvm::IRBuilderBase::SetCurrentDebugLocation(), llvm::IRBuilderBase::SetInsertPoint(), and llvm::Splat.
Referenced by matchStridedStart().