[all-commits] [llvm/llvm-project] 9f38a6: GlobalIsel: Precommit fma combine tests with one o...

petar-avramovic via All-commits all-commits at lists.llvm.org
Wed Jan 12 08:48:05 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9f38a681cf25df5263105a8a4022d34caf3be051
      https://github.com/llvm/llvm-project/commit/9f38a681cf25df5263105a8a4022d34caf3be051
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2022-01-12 (Wed, 12 Jan 2022)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir

  Log Message:
  -----------
  GlobalIsel: Precommit fma combine tests with one operand from unmerge


  Commit: c8c5dc766b259a64daf8e43045bed4e01455078c
      https://github.com/llvm/llvm-project/commit/c8c5dc766b259a64daf8e43045bed4e01455078c
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2022-01-12 (Wed, 12 Jan 2022)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir

  Log Message:
  -----------
  GlobalIsel: Fix fma combine when one of the operands comes from unmerge

Fma combine assumes that MRI.getVRegDef(Reg)->getOperand(0).getReg() = Reg
which is not true when Reg is defined by instruction with multiple defs
e.g. G_UNMERGE_VALUES.
Fix is to keep register and the instruction that defines register in
DefinitionAndSourceRegister and use when needed.

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


Compare: https://github.com/llvm/llvm-project/compare/d5be48c66d3e...c8c5dc766b25


More information about the All-commits mailing list