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
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.