HomePhabricator

[AMDGPU] Split edge to make si_if dominate end_cf

Authored by alex-t on Nov 13 2020, 8:07 AM.

Description

[AMDGPU] Split edge to make si_if dominate end_cf

Basic block containing "if" not necessarily dominates block that is the "false" target for the if.

That "false" target block may have another predecessor besides the "if" block. IR value corresponding to the Exec mask is generated by the

si_if intrinsic and then used by the end_cf intrinsic. In this case IR verifier complains that 'Def does not dominate all uses'.

This change split the edge between the "if" block and "false" target block to make it dominated by the "if" block.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D91435

Details

Committed
alex-tDec 28 2020, 6:14 AM
Reviewer
arsenm
Differential Revision
D91435: [AMDGPU] Split edge to make si_if dominate end_cf
Parents
rGe673d4019947: [RISCV] Define vmsbf.m/vmsif.m/vmsof.m/viota.m/vid.v intrinsics.
Branches
Unknown
Tags
Unknown