No, IDEFs shouldn't be JITed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22648 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Lenharth 2005-08-04 15:32:36 +00:00
parent cd33eef1b2
commit 3f55a4fcab
2 changed files with 6 additions and 3 deletions

View File

@ -89,9 +89,11 @@ bool AlphaCodeEmitter::runOnMachineFunction(MachineFunction &MF) {
for (unsigned i = 0, e = BBRefs.size(); i != e; ++i) {
unsigned* Location = (unsigned*)BasicBlockAddrs[BBRefs[i].first];
unsigned* Ref = (unsigned*)BBRefs[i].second;
intptr_t BranchTargetDisp = (((unsigned char*)Location - (unsigned char*)Ref) >> 2) - 1;
intptr_t BranchTargetDisp =
(((unsigned char*)Location - (unsigned char*)Ref) >> 2) - 1;
DEBUG(std::cerr << "Fixup @ " << (void*)Ref << " to " << (void*)Location
<< " Disp " << BranchTargetDisp << " using " << (BranchTargetDisp & ((1 << 22)-1)) << "\n");
<< " Disp " << BranchTargetDisp
<< " using " << (BranchTargetDisp & ((1 << 22)-1)) << "\n");
*Ref |= (BranchTargetDisp & ((1 << 21)-1));
}
BBRefs.clear();
@ -115,6 +117,7 @@ void AlphaCodeEmitter::emitBasicBlock(MachineBasicBlock &MBB) {
case Alpha::ALTENT:
case Alpha::PCLABEL:
case Alpha::MEMLABEL:
case Alpha::IDEF:
break; //skip these
}
}

View File

@ -64,7 +64,7 @@ static void EmitBranchToAt(void *At, void *To) {
for (int x = 1; x <= 8; ++x) {
AtI[2*x - 1] = BUILD_SLLi(27,27,8);
unsigned d = (Fn >> (64 - 8 * x)) & 0x00FF;
DEBUG(std::cerr << "outputing " << hex << d << dec << "\n");
// DEBUG(std::cerr << "outputing " << hex << d << dec << "\n");
AtI[2*x] = BUILD_ORi(27, 27, d);
}
AtI[17] = BUILD_JMP(31,27,0); //jump, preserving ra, and setting pv