[all-commits] [llvm/llvm-project] 4da4e7: [X86] Remove X86ISD::LCMPXCHG8_SAVE_EBX_DAG and LC...

topperc via All-commits all-commits at lists.llvm.org
Mon Oct 5 15:19:01 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4da4e7cb2092c80ccb5c6c7e013b0f103c14d3e0
      https://github.com/llvm/llvm-project/commit/4da4e7cb2092c80ccb5c6c7e013b0f103c14d3e0
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-10-05 (Mon, 05 Oct 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrInfo.td

  Log Message:
  -----------
  [X86] Remove X86ISD::LCMPXCHG8_SAVE_EBX_DAG and LCMPXCHG8B_SAVE_EBX pseudo instruction

This and its friend X86ISD::LCMPXCHG8_SAVE_RBX_DAG are used if we need to avoid clobbering the frame pointer in EBX/RBX. EBX/RBX are only used a frame pointer in 64-bit mode. In 64-bit mode we don't use CMPXCHG8B since we have a GR64 cmpxchg available. So we don't need special handling for LCMPXCHG8B.

Split from D88808

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




More information about the All-commits mailing list