Suck block address tracking out of targets into the JIT Emitter. This

simplifies the MachineCodeEmitter interface just a little bit and makes
BasicBlocks work like constant pools and jump tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28082 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-05-03 17:10:41 +00:00
parent 5c488182da
commit b4432f3d47
6 changed files with 74 additions and 73 deletions

View File

@ -61,20 +61,23 @@ namespace llvm {
void addRelocation(const MachineRelocation &MR) {
assert(0 && "relo not handled yet!");
}
virtual uint64_t getConstantPoolEntryAddress(unsigned Index) {
virtual void StartMachineBasicBlock(MachineBasicBlock *MBB) {
}
virtual intptr_t getConstantPoolEntryAddress(unsigned Index) const {
assert(0 && "CP not implementated yet!");
return 0;
}
virtual uint64_t getJumpTableEntryAddress(unsigned Index) {
virtual intptr_t getJumpTableEntryAddress(unsigned Index) const {
assert(0 && "JT not implementated yet!");
return 0;
}
virtual void emitJumpTableInfo(MachineJumpTableInfo *MJTI,
std::vector<uint64_t> &MBBM) {
assert(0 && "JT not implementated yet!");
}
virtual intptr_t getMachineBasicBlockAddress(MachineBasicBlock *MBB) const {
assert(0 && "JT not implementated yet!");
return 0;
}
/// JIT SPECIFIC FUNCTIONS - DO NOT IMPLEMENT THESE HERE!
void startFunctionStub(unsigned StubSize) {