mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
More code clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58872 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
53e4e4478c
commit
413a89f318
@ -140,7 +140,7 @@ namespace {
|
||||
/// Routines that handle operands which add machine relocations which are
|
||||
/// fixed up by the relocation stage.
|
||||
void emitGlobalAddress(GlobalValue *GV, unsigned Reloc,
|
||||
bool NeedStub, unsigned CPIdx = 0);
|
||||
bool NeedStub, intptr_t ACPV = 0);
|
||||
void emitExternalSymbolAddress(const char *ES, unsigned Reloc);
|
||||
void emitConstPoolAddress(unsigned CPI, unsigned Reloc);
|
||||
void emitJumpTableAddress(unsigned JTIndex, unsigned Reloc);
|
||||
@ -225,11 +225,10 @@ unsigned ARMCodeEmitter::getMachineOpValue(const MachineInstr &MI,
|
||||
|
||||
/// emitGlobalAddress - Emit the specified address to the code stream.
|
||||
///
|
||||
void ARMCodeEmitter::emitGlobalAddress(GlobalValue *GV,
|
||||
unsigned Reloc, bool NeedStub,
|
||||
unsigned CPIdx) {
|
||||
void ARMCodeEmitter::emitGlobalAddress(GlobalValue *GV, unsigned Reloc,
|
||||
bool NeedStub, intptr_t ACPV) {
|
||||
MCE.addRelocation(MachineRelocation::getGV(MCE.getCurrentPCOffset(),
|
||||
Reloc, GV, CPIdx, NeedStub));
|
||||
Reloc, GV, ACPV, NeedStub));
|
||||
}
|
||||
|
||||
/// emitExternalSymbolAddress - Arrange for the address of an external symbol to
|
||||
@ -337,7 +336,8 @@ void ARMCodeEmitter::emitConstPoolInstruction(const MachineInstr &MI) {
|
||||
GlobalValue *GV = ACPV->getGV();
|
||||
if (GV) {
|
||||
assert(!ACPV->isStub() && "Don't know how to deal this yet!");
|
||||
emitGlobalAddress(GV, ARM::reloc_arm_machine_cp_entry, false, CPIndex);
|
||||
emitGlobalAddress(GV, ARM::reloc_arm_machine_cp_entry, false,
|
||||
(intptr_t)ACPV);
|
||||
} else {
|
||||
assert(!ACPV->isNonLazyPointer() && "Don't know how to deal this yet!");
|
||||
emitExternalSymbolAddress(ACPV->getSymbol(), ARM::reloc_arm_absolute);
|
||||
|
@ -180,11 +180,7 @@ intptr_t ARMJITInfo::resolveRelocDestAddr(MachineRelocation *MR) const {
|
||||
// Constant pool entry address.
|
||||
return getConstantPoolEntryAddr(MR->getConstantPoolIndex());
|
||||
else if (RT == ARM::reloc_arm_machine_cp_entry) {
|
||||
const MachineConstantPoolEntry &MCPE = (*MCPEs)[MR->getConstantVal()];
|
||||
assert(MCPE.isMachineConstantPoolEntry() &&
|
||||
"Expecting a machine constant pool entry!");
|
||||
ARMConstantPoolValue *ACPV =
|
||||
static_cast<ARMConstantPoolValue*>(MCPE.Val.MachineCPVal);
|
||||
ARMConstantPoolValue *ACPV = (ARMConstantPoolValue*)MR->getConstantVal();
|
||||
assert((!ACPV->hasModifier() && !ACPV->mustAddCurrentAddress()) &&
|
||||
"Can't handle this machine constant pool entry yet!");
|
||||
intptr_t Addr = (intptr_t)(MR->getResultPointer());
|
||||
|
@ -27,10 +27,6 @@ namespace llvm {
|
||||
class ARMJITInfo : public TargetJITInfo {
|
||||
ARMTargetMachine &TM;
|
||||
|
||||
// MCPEs - List of the constant pool entries for the current machine
|
||||
// function that's being processed.
|
||||
const std::vector<MachineConstantPoolEntry> *MCPEs;
|
||||
|
||||
// ConstPoolId2AddrMap - A map from constant pool ids to the corresponding
|
||||
// CONSTPOOL_ENTRY addresses.
|
||||
SmallVector<intptr_t, 16> ConstPoolId2AddrMap;
|
||||
@ -89,8 +85,7 @@ namespace llvm {
|
||||
/// Initialize - Initialize internal stage. Get the list of constant pool
|
||||
/// Resize constant pool ids to CONSTPOOL_ENTRY addresses map.
|
||||
void Initialize(const MachineFunction &MF) {
|
||||
MCPEs = &MF.getConstantPool()->getConstants();
|
||||
ConstPoolId2AddrMap.resize(MCPEs->size());
|
||||
ConstPoolId2AddrMap.resize(MF.getConstantPool()->getConstants().size());
|
||||
JumpTableId2AddrMap.resize(MF.getJumpTableInfo()->getJumpTables().size());
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user