[llvm] [MC, X86] emitInstruction: remove virtual function calls due to Intel JCC Erratum (PR #96835)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 26 20:29:23 PDT 2024
================
@@ -1546,3 +1547,32 @@ MCAsmBackend *llvm::createX86_64AsmBackend(const Target &T,
return new ELFX86_X32AsmBackend(T, OSABI, STI);
return new ELFX86_64AsmBackend(T, OSABI, STI);
}
+
+namespace {
+class X86ELFStreamer : public MCELFStreamer {
+public:
+ X86ELFStreamer(MCContext &Context, std::unique_ptr<MCAsmBackend> TAB,
----------------
MaskRay wrote:
It's in `llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp`, which doesn't support Intel JCC Erratum.
There is some way to split X86AsmBackend.cpp into X86ELFStreamer.cpp, but that would be a quite large refactoring and otherwise do not yield a noticeable gain.
https://github.com/llvm/llvm-project/pull/96835
More information about the llvm-commits
mailing list