[all-commits] [llvm/llvm-project] 500b6d: SelectionDAG: Do not propagate divergence through ...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Jul 30 10:45:36 PDT 2024


  Branch: refs/heads/users/arsenm/dag-divergence-fix-inline-asm-copies
  Home:   https://github.com/llvm/llvm-project
  Commit: 500b6d68e1dc04f3270cc5dae9a9e0325f333fe2
      https://github.com/llvm/llvm-project/commit/500b6d68e1dc04f3270cc5dae9a9e0325f333fe2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.ll
    M llvm/test/CodeGen/AMDGPU/sdag-print-divergence.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected

  Log Message:
  -----------
  SelectionDAG: Do not propagate divergence through copy glue

This fixes DAG divergence mishandling inline asm.

This was considering the glue nodes for divergence, when the
divergence should only come from the individual CopyFromRegs
that are glued. As a result, having any VGPR CopyFromRegs would
taint any uniform SGPR copies as divergent, resulting in SGPR
copies to VGPR virtual registers later.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list