[all-commits] [llvm/llvm-project] 52e568: [GlobalISel][ARM] Legalization of G_CONSTANT using...

Serge Pavlov via All-commits all-commits at lists.llvm.org
Mon Oct 14 02:40:42 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 52e5683ddddad787caf15c8edfd34eb4a9c8704a
      https://github.com/llvm/llvm-project/commit/52e5683ddddad787caf15c8edfd34eb4a9c8704a
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-10-14 (Mon, 14 Oct 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMInstructionSelector.cpp
    M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
    M llvm/lib/Target/ARM/ARMLegalizerInfo.h
    M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
    A llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-const.mir
    M llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
    A llvm/test/CodeGen/ARM/GlobalISel/select-constpool.mir

  Log Message:
  -----------
  [GlobalISel][ARM] Legalization of G_CONSTANT using constant pool (#98308)

ARM uses complex encoding of immediate values using small number of
bits. As a result, some values cannot be represented as immediate
operands, they need to be synthesized in a register. This change
implements legalization of such constants with loading values from
constant pool.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>



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