[all-commits] [llvm/llvm-project] f2dc14: AMDGPU: Move reg_sequence splat handling

Matt Arsenault via All-commits all-commits at lists.llvm.org
Fri May 16 14:45:10 PDT 2025


  Branch: refs/heads/users/arsenm/issue139317/move-reg-seq-init-handling
  Home:   https://github.com/llvm/llvm-project
  Commit: f2dc1401f2e3f4588ee5061ed2f93da29996666c
      https://github.com/llvm/llvm-project/commit/f2dc1401f2e3f4588ee5061ed2f93da29996666c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-05-16 (Fri, 16 May 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll

  Log Message:
  -----------
  AMDGPU: Move reg_sequence splat handling

This code clunkily tried to find a splat reg_sequence by
looking at every use of the reg_sequence, and then looking
back at the reg_sequence to see if it's a splat. Extract this
into a separate helper function to help clean this up. This now
parses whether the reg_sequence forms a splat once, and defers the
legal inline immediate check to the use check (which is really use
context dependent)

The one regression is in globalisel, which has an extra
copy that should have been separately folded out. It was getting
dealt with by the handling of foldable copies in tryToFoldACImm.

This is preparation for #139317



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