[all-commits] [llvm/llvm-project] f4865c: Revert "[X86][AsmParser] Refactor code in AsmParser"

KanRobert via All-commits all-commits at lists.llvm.org
Fri May 12 07:50:42 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f4865c7c1795eb17b079e116791eb1419fea1620
      https://github.com/llvm/llvm-project/commit/f4865c7c1795eb17b079e116791eb1419fea1620
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
    R llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
    R llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.h
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/lib/Target/X86/X86MCInstLower.cpp

  Log Message:
  -----------
  Revert "[X86][AsmParser] Refactor code in AsmParser"

This reverts commit 8d657c461a5aa43e882071b3b5e0496961aa44a1.

Reverts it due to the regression reported in D150068.


  Commit: c13ed1cc75781fccc7cec91017e84341c3047229
      https://github.com/llvm/llvm-project/commit/c13ed1cc75781fccc7cec91017e84341c3047229
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
    A llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
    A llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.h
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/test/MC/X86/x86_64-avx-encoding.s
    M llvm/test/tools/llvm-mca/X86/show-encoding.s

  Log Message:
  -----------
  [X86][AsmParser] Refactor code and optimize more instructions from VEX3 to VEX2

1. Share code `optimizeInstFromVEX3ToVEX2` with MCInstLower
2. Move the code of optimization for shift/rotate to a separate file
3. Since the function is shared, a side effect is that more encoding
   optimizations are done on the Asmparser side. Considering we already
   use reverse-encoding for optimization in AsmParser before this patch,
   I believe the change is positive and expected.

This is a reland of D150068 with the fix D150440.


Compare: https://github.com/llvm/llvm-project/compare/72ebdb45ecad...c13ed1cc7578


More information about the All-commits mailing list