LLVM 22.0.0git
ScalarizeMaskedMemIntrin.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "scalarize-masked-mem-intrin"

Functions

static bool optimizeBlock (BasicBlock &BB, bool &ModifiedDT, const TargetTransformInfo &TTI, const DataLayout &DL, bool HasBranchDivergence, DomTreeUpdater *DTU)
static bool optimizeCallInst (CallInst *CI, bool &ModifiedDT, const TargetTransformInfo &TTI, const DataLayout &DL, bool HasBranchDivergence, DomTreeUpdater *DTU)
 INITIALIZE_PASS_BEGIN (ScalarizeMaskedMemIntrinLegacyPass, DEBUG_TYPE, "Scalarize unsupported masked memory intrinsics", false, false) INITIALIZE_PASS_END(ScalarizeMaskedMemIntrinLegacyPass
static bool isConstantIntVector (Value *Mask)
static unsigned adjustForEndian (const DataLayout &DL, unsigned VectorWidth, unsigned Idx)
static void scalarizeMaskedLoad (const DataLayout &DL, bool HasBranchDivergence, CallInst *CI, DomTreeUpdater *DTU, bool &ModifiedDT)
static void scalarizeMaskedStore (const DataLayout &DL, bool HasBranchDivergence, CallInst *CI, DomTreeUpdater *DTU, bool &ModifiedDT)
static void scalarizeMaskedGather (const DataLayout &DL, bool HasBranchDivergence, CallInst *CI, DomTreeUpdater *DTU, bool &ModifiedDT)
static void scalarizeMaskedScatter (const DataLayout &DL, bool HasBranchDivergence, CallInst *CI, DomTreeUpdater *DTU, bool &ModifiedDT)
static void scalarizeMaskedExpandLoad (const DataLayout &DL, bool HasBranchDivergence, CallInst *CI, DomTreeUpdater *DTU, bool &ModifiedDT)
static void scalarizeMaskedCompressStore (const DataLayout &DL, bool HasBranchDivergence, CallInst *CI, DomTreeUpdater *DTU, bool &ModifiedDT)
static void scalarizeMaskedVectorHistogram (const DataLayout &DL, CallInst *CI, DomTreeUpdater *DTU, bool &ModifiedDT)
static bool runImpl (Function &F, const TargetTransformInfo &TTI, DominatorTree *DT)

Variables

 DEBUG_TYPE
Scalarize unsupported masked memory intrinsics
Scalarize unsupported masked memory false

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "scalarize-masked-mem-intrin"

Definition at line 43 of file ScalarizeMaskedMemIntrin.cpp.

Function Documentation

◆ adjustForEndian()

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( ScalarizeMaskedMemIntrinLegacyPass ,
DEBUG_TYPE ,
"Scalarize unsupported masked memory intrinsics" ,
false ,
false  )

◆ isConstantIntVector()

◆ optimizeBlock()

bool optimizeBlock ( BasicBlock & BB,
bool & ModifiedDT,
const TargetTransformInfo & TTI,
const DataLayout & DL,
bool HasBranchDivergence,
DomTreeUpdater * DTU )
static

◆ optimizeCallInst()

◆ runImpl()

bool runImpl ( Function & F,
const TargetTransformInfo & TTI,
DominatorTree * DT )
static

Definition at line 1038 of file ScalarizeMaskedMemIntrin.cpp.

References DL, F, llvm::make_early_inc_range(), and optimizeBlock().

◆ scalarizeMaskedCompressStore()

◆ scalarizeMaskedExpandLoad()

◆ scalarizeMaskedGather()

◆ scalarizeMaskedLoad()

◆ scalarizeMaskedScatter()

◆ scalarizeMaskedStore()

◆ scalarizeMaskedVectorHistogram()

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 85 of file ScalarizeMaskedMemIntrin.cpp.

◆ false

Scalarize unsupported masked memory false

Definition at line 86 of file ScalarizeMaskedMemIntrin.cpp.

◆ intrinsics

Scalarize unsupported masked memory intrinsics

Definition at line 86 of file ScalarizeMaskedMemIntrin.cpp.