[PATCH] D35267: Pass Divergence Analysis data to selection DAG to drive divergence dependent instruction selection
Alexander via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 20 06:02:53 PST 2018
alex-t added a comment.
In https://reviews.llvm.org/D35267#1010640, @efriedma wrote:
> I still want a verifier, a function which checks the bits currently saved on SelectionDAG nodes are the same as the bits we would compute from scratch (and calls report_fatal_error() if they aren't). Maybe call it in a couple places in SelectionDAGISel::CodeGenAndEmitDAG() if assertions are enabled.
It will then assert on the combining x*0 => 0 since the divergence of "*" node is changed from "true" to "false".
We have 2 options:
1. restrict any changes in divergence bits and assert if they changed
2. update rather tan verify bits after combiner/legalizer
I'd vote for the "option 1". Verification has polynomial complexity and would increase compile time and memory consumption significantly. I expect such a checks "OFF" by default.
https://reviews.llvm.org/D35267
More information about the llvm-commits
mailing list