[all-commits] [llvm/llvm-project] 4f198b: [X86] Pass to transform amx intrinsics to scalar o...

yubingex007-a11y via All-commits all-commits at lists.llvm.org
Mon Mar 15 19:41:16 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f198b0c27b04e830a3069aaf4b39cf203eaae4a
      https://github.com/llvm/llvm-project/commit/4f198b0c27b04e830a3069aaf4b39cf203eaae4a
  Author: Bing1 Yu <bing1.yu at intel.com>
  Date:   2021-03-16 (Tue, 16 Mar 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/lib/Target/X86/CMakeLists.txt
    M llvm/lib/Target/X86/X86.h
    A llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    A llvm/test/CodeGen/X86/AMX/amx-low-intrinsics-no-amx-bitcast.ll
    A llvm/test/CodeGen/X86/AMX/amx-low-intrinsics.ll
    M llvm/test/CodeGen/X86/AMX/amx-type.ll
    M llvm/test/CodeGen/X86/O0-pipeline.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll
    M llvm/tools/opt/opt.cpp

  Log Message:
  -----------
  [X86] Pass to transform amx intrinsics to scalar operation.

This pass runs in any situations but we skip it when it is not O0 and the
function doesn't have optnone attribute. With -O0, the def of shape to amx
intrinsics is near the amx intrinsics code. We are not able to find a
point which post-dominate all the shape and dominate all amx intrinsics.
To decouple the dependency of the shape, we transform amx intrinsics
to scalar operation, so that compiling doesn't fail. In long term, we
 should improve fast register allocation to allocate amx register.

Reviewed By: pengfei

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




More information about the All-commits mailing list