diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86CodeEmitter.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86CodeEmitter.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86CodeEmitter.cpp b/llvm/lib/Target/X86/X86CodeEmitter.cpp index 567f180ced0..304613a2df5 100644 --- a/llvm/lib/Target/X86/X86CodeEmitter.cpp +++ b/llvm/lib/Target/X86/X86CodeEmitter.cpp @@ -1099,8 +1099,19 @@ public: }; } +#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)); } |

