[all-commits] [llvm/llvm-project] 222fde: GlobalISel: Use extension instead of merge with un...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Jul 13 08:20:04 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 222fde1eec341a47f571a8afdf90e83c3a830c5b
      https://github.com/llvm/llvm-project/commit/222fde1eec341a47f571a8afdf90e83c3a830c5b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2021-07-13 (Tue, 13 Jul 2021)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll

  Log Message:
  -----------
  GlobalISel: Use extension instead of merge with undef in common case

This fixes not respecting signext/zeroext in these cases. In the
anyext case, this avoids a larger merge with undef and should be a
better canonical form.

This should also handle this if a merge is needed, but I'm not aware
of a case where that can happen. In a future change this will also
allow AMDGPU to drop some custom code without introducing regressions.


  Commit: fb44c3223e0c36e969762dd182b4992061b455d3
      https://github.com/llvm/llvm-project/commit/fb44c3223e0c36e969762dd182b4992061b455d3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2021-07-13 (Tue, 13 Jul 2021)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td

  Log Message:
  -----------
  AMDGPU: Promote signext/zeroext i16 shader returns

This makes them consistent with all the other return convention
handling. If we don't do this, we lose the sext/zext flag if treated
as a full assignment, which complicates a future GlobalISel patch.


Compare: https://github.com/llvm/llvm-project/compare/77a608d9de47...fb44c3223e0c


More information about the All-commits mailing list