Exit early if exception handling isn't supported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81454 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2009-09-10 18:28:06 +00:00
parent 57a7e94de9
commit 73c5a61725

View File

@ -918,28 +918,28 @@ void DwarfException::EndModule() {
/// BeginFunction - Gather pre-function exception information. Assumes it's /// BeginFunction - Gather pre-function exception information. Assumes it's
/// being emitted immediately after the function entry point. /// being emitted immediately after the function entry point.
void DwarfException::BeginFunction(MachineFunction *MF) { void DwarfException::BeginFunction(MachineFunction *MF) {
if (!MMI || !MAI->doesSupportExceptionHandling()) return;
if (TimePassesIsEnabled) if (TimePassesIsEnabled)
ExceptionTimer->startTimer(); ExceptionTimer->startTimer();
this->MF = MF; this->MF = MF;
shouldEmitTable = shouldEmitMoves = false; shouldEmitTable = shouldEmitMoves = false;
if (MMI && MAI->doesSupportExceptionHandling()) { // Map all labels and get rid of any dead landing pads.
// Map all labels and get rid of any dead landing pads. MMI->TidyLandingPads();
MMI->TidyLandingPads();
// If any landing pads survive, we need an EH table. // If any landing pads survive, we need an EH table.
if (!MMI->getLandingPads().empty()) if (!MMI->getLandingPads().empty())
shouldEmitTable = true; shouldEmitTable = true;
// See if we need frame move info. // See if we need frame move info.
if (!MF->getFunction()->doesNotThrow() || UnwindTablesMandatory) if (!MF->getFunction()->doesNotThrow() || UnwindTablesMandatory)
shouldEmitMoves = true; shouldEmitMoves = true;
if (shouldEmitMoves || shouldEmitTable) if (shouldEmitMoves || shouldEmitTable)
// Assumes in correct section after the entry point. // Assumes in correct section after the entry point.
EmitLabel("eh_func_begin", ++SubprogramCount); EmitLabel("eh_func_begin", ++SubprogramCount);
}
shouldEmitTableModule |= shouldEmitTable; shouldEmitTableModule |= shouldEmitTable;
shouldEmitMovesModule |= shouldEmitMoves; shouldEmitMovesModule |= shouldEmitMoves;