diff options
author | Brian Gaeke <gaeke@uiuc.edu> | 2004-03-04 19:22:16 +0000 |
---|---|---|
committer | Brian Gaeke <gaeke@uiuc.edu> | 2004-03-04 19:22:16 +0000 |
commit | 7a3ae1fbada713dc6b079debf2a5ad5ba32157f7 (patch) | |
tree | 0a4f8305e657f07f1bfec5c8812c11b94a3c0d6b /lib/Target/Sparc/SparcTargetMachine.cpp | |
parent | da5c5a5b956a3974403b74ffacfb31cf3742066b (diff) |
Support -print-machineinstrs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12124 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/SparcTargetMachine.cpp')
-rw-r--r-- | lib/Target/Sparc/SparcTargetMachine.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/Target/Sparc/SparcTargetMachine.cpp b/lib/Target/Sparc/SparcTargetMachine.cpp index 581c535ccb..1b5b80abdb 100644 --- a/lib/Target/Sparc/SparcTargetMachine.cpp +++ b/lib/Target/Sparc/SparcTargetMachine.cpp @@ -42,19 +42,22 @@ bool SparcV8TargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out) { PM.add(createSparcV8SimpleInstructionSelector(*this)); - // Print machine instructions as they are created. - PM.add(createMachineFunctionPrinterPass(&std::cerr)); + // Print machine instructions as they were initially generated. + if (PrintMachineCode) + PM.add(createMachineFunctionPrinterPass(&std::cerr)); PM.add(createRegisterAllocator()); PM.add(createPrologEpilogCodeInserter()); - // <insert assembly code output passes here> - // This is not a correct asm writer by any means, but at least we see what we - // are producing. - PM.add(createMachineFunctionPrinterPass(&Out)); + // Print machine instructions after register allocation and prolog/epilog + // insertion. + if (PrintMachineCode) + PM.add(createMachineFunctionPrinterPass(&std::cerr)); + // Output assembly language. PM.add(createSparcV8CodePrinterPass(Out, *this)); + // Delete the MachineInstrs we generated, since they're no longer needed. PM.add(createMachineCodeDeleter()); return false; } |