[PATCH] D111448: [BPI] Handle incomplete state in BPI
Anna Thomas via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 8 11:35:15 PDT 2021
anna added a comment.
In D111448#3052089 <https://reviews.llvm.org/D111448#3052089>, @asbirlea wrote:
> I'm confused how the intermittent assert occurs. Is the compilation non-deterministic?
Compilation is deterministic.
There can be couple of reasons (I couldn't find the reason for the intermittent failure) :
1. Underlying data structure for `Probs` is `DenseMap<Edge, BranchProbability>`. Iteration through `Probs` is non-determistic, but I don't see us relying on that in BPI.
2. It could also be that some pass within our LPM invocation has non-determinism in iteration through `use-list` or the way the successors are updated (this LPM is made up of all upstream passes: LoopPredication, LICM, LoopSimplifyCFG, LoopUnswitch<non-trivial>, GuardWidening).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111448/new/
https://reviews.llvm.org/D111448
More information about the llvm-commits
mailing list