LLVM  16.0.0git
Namespaces | Functions
SPIRVPrepareFunctions.cpp File Reference
#include "SPIRV.h"
#include "SPIRVTargetMachine.h"
#include "SPIRVUtils.h"
#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/Transforms/Utils/LowerMemIntrinsics.h"
Include dependency graph for SPIRVPrepareFunctions.cpp:

Go to the source code of this file.

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

void llvm::initializeSPIRVPrepareFunctionsPass (PassRegistry &)
 
 INITIALIZE_PASS (SPIRVPrepareFunctions, "prepare-functions", "SPIRV prepare functions", false, false) Function *SPIRVPrepareFunctions
 
std::string lowerLLVMIntrinsicName (IntrinsicInst *II)
 
static FunctiongetOrCreateFunction (Module *M, Type *RetTy, ArrayRef< Type * > ArgTypes, StringRef Name)
 
static void lowerIntrinsicToFunction (Module *M, IntrinsicInst *Intrinsic)
 
static void lowerFunnelShifts (Module *M, IntrinsicInst *FSHIntrinsic)
 
static void buildUMulWithOverflowFunc (Module *M, Function *UMulFunc)
 
static void lowerUMulWithOverflow (Module *M, IntrinsicInst *UMulIntrinsic)
 
static void substituteIntrinsicCalls (Module *M, Function *F)
 

Function Documentation

◆ buildUMulWithOverflowFunc()

static void buildUMulWithOverflowFunc ( Module M,
Function UMulFunc 
)
static

◆ getOrCreateFunction()

static Function* getOrCreateFunction ( Module M,
Type RetTy,
ArrayRef< Type * >  ArgTypes,
StringRef  Name 
)
static

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( SPIRVPrepareFunctions  ,
"prepare-functions ,
"SPIRV prepare functions ,
false  ,
false   
)

◆ lowerFunnelShifts()

static void lowerFunnelShifts ( Module M,
IntrinsicInst FSHIntrinsic 
)
static

◆ lowerIntrinsicToFunction()

static void lowerIntrinsicToFunction ( Module M,
IntrinsicInst Intrinsic 
)
static

◆ lowerLLVMIntrinsicName()

std::string lowerLLVMIntrinsicName ( IntrinsicInst II)

◆ lowerUMulWithOverflow()

static void lowerUMulWithOverflow ( Module M,
IntrinsicInst UMulIntrinsic 
)
static

◆ substituteIntrinsicCalls()

static void substituteIntrinsicCalls ( Module M,
Function F 
)
static