[PATCH] D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB
Jeremy Morse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 20 14:48:29 PDT 2020
jmorse added a comment.
In D89088#2342853 <https://reviews.llvm.org/D89088#2342853>, @dmajor wrote:
> Adding @jmorse in case D83046 <https://reviews.llvm.org/D83046> is related.
Technically D83046 <https://reviews.llvm.org/D83046> is NFC, it just juggles the files where the pass implementation lives, however this is definitely my area of focus,
> The dump of the affected machine function is: https://paste.mozilla.org/g44ZAPGr.
Thanks for the dump; if I'm interpreting it correctly, the entry block itself has a predecessor:
bb.2 (%ir-block.16):
; predecessors: %bb.1
(Working on the convention that the first block in the function is the entry block). The dataflow implementation doesn't believe this can ever happen, and the assertion hit assumes that the entry block can be identified by its lack of predecessors. At a shallow level, that could be tightened up to identify the entry block by whether it's the first block in the function. IMO it'd be an acceptable immediate fix.
If an entry block with a predecessor is legal behaviour, we'd need to change other parts of the algorithm too as the formal dataflow definitions require a block with no predecessors to begin exploration at. There's a risk that more variable locations get dropped than necessary.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89088/new/
https://reviews.llvm.org/D89088
More information about the llvm-commits
mailing list