If a divergent branch instruction is marked as divergent by propagation
rule 2 in DivergencePropagator::exploreSyncDependency() and its condition
is uniform, that branch would incorrectly be assumed to be uniform.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Not yet sure why the condition was not marked as divergent, but I think it was intentional.
Also not sure why the code was like this in the first place, but the new code seems to work fine.