[all-commits] [llvm/llvm-project] 6415f4: [AArch64] Materialize FP constant in code for larg...

Jonas Hahnfeld via All-commits all-commits at lists.llvm.org
Wed Apr 7 12:02:47 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6415f424bc2a3bbb4f2fd7bb67863968ac3c19f6
      https://github.com/llvm/llvm-project/commit/6415f424bc2a3bbb4f2fd7bb67863968ac3c19f6
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2021-04-07 (Wed, 07 Apr 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    A llvm/test/CodeGen/AArch64/fast-isel-fpimm.ll
    M llvm/test/CodeGen/AArch64/fpimm.ll
    M llvm/test/CodeGen/AArch64/literal_pools_float.ll

  Log Message:
  -----------
  [AArch64] Materialize FP constant in code for large code model

When using the large code model with FastISel (for example via
clang -O0 which adds the optnone attribute), FP constants could
still be materialized using adrp + ldr. Unconditionally enable
the existing path for MachO to materialize the constant in code.

For testing, restore literal_pools_float.ll to exercise the constant
pool and add two optnone-functions that return a float and a double,
respectively. Consolidate fpimm.ll and add a new fast-isel-fpimm.ll
to check the code paths taken with FastISel.

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




More information about the All-commits mailing list