Added -print-emitted-asm to print out JIT generated asm to cerr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40123 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp
index 4d4bd3f..02fbf95 100644
--- a/lib/Target/X86/X86TargetMachine.cpp
+++ b/lib/Target/X86/X86TargetMachine.cpp
@@ -170,7 +170,7 @@
}
bool X86TargetMachine::addCodeEmitter(FunctionPassManager &PM, bool Fast,
- MachineCodeEmitter &MCE) {
+ bool DumpAsm, MachineCodeEmitter &MCE) {
// FIXME: Move this to TargetJITInfo!
setRelocationModel(Reloc::Static);
Subtarget.setPICStyle(PICStyle::None);
@@ -180,11 +180,16 @@
setCodeModel(CodeModel::Large);
PM.add(createX86CodeEmitterPass(*this, MCE));
+ if (DumpAsm)
+ PM.add(createX86CodePrinterPass(*cerr.stream(), *this));
+
return false;
}
bool X86TargetMachine::addSimpleCodeEmitter(FunctionPassManager &PM, bool Fast,
- MachineCodeEmitter &MCE) {
+ bool DumpAsm, MachineCodeEmitter &MCE) {
PM.add(createX86CodeEmitterPass(*this, MCE));
+ if (DumpAsm)
+ PM.add(createX86CodePrinterPass(*cerr.stream(), *this));
return false;
}
diff --git a/lib/Target/X86/X86TargetMachine.h b/lib/Target/X86/X86TargetMachine.h
index 0a4f1b5..56f8225 100644
--- a/lib/Target/X86/X86TargetMachine.h
+++ b/lib/Target/X86/X86TargetMachine.h
@@ -65,9 +65,9 @@
virtual bool addAssemblyEmitter(FunctionPassManager &PM, bool Fast,
std::ostream &Out);
virtual bool addCodeEmitter(FunctionPassManager &PM, bool Fast,
- MachineCodeEmitter &MCE);
+ bool DumpAsm, MachineCodeEmitter &MCE);
virtual bool addSimpleCodeEmitter(FunctionPassManager &PM, bool Fast,
- MachineCodeEmitter &MCE);
+ bool DumpAsm, MachineCodeEmitter &MCE);
};
/// X86_32TargetMachine - X86 32-bit target machine.