mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-01 01:26:56 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28065 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -58,10 +58,6 @@ namespace llvm {
|
||||
void startFunction(MachineFunction &F);
|
||||
bool finishFunction(MachineFunction &F);
|
||||
|
||||
void emitConstantPool(MachineConstantPool *MCP) {
|
||||
if (MCP->isEmpty()) return;
|
||||
assert(0 && "unimp");
|
||||
}
|
||||
void addRelocation(const MachineRelocation &MR) {
|
||||
assert(0 && "relo not handled yet!");
|
||||
}
|
||||
@@ -73,6 +69,12 @@ namespace llvm {
|
||||
assert(0 && "JT not implementated yet!");
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual void emitJumpTableInfo(MachineJumpTableInfo *MJTI,
|
||||
std::map<MachineBasicBlock*,uint64_t> &MBBM){
|
||||
assert(0 && "JT not implementated yet!");
|
||||
}
|
||||
|
||||
|
||||
/// JIT SPECIFIC FUNCTIONS - DO NOT IMPLEMENT THESE HERE!
|
||||
void startFunctionStub(unsigned StubSize) {
|
||||
|
Reference in New Issue
Block a user