[all-commits] [llvm/llvm-project] a5902a: [X86][NFC] Rename variables/passes for EVEX compre...

Shengchen Kan via All-commits all-commits at lists.llvm.org
Fri Jan 5 20:41:36 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a5902a4d2425ac083f1530719e35b5c562cb1e60
      https://github.com/llvm/llvm-project/commit/a5902a4d2425ac083f1530719e35b5c562cb1e60
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-06 (Sat, 06 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/CMakeLists.txt
    M llvm/lib/Target/X86/X86.h
    A llvm/lib/Target/X86/X86CompressEVEX.cpp
    R llvm/lib/Target/X86/X86EvexToVex.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/test/CodeGen/X86/O0-pipeline.ll
    M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
    M llvm/test/CodeGen/X86/opt-pipeline.ll
    M llvm/utils/TableGen/CMakeLists.txt
    A llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
    R llvm/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp

  Log Message:
  -----------
  [X86][NFC] Rename variables/passes for EVEX compression optimization

RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031

APX introduces EGPR, NDD and NF instructions. In addition to compressing
EVEX encoded AVX512 instructions into VEX encoding, we also have several
more possible optimizations.

a. Promoted instruction (EVEX space) -> pre-promotion instruction (legacy space)
b. NDD (EVEX space) -> non-NDD (legacy space)
c. NF_ND (EVEX space) -> NF (EVEX space)

The first two types of compression can usually reduce code size, while
the third type of compression can help hardware decode although the
instruction length remains unchanged.

So we do the renaming for the upcoming APX optimizations.

BTW, I clang-format the code in X86CompressEVEX.cpp,
X86CompressEVEXTablesEmitter.cpp.

This patch also extracts the NFC in #77065 into a separate commit.




More information about the All-commits mailing list