stub out a new X86 encoder, which can be tried with
-enable-new-x86-encoder until its stable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95256 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp
index 567f180..304613a 100644
--- a/lib/Target/X86/X86CodeEmitter.cpp
+++ b/lib/Target/X86/X86CodeEmitter.cpp
@@ -1099,8 +1099,19 @@
};
}
+#include "llvm/Support/CommandLine.h"
+
+static cl::opt<bool> EnableNewEncoder("enable-new-x86-encoder",
+ cl::ReallyHidden);
+
+
// Ok, now you can look.
-MCCodeEmitter *llvm::createHeinousX86MCCodeEmitter(const Target &,
+MCCodeEmitter *llvm::createHeinousX86MCCodeEmitter(const Target &T,
TargetMachine &TM) {
+
+ // FIXME: Remove the heinous one when the new one works.
+ if (EnableNewEncoder)
+ return createX86MCCodeEmitter(T, TM);
+
return new X86MCCodeEmitter(static_cast<X86TargetMachine&>(TM));
}