[all-commits] [llvm/llvm-project] 644da7: [AMDGPU] Split edge to make si_if dominate end_cf

alex-t via All-commits all-commits at lists.llvm.org
Mon Dec 28 06:22:15 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 644da789e364b338227a13b5cc11dd03c8ae5ba8
      https://github.com/llvm/llvm-project/commit/644da789e364b338227a13b5cc11dd03c8ae5ba8
  Author: alex-t <alexander.timofeev at amd.com>
  Date:   2020-12-28 (Mon, 28 Dec 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    A llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll

  Log Message:
  -----------
  [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




More information about the All-commits mailing list