Add getCurrentPCOffset() and addRelocation() methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18034 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-11-20 03:44:39 +00:00
parent fab11a7110
commit 47012c0c71
2 changed files with 26 additions and 5 deletions

View File

@ -75,6 +75,20 @@ public:
///
virtual void emitWord(unsigned W) = 0;
/// getCurrentPCValue - This returns the address that the next emitted byte
/// will be output to.
///
virtual uint64_t getCurrentPCValue() = 0;
/// getCurrentPCOffset - Return the offset from the start of the emitted
/// buffer that we are currently writing to.
virtual uint64_t getCurrentPCOffset() = 0;
/// addRelocation - Whenever a relocatable address is needed, it should be
/// noted with this interface.
virtual void addRelocation(const MachineRelocation &MR) = 0;
/// getGlobalValueAddress - This method is used to get the address of the
/// specified global value. In some cases, however, the address may not yet
/// be known at the point that the method is called (for example, getting the
@ -90,11 +104,6 @@ public:
//
virtual uint64_t getConstantPoolEntryAddress(unsigned Index) = 0;
// getCurrentPCValue - This returns the address that the next emitted byte
// will be output to.
//
virtual uint64_t getCurrentPCValue() = 0;
// forceCompilationOf - Force the compilation of the specified function, and
// return its address, because we REALLY need the address now.
//

View File

@ -47,10 +47,15 @@ namespace {
<< (void*) Ptr << ") ";
}
void addRelocation(const MachineRelocation &MR) {
std::cout << "<relocation> ";
}
uint64_t getGlobalValueAddress(GlobalValue *V) { return 0; }
uint64_t getGlobalValueAddress(const char *Name) { return 0; }
uint64_t getConstantPoolEntryAddress(unsigned Num) { return 0; }
uint64_t getCurrentPCValue() { return 0; }
uint64_t getCurrentPCOffset() { return 0; }
// forceCompilationOf - Force the compilation of the specified function, and
// return its address, because we REALLY need the address now.
@ -157,6 +162,13 @@ namespace {
uint64_t getCurrentPCValue() {
return MCE.getCurrentPCValue();
}
uint64_t getCurrentPCOffset() {
return MCE.getCurrentPCOffset();
}
void addRelocation(const MachineRelocation &MR) {
return MCE.addRelocation(MR);
}
// forceCompilationOf - Force the compilation of the specified function, and
// return its address, because we REALLY need the address now.
//