LLVM 19.0.0git
Namespaces | Functions
SPIRVPrepareFunctions.cpp File Reference
#include "SPIRV.h"
#include "SPIRVSubtarget.h"
#include "SPIRVTargetMachine.h"
#include "SPIRVUtils.h"
#include "llvm/CodeGen/IntrinsicLowering.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsSPIRV.h"
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/Transforms/Utils/LowerMemIntrinsics.h"

Go to the source code of this file.

Namespaces

namespace  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) std
 
static FunctiongetOrCreateFunction (Module *M, Type *RetTy, ArrayRef< Type * > ArgTypes, StringRef Name)
 
static bool lowerIntrinsicToFunction (IntrinsicInst *Intrinsic)
 
static void lowerFunnelShifts (IntrinsicInst *FSHIntrinsic)
 
static void buildUMulWithOverflowFunc (Function *UMulFunc)
 
static void lowerExpectAssume (IntrinsicInst *II)
 
static bool toSpvOverloadedIntrinsic (IntrinsicInst *II, Intrinsic::ID NewID, ArrayRef< unsigned > OpNos)
 
static void lowerUMulWithOverflow (IntrinsicInst *UMulIntrinsic)
 

Function Documentation

◆ buildUMulWithOverflowFunc()

static void buildUMulWithOverflowFunc ( 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   
)

◆ lowerExpectAssume()

static void lowerExpectAssume ( IntrinsicInst II)
static

◆ lowerFunnelShifts()

static void lowerFunnelShifts ( IntrinsicInst FSHIntrinsic)
static

◆ lowerIntrinsicToFunction()

static bool lowerIntrinsicToFunction ( IntrinsicInst Intrinsic)
static

◆ lowerUMulWithOverflow()

static void lowerUMulWithOverflow ( IntrinsicInst UMulIntrinsic)
static

◆ toSpvOverloadedIntrinsic()

static bool toSpvOverloadedIntrinsic ( IntrinsicInst II,
Intrinsic::ID  NewID,
ArrayRef< unsigned OpNos 
)
static