summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-05-02 23:22:24 +0000
committerChris Lattner <sabre@nondot.org>2006-05-02 23:22:24 +0000
commitb8065a9a3a8477908378449fa0007f955fe019b6 (patch)
treeba57768df52aa83ac85f1f1c54bef066e4d15412 /llvm/lib/Target
parentee1a61810c6cb4c9253cb7d1d53168dc5ac1dd98 (diff)
downloadbcm5719-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.cpp1
-rw-r--r--llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp2
-rw-r--r--llvm/lib/Target/X86/X86CodeEmitter.cpp2
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);
OpenPOWER on IntegriCloud