[all-commits] [llvm/llvm-project] ff3b08: [X86] Use bundle for CALL_RVMARKER expansion.

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Dec 14 02:53:51 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ff3b085ab0704ba505c398c3d18bde01a4df8209
      https://github.com/llvm/llvm-project/commit/ff3b085ab0704ba505c398c3d18bde01a4df8209
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-12-14 (Tue, 14 Dec 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/test/CodeGen/X86/call-rv-marker.ll
    M llvm/test/CodeGen/X86/expand-call-rvmarker.mir

  Log Message:
  -----------
  [X86] Use bundle for CALL_RVMARKER expansion.

This patch updates expandCALL_RVMARKER to wrap the call, marker and
objc runtime call in an instruction bundle. This ensures later passes,
like machine block placement, cannot break them up.

On AArch64, the instruction sequence is already wrapped in a bundle.
Keeping the whole instruction sequence together is highly desirable for
performance and outweighs potential other benefits from breaking the
sequence up.

Reviewed By: ahatanak

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




More information about the All-commits mailing list