change the LabelSDNode to be EHLabelSDNode and make it hold

an MCSymbol.  Make the EH_LABEL MachineInstr hold its label
with an MCSymbol instead of ID.  Fix a bug in MMI.cpp which
would return labels named "Label4" instead of "label4".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98463 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-03-14 02:33:54 +00:00
parent 18589de9b1
commit 7561d48095
14 changed files with 61 additions and 50 deletions

View File

@@ -73,7 +73,7 @@ bool MachineModuleInfo::doFinalization() {
/// getLabelSym - Turn a label ID into a symbol.
MCSymbol *MachineModuleInfo::getLabelSym(unsigned ID) {
return Context.GetOrCreateTemporarySymbol
(Twine(Context.getAsmInfo().getPrivateGlobalPrefix()) + "Label" +Twine(ID));
(Twine(Context.getAsmInfo().getPrivateGlobalPrefix()) + "label" +Twine(ID));
}
/// EndFunction - Discard function meta information.
@@ -139,12 +139,11 @@ void MachineModuleInfo::addInvoke(MachineBasicBlock *LandingPad,
/// addLandingPad - Provide the label of a try LandingPad block.
///
unsigned MachineModuleInfo::addLandingPad(MachineBasicBlock *LandingPad) {
unsigned LandingPadID = NextLabelID();
MCSymbol *LandingPadLabel = getLabelSym(LandingPadID);
MCSymbol *MachineModuleInfo::addLandingPad(MachineBasicBlock *LandingPad) {
MCSymbol *LandingPadLabel = getLabelSym(NextLabelID());
LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad);
LP.LandingPadLabel = LandingPadLabel;
return LandingPadID;
return LandingPadLabel;
}
/// addPersonality - Provide the personality function for the exception