mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-24 13:18:17 +00:00
change EH related stuff (other than EH_LABEL) to use MCSymbol
instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress. Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :( One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98459 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -30,6 +30,7 @@ namespace {
|
||||
class PPCCodeEmitter : public MachineFunctionPass {
|
||||
TargetMachine &TM;
|
||||
JITCodeEmitter &MCE;
|
||||
MachineModuleInfo *MMI;
|
||||
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.addRequired<MachineModuleInfo>();
|
||||
@@ -87,7 +88,8 @@ bool PPCCodeEmitter::runOnMachineFunction(MachineFunction &MF) {
|
||||
MF.getTarget().getRelocationModel() != Reloc::Static) &&
|
||||
"JIT relocation model must be set to static or default!");
|
||||
|
||||
MCE.setModuleInfo(&getAnalysis<MachineModuleInfo>());
|
||||
MMI = &getAnalysis<MachineModuleInfo>();
|
||||
MCE.setModuleInfo(MMI);
|
||||
do {
|
||||
MovePCtoLROffset = 0;
|
||||
MCE.startFunction(MF);
|
||||
@@ -110,7 +112,7 @@ void PPCCodeEmitter::emitBasicBlock(MachineBasicBlock &MBB) {
|
||||
break;
|
||||
case TargetOpcode::DBG_LABEL:
|
||||
case TargetOpcode::EH_LABEL:
|
||||
MCE.emitLabel(MI.getOperand(0).getImm());
|
||||
MCE.emitLabel(MMI->getLabelSym(MI.getOperand(0).getImm()));
|
||||
break;
|
||||
case TargetOpcode::IMPLICIT_DEF:
|
||||
case TargetOpcode::KILL:
|
||||
|
||||
Reference in New Issue
Block a user