forked from OSchip/llvm-project
[polly] [ScopInfo] Don't pre-compute the name of the Scop's region.
This gets very expensive for basic blocks which don't have a name: it calls printAsOperand, which numbers the entire module. We don't normally need the name anyway, though; it's only used for debug dumps, so don't compute it by default. Differential Revision: https://reviews.llvm.org/D44946 llvm-svn: 328666
This commit is contained in:
parent
b62f86a6b7
commit
ac4ad45177
|
@ -1709,9 +1709,6 @@ private:
|
|||
/// The underlying Region.
|
||||
Region &R;
|
||||
|
||||
/// The name of the SCoP (identical to the regions name)
|
||||
std::string name;
|
||||
|
||||
/// The ID to be assigned to the next Scop in a function
|
||||
static int NextScopID;
|
||||
|
||||
|
@ -2442,7 +2439,7 @@ public:
|
|||
/// could be executed.
|
||||
bool isEmpty() const { return Stmts.empty(); }
|
||||
|
||||
const StringRef getName() const { return name; }
|
||||
const StringRef getName() const { return R.getNameStr(); }
|
||||
|
||||
using array_iterator = ArrayInfoSetTy::iterator;
|
||||
using const_array_iterator = ArrayInfoSetTy::const_iterator;
|
||||
|
|
|
@ -3327,8 +3327,8 @@ Scop::Scop(Region &R, ScalarEvolution &ScalarEvolution, LoopInfo &LI,
|
|||
DominatorTree &DT, ScopDetection::DetectionContext &DC,
|
||||
OptimizationRemarkEmitter &ORE)
|
||||
: IslCtx(isl_ctx_alloc(), isl_ctx_free), SE(&ScalarEvolution), DT(&DT),
|
||||
R(R), name(R.getNameStr()), HasSingleExitEdge(R.getExitingBlock()),
|
||||
DC(DC), ORE(ORE), Affinator(this, LI),
|
||||
R(R), HasSingleExitEdge(R.getExitingBlock()), DC(DC), ORE(ORE),
|
||||
Affinator(this, LI),
|
||||
ID(getNextID((*R.getEntry()->getParent()).getName().str())) {
|
||||
if (IslOnErrorAbort)
|
||||
isl_options_set_on_error(getIslCtx().get(), ISL_ON_ERROR_ABORT);
|
||||
|
|
Loading…
Reference in New Issue