From 8844a0ba898a3a1db7f5fd91ecf6a5402e3d51a0 Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Wed, 13 Aug 2003 18:17:27 +0000 Subject: [PATCH] addPassesToJITCompile and addPassesToEmitMachineCode now take a FunctionPassManager, to support function-at-a-time compilation and emission of code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7821 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetMachine.h | 7 ++++--- lib/Target/X86/X86CodeEmitter.cpp | 2 +- lib/Target/X86/X86TargetMachine.h | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/include/llvm/Target/TargetMachine.h b/include/llvm/Target/TargetMachine.h index 09bfca7ed26..11886db3f59 100644 --- a/include/llvm/Target/TargetMachine.h +++ b/include/llvm/Target/TargetMachine.h @@ -19,6 +19,7 @@ class TargetCacheInfo; class TargetOptInfo; class MachineCodeEmitter; class MRegisterInfo; +class FunctionPassManager; class PassManager; class Pass; @@ -79,7 +80,7 @@ public: /// implement a fast dynamic compiler for this target. Return true if this is /// not supported for this target. /// - virtual bool addPassesToJITCompile(PassManager &PM) { return true; } + virtual bool addPassesToJITCompile(FunctionPassManager &PM) { return true; } /// addPassesToEmitAssembly - Add passes to the specified pass manager to get /// assembly langage code emitted. Typically this will involve several steps @@ -91,12 +92,12 @@ public: } /// addPassesToEmitMachineCode - Add passes to the specified pass manager to - /// get machine code emitted. This uses a MAchineCodeEmitter object to handle + /// get machine code emitted. This uses a MachineCodeEmitter object to handle /// actually outputting the machine code and resolving things like the address /// of functions. This method should returns true if machine code emission is /// not supported. /// - virtual bool addPassesToEmitMachineCode(PassManager &PM, + virtual bool addPassesToEmitMachineCode(FunctionPassManager &PM, MachineCodeEmitter &MCE) { return true; } diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp index 50b1faac8b3..5f19edb4ab0 100644 --- a/lib/Target/X86/X86CodeEmitter.cpp +++ b/lib/Target/X86/X86CodeEmitter.cpp @@ -181,7 +181,7 @@ namespace { /// of functions. This method should returns true if machine code emission is /// not supported. /// -bool X86TargetMachine::addPassesToEmitMachineCode(PassManager &PM, +bool X86TargetMachine::addPassesToEmitMachineCode(FunctionPassManager &PM, MachineCodeEmitter &MCE) { PM.add(new Emitter(MCE)); return false; diff --git a/lib/Target/X86/X86TargetMachine.h b/lib/Target/X86/X86TargetMachine.h index 0b2981d3809..631b42ae868 100644 --- a/lib/Target/X86/X86TargetMachine.h +++ b/lib/Target/X86/X86TargetMachine.h @@ -9,6 +9,7 @@ #include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetFrameInfo.h" +#include "llvm/PassManager.h" #include "X86InstrInfo.h" class X86TargetMachine : public TargetMachine { @@ -32,15 +33,15 @@ public: /// implement a fast dynamic compiler for this target. Return true if this is /// not supported for this target. /// - virtual bool addPassesToJITCompile(PassManager &PM); + virtual bool addPassesToJITCompile(FunctionPassManager &PM); /// addPassesToEmitMachineCode - Add passes to the specified pass manager to - /// get machine code emitted. This uses a MAchineCodeEmitter object to handle + /// get machine code emitted. This uses a MachineCodeEmitter object to handle /// actually outputting the machine code and resolving things like the address /// of functions. This method should returns true if machine code emission is /// not supported. /// - virtual bool addPassesToEmitMachineCode(PassManager &PM, + virtual bool addPassesToEmitMachineCode(FunctionPassManager &PM, MachineCodeEmitter &MCE); virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out); -- 2.34.1