[PATCH] D35663: [Polly] Remove dependency of `Scop::getStmtFor(Inst)` on `getStmtFor(BB)`. [NFC].

Nandini Singhal via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 25 06:02:05 PDT 2017


nandini12396 marked 2 inline comments as done.
nandini12396 added inline comments.


================
Comment at: lib/Analysis/ScopInfo.cpp:4828
   StmtMap[BB].push_back(Stmt);
+  for (Instruction &Inst : *BB) {
+    assert(!InstStmtMap[&Inst] &&
----------------
Meinersbur wrote:
> To fix the `fx_basic_util_crash.ll` case, only map the instructions that are actually in the statement (The `Instructions` vector).
> 
> However, this causes 31 other tests to break, particularly on `assert(Parent.getStmtFor(AccessVal) == this)`. That assertion can be removed, it is suficient if the value is syntesizable in the statement.
> 
> Then there are still 3 other failing tests remaining.
yes, I had earlier inserted only the instructions of the `Instructions` vector into the Map. But I reverted because I didnt understand how can this be a non-functional change? 
Apart from that assertion for me, only 2 other tests fail on `!Inst->mayReadOrWriteMemory()`. Im thinking why so..
And Im also thinking why this should fix the `fx_basic_util_crash.ll` case.


https://reviews.llvm.org/D35663





More information about the llvm-commits mailing list