[all-commits] [llvm/llvm-project] aa3589: [MC, X86] emitInstruction: remove virtual function ...

Fangrui Song via All-commits all-commits at lists.llvm.org
Thu Jun 27 09:43:53 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aa3589f0ccc0848fa8d5847afdbc8dd9b9c624e7
      https://github.com/llvm/llvm-project/commit/aa3589f0ccc0848fa8d5847afdbc8dd9b9c624e7
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-06-27 (Thu, 27 Jun 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp

  Log Message:
  -----------
  [MC,X86] emitInstruction: remove virtual function calls due to Intel JCC Erratum

https://reviews.llvm.org/D70157 (for Intel Jump Conditional Code
Erratum) introduced two virtual function calls in the generic
MCObjectStreamer::emitInstruction, which added some overhead.

This patch removes the virtual function overhead:

* Define `llvm::X86_MC::emitInstruction` that calls `emitInstruction{Begin,End}`.
* Define {X86ELFStreamer,X86WinCOFFStreamer}::emitInstruction to call `llvm::X86_MC::emitInstruction`

Pull Request: https://github.com/llvm/llvm-project/pull/96835



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list