diff options
author | Chris Lattner <sabre@nondot.org> | 2006-05-02 23:22:24 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-05-02 23:22:24 +0000 |
commit | b8065a9a3a8477908378449fa0007f955fe019b6 (patch) | |
tree | ba57768df52aa83ac85f1f1c54bef066e4d15412 /llvm/lib/Target | |
parent | ee1a61810c6cb4c9253cb7d1d53168dc5ac1dd98 (diff) | |
download | bcm5719-llvm-b8065a9a3a8477908378449fa0007f955fe019b6.tar.gz bcm5719-llvm-b8065a9a3a8477908378449fa0007f955fe019b6.zip |
Several related changes:
1. Change several methods in the MachineCodeEmitter class to be pure virtual.
2. Suck emitConstantPool/initJumpTableInfo into startFunction, removing them
from the MachineCodeEmitter interface, and reducing the amount of target-
specific code.
3. Change the JITEmitter so that it allocates constantpools and jump tables
*right* next to the functions that they belong to, instead of in a separate
pool of memory. This makes all memory for a function be contiguous, and
means the JITEmitter only tracks one block of memory now.
llvm-svn: 28065
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp | 1 | ||||
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86CodeEmitter.cpp | 2 |
3 files changed, 0 insertions, 5 deletions
diff --git a/llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp b/llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp index a04cd37adce..1c3398ea07a 100644 --- a/llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp +++ b/llvm/lib/Target/Alpha/AlphaCodeEmitter.cpp @@ -81,7 +81,6 @@ bool AlphaCodeEmitter::runOnMachineFunction(MachineFunction &MF) { BasicBlockAddrs.clear(); MCE.startFunction(MF); - MCE.emitConstantPool(MF.getConstantPool()); for (MachineFunction::iterator I = MF.begin(), E = MF.end(); I != E; ++I) emitBasicBlock(*I); } while (MCE.finishFunction(MF)); diff --git a/llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp b/llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp index 6fe68292080..a01ae99df18 100644 --- a/llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp +++ b/llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp @@ -90,8 +90,6 @@ bool PPCCodeEmitter::runOnMachineFunction(MachineFunction &MF) { BBLocations.clear(); MCE.startFunction(MF); - MCE.emitConstantPool(MF.getConstantPool()); - MCE.initJumpTableInfo(MF.getJumpTableInfo()); for (MachineFunction::iterator BB = MF.begin(), E = MF.end(); BB != E; ++BB) emitBasicBlock(*BB); MCE.emitJumpTableInfo(MF.getJumpTableInfo(), BBLocations); diff --git a/llvm/lib/Target/X86/X86CodeEmitter.cpp b/llvm/lib/Target/X86/X86CodeEmitter.cpp index 175dae5ee16..20e17d0dbf5 100644 --- a/llvm/lib/Target/X86/X86CodeEmitter.cpp +++ b/llvm/lib/Target/X86/X86CodeEmitter.cpp @@ -86,8 +86,6 @@ bool Emitter::runOnMachineFunction(MachineFunction &MF) { BasicBlockAddrs.clear(); MCE.startFunction(MF); - MCE.emitConstantPool(MF.getConstantPool()); - MCE.initJumpTableInfo(MF.getJumpTableInfo()); for (MachineFunction::iterator I = MF.begin(), E = MF.end(); I != E; ++I) emitBasicBlock(*I); MCE.emitJumpTableInfo(MF.getJumpTableInfo(), BasicBlockAddrs); |