#include "polly/Support/ScopHelper.h"
#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/Support/SCEVValidator.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/RegionInfo.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/LoopUtils.h"
#include "llvm/Transforms/Utils/ScalarEvolutionExpander.h"
#include <optional>
Go to the source code of this file.
|
static cl::list< std::string > | DebugFunctions ("polly-debug-func", cl::desc("Allow calls to the specified functions in SCoPs even if their " "side-effects are unknown. This can be used to do debug output in " "Polly-transformed code."), cl::Hidden, cl::CommaSeparated, cl::cat(PollyCategory)) |
|
static void | simplifyRegionEntry (Region *R, DominatorTree *DT, LoopInfo *LI, RegionInfo *RI) |
|
static void | simplifyRegionExit (Region *R, DominatorTree *DT, LoopInfo *LI, RegionInfo *RI) |
|
static BasicBlock * | splitBlock (BasicBlock *Old, Instruction *SplitPt, DominatorTree *DT, llvm::LoopInfo *LI, RegionInfo *RI) |
|
static bool | hasVariantIndex (GetElementPtrInst *Gep, Loop *L, Region &R, ScalarEvolution &SE) |
|
static bool | hasDebugCall (BasicBlock *BB) |
|
static MDNode * | findNamedMetadataNode (MDNode *LoopMD, StringRef Name) |
| Find a property in a LoopID.
|
|
static std::optional< const MDOperand * > | findNamedMetadataArg (MDNode *LoopID, StringRef Name) |
|
static std::optional< bool > | getOptionalBoolLoopAttribute (MDNode *LoopID, StringRef Name) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "polly-scop-helper" |
◆ DebugFunctions()
static cl::list< std::string > DebugFunctions |
( |
"polly-debug-func" |
, |
|
|
cl::desc("Allow calls to the specified functions in SCoPs even if their " "side-effects are unknown. This can be used to do debug output in " "Polly-transformed code.") |
, |
|
|
cl::Hidden |
, |
|
|
cl::CommaSeparated |
, |
|
|
cl::cat(PollyCategory) |
|
|
) |
| |
|
static |
◆ findNamedMetadataArg()
static std::optional< const MDOperand * > findNamedMetadataArg |
( |
MDNode * |
LoopID, |
|
|
StringRef |
Name |
|
) |
| |
|
static |
◆ findNamedMetadataNode()
static MDNode * findNamedMetadataNode |
( |
MDNode * |
LoopMD, |
|
|
StringRef |
Name |
|
) |
| |
|
static |
◆ getOptionalBoolLoopAttribute()
static std::optional< bool > getOptionalBoolLoopAttribute |
( |
MDNode * |
LoopID, |
|
|
StringRef |
Name |
|
) |
| |
|
static |
◆ hasDebugCall()
static bool hasDebugCall |
( |
BasicBlock * |
BB | ) |
|
|
static |
◆ hasVariantIndex()
static bool hasVariantIndex |
( |
GetElementPtrInst * |
Gep, |
|
|
Loop * |
L, |
|
|
Region & |
R, |
|
|
ScalarEvolution & |
SE |
|
) |
| |
|
static |
◆ simplifyRegionEntry()
static void simplifyRegionEntry |
( |
Region * |
R, |
|
|
DominatorTree * |
DT, |
|
|
LoopInfo * |
LI, |
|
|
RegionInfo * |
RI |
|
) |
| |
|
static |
◆ simplifyRegionExit()
static void simplifyRegionExit |
( |
Region * |
R, |
|
|
DominatorTree * |
DT, |
|
|
LoopInfo * |
LI, |
|
|
RegionInfo * |
RI |
|
) |
| |
|
static |
◆ splitBlock()
static BasicBlock * splitBlock |
( |
BasicBlock * |
Old, |
|
|
Instruction * |
SplitPt, |
|
|
DominatorTree * |
DT, |
|
|
llvm::LoopInfo * |
LI, |
|
|
RegionInfo * |
RI |
|
) |
| |
|
static |