Revert "[X86] Remove patterns for ADC/SBB with immediate 8 and optimize during MC...
authorHans Wennborg <hans@chromium.org>
Fri, 19 May 2023 12:29:06 +0000 (14:29 +0200)
committerHans Wennborg <hans@chromium.org>
Fri, 19 May 2023 12:43:33 +0000 (14:43 +0200)
commitcb16b33a03aff70b2499c3452f2f817f3f92d20d
treea46fbff5080d18f29ad6142e27e6bf98d5b30729
parent218841af7cd48468bcd43852f6089f36d108f018
Revert "[X86] Remove patterns for ADC/SBB with immediate 8 and optimize during MC lowering, NFCI"

This caused compiler assertions, see comment on
https://reviews.llvm.org/D150107.

This also reverts the dependent follow-up change:

> [X86] Remove patterns for ADD/AND/OR/SUB/XOR/CMP with immediate 8 and optimize during MC lowering, NFCI
>
> This is follow-up of D150107.
>
> In addition, the function `X86::optimizeToFixedRegisterOrShortImmediateForm` can be
> shared with project bolt and eliminates the code in X86InstrRelaxTables.cpp.
>
> Differential Revision: https://reviews.llvm.org/D150949

This reverts commit 2ef8ae134828876ab3ebda4a81bb2df7b095d030 and
5586bc539acb26cb94e461438de01a5080513401.
63 files changed:
llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.h
llvm/lib/Target/X86/X86CallFrameOptimization.cpp
llvm/lib/Target/X86/X86DynAllocaExpander.cpp
llvm/lib/Target/X86/X86FastISel.cpp
llvm/lib/Target/X86/X86FixupLEAs.cpp
llvm/lib/Target/X86/X86FrameLowering.cpp
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrArithmetic.td
llvm/lib/Target/X86/X86InstrCompiler.td
llvm/lib/Target/X86/X86InstrInfo.cpp
llvm/lib/Target/X86/X86InstructionSelector.cpp
llvm/lib/Target/X86/X86MCInstLower.cpp
llvm/test/CodeGen/MIR/X86/branch-folder-with-label.mir
llvm/test/CodeGen/X86/AMX/amx-greedy-ra-spill-shape.ll
llvm/test/CodeGen/X86/GlobalISel/select-blsi.mir
llvm/test/CodeGen/X86/GlobalISel/select-cmp.mir
llvm/test/CodeGen/X86/GlobalISel/select-ext-x86-64.mir
llvm/test/CodeGen/X86/GlobalISel/select-ext.mir
llvm/test/CodeGen/X86/GlobalISel/x86_64-select-zext.mir
llvm/test/CodeGen/X86/avxvnni-combine.ll
llvm/test/CodeGen/X86/cfi-xmm.ll
llvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll
llvm/test/CodeGen/X86/fast-regalloc-live-out-debug-values.mir
llvm/test/CodeGen/X86/leaFixup32.mir
llvm/test/CodeGen/X86/leaFixup64.mir
llvm/test/CodeGen/X86/limit-split-cost.mir
llvm/test/CodeGen/X86/machinesink-debug-inv-0.mir
llvm/test/CodeGen/X86/optimize-compare.mir
llvm/test/CodeGen/X86/peephole-fold-testrr.mir
llvm/test/CodeGen/X86/pr46827.ll
llvm/test/CodeGen/X86/push-cfi.ll
llvm/test/CodeGen/X86/statepoint-cmp-sunk-past-statepoint.ll
llvm/test/CodeGen/X86/switch-bit-test-unreachable-default.ll
llvm/test/CodeGen/X86/switch-lower-peel-top-case.ll
llvm/test/CodeGen/X86/tail-call-conditional.mir
llvm/test/CodeGen/X86/tail-merge-after-mbp.mir
llvm/test/CodeGen/X86/throws-cfi-fp.ll
llvm/test/CodeGen/X86/twoaddr-dbg-value.mir
llvm/test/CodeGen/X86/update-terminator-debugloc.ll
llvm/test/CodeGen/X86/vecloadextract.ll
llvm/test/DebugInfo/MIR/InstrRef/stack-coloring-dbg-phi.mir
llvm/test/DebugInfo/MIR/InstrRef/twoaddr-to-threeaddr-sub.mir
llvm/test/DebugInfo/MIR/InstrRef/x86-lea-fixup-2.mir
llvm/test/DebugInfo/MIR/InstrRef/x86-lea-fixup.mir
llvm/test/DebugInfo/MIR/X86/empty-inline.mir
llvm/test/DebugInfo/MIR/X86/kill-after-spill.mir
llvm/test/DebugInfo/MIR/X86/live-debug-values-stack-clobber.mir
llvm/test/DebugInfo/MIR/X86/machinesink-subreg.mir
llvm/test/DebugInfo/MIR/X86/machinesink.mir
llvm/test/DebugInfo/MIR/X86/merge-inline-loc4.mir
llvm/test/DebugInfo/MIR/X86/mlicm-hoist-post-regalloc.mir
llvm/test/DebugInfo/X86/debug-loc-asan.mir
llvm/test/DebugInfo/X86/debug-loc-offset.mir
llvm/test/DebugInfo/X86/location-range.mir
llvm/test/DebugInfo/X86/machinecse-wrongdebug-hoist.ll
llvm/test/DebugInfo/X86/sdag-dbgvalue-ssareg.ll
llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
llvm/test/TableGen/x86-fold-tables.inc
llvm/test/Transforms/SampleProfile/pseudo-probe-twoaddr.ll
llvm/utils/TableGen/X86ManualFoldTables.def