[all-commits] [llvm/llvm-project] 49d5bb: [AArch64][GlobalISel] Materialize 64b FP immediate...

Amara Emerson via All-commits all-commits at lists.llvm.org
Thu Aug 31 22:23:52 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 49d5bb4b34e3df48421681dfbd844e2cff51b3b0
  Author: Amara Emerson <amara at apple.com>
  Date:   2023-08-31 (Thu, 31 Aug 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/arm64-fp-imm-size.ll
    M llvm/test/CodeGen/AArch64/arm64-fp-imm.ll
    M llvm/test/CodeGen/AArch64/fpimm.ll
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll

  Log Message:
  [AArch64][GlobalISel] Materialize 64b FP immediates instead of loading if profitable.

This just mimics what the SDAG backend does.

  Commit: 8ba1c38a0d70a8e972f1f011629d6391f8744072
  Author: Amara Emerson <amara at apple.com>
  Date:   2023-08-31 (Thu, 31 Aug 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/localizer-arm64-tti.ll

  Log Message:
  [AArch64][GlobalISel] Add heuristics for G_FCONSTANT localization.

Now that in an earlier commit we adopt the heuristics for SDAG's expansion
of 32/64b fpimms to either GPR materializations or CP load, we can also improve
the localizer to also understand the same heuristics. This avoids localizing
expensive immediates as that increases code size.

The combination of these two changes results in minor improvements in CTMark -Os,
and bigger improvements in some other cases.

Compare: https://github.com/llvm/llvm-project/compare/d2232e687317...8ba1c38a0d70

More information about the All-commits mailing list