Intel® Implicit SPMD Program Compiler (Intel® ISPC)  1.13.0
Public Member Functions | Static Public Attributes | List of all members
ImproveMemoryOpsPass Class Reference
Inheritance diagram for ImproveMemoryOpsPass:
Inheritance graph
[legend]
Collaboration diagram for ImproveMemoryOpsPass:
Collaboration graph
[legend]

Public Member Functions

 ImproveMemoryOpsPass ()
 
llvm::StringRef getPassName () const
 
bool runOnBasicBlock (llvm::BasicBlock &BB)
 
bool runOnFunction (llvm::Function &F)
 

Static Public Attributes

static char ID = 0
 

Detailed Description

When the front-end emits gathers and scatters, it generates an array of vector-width pointers to represent the set of addresses to read from or write to. This optimization detects cases when the base pointer is a uniform pointer or when the indexing is into an array that can be converted into scatters/gathers from a single base pointer and an array of offsets.

See for example the comments discussing the __pseudo_gather functions in builtins.cpp for more information about this.

Definition at line 1128 of file opt.cpp.

Constructor & Destructor Documentation

◆ ImproveMemoryOpsPass()

ImproveMemoryOpsPass::ImproveMemoryOpsPass ( )
inline

Definition at line 1131 of file opt.cpp.

Member Function Documentation

◆ getPassName()

llvm::StringRef ImproveMemoryOpsPass::getPassName ( ) const
inline

Definition at line 1133 of file opt.cpp.

References ID.

◆ runOnBasicBlock()

bool ImproveMemoryOpsPass::runOnBasicBlock ( llvm::BasicBlock &  BB)

◆ runOnFunction()

bool ImproveMemoryOpsPass::runOnFunction ( llvm::Function &  F)

Definition at line 2797 of file opt.cpp.

Member Data Documentation

◆ ID

char ImproveMemoryOpsPass::ID = 0
static

Definition at line 1130 of file opt.cpp.

Referenced by getPassName().


The documentation for this class was generated from the following file: