mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-30 21:56:43 +00:00
IslNodeBuilder: expose addReferencesFromStmt [NFC]
This will be used by Polly GPGPU to determine the values that need to be passed to GPU kernels. llvm-svn: 276269
This commit is contained in:
parent
04b909fcca
commit
86083da0ec
@ -27,6 +27,18 @@ struct isl_ast_node;
|
||||
struct isl_ast_build;
|
||||
struct isl_union_map;
|
||||
|
||||
struct SubtreeReferences {
|
||||
LoopInfo &LI;
|
||||
ScalarEvolution &SE;
|
||||
Scop &S;
|
||||
ValueMapT &GlobalMap;
|
||||
SetVector<Value *> &Values;
|
||||
SetVector<const SCEV *> &SCEVs;
|
||||
BlockGenerator &BlockGen;
|
||||
};
|
||||
|
||||
isl_stat addReferencesFromStmt(const ScopStmt *Stmt, void *UserPtr);
|
||||
|
||||
class IslNodeBuilder {
|
||||
public:
|
||||
IslNodeBuilder(PollyIRBuilder &Builder, ScopAnnotator &Annotator, Pass *P,
|
||||
|
@ -177,16 +177,6 @@ int IslNodeBuilder::getNumberOfIterations(__isl_keep isl_ast_node *For) {
|
||||
return NumberIterations + 1;
|
||||
}
|
||||
|
||||
struct SubtreeReferences {
|
||||
LoopInfo &LI;
|
||||
ScalarEvolution &SE;
|
||||
Scop &S;
|
||||
ValueMapT &GlobalMap;
|
||||
SetVector<Value *> &Values;
|
||||
SetVector<const SCEV *> &SCEVs;
|
||||
BlockGenerator &BlockGen;
|
||||
};
|
||||
|
||||
/// @brief Extract the values and SCEVs needed to generate code for a block.
|
||||
static int findReferencesInBlock(struct SubtreeReferences &References,
|
||||
const ScopStmt *Stmt, const BasicBlock *BB) {
|
||||
@ -213,7 +203,7 @@ static int findReferencesInBlock(struct SubtreeReferences &References,
|
||||
/// @param Stmt The statement for which to extract the information.
|
||||
/// @param UserPtr A void pointer that can be casted to a SubtreeReferences
|
||||
/// structure.
|
||||
static isl_stat addReferencesFromStmt(const ScopStmt *Stmt, void *UserPtr) {
|
||||
isl_stat addReferencesFromStmt(const ScopStmt *Stmt, void *UserPtr) {
|
||||
auto &References = *static_cast<struct SubtreeReferences *>(UserPtr);
|
||||
|
||||
if (Stmt->isBlockStmt())
|
||||
|
Loading…
x
Reference in New Issue
Block a user