mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
Implement new llc flag -disable-required-unwind-tables.
Corresponds to -fno-unwind-tables (usually default in gcc). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49361 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -2905,8 +2905,11 @@ private:
|
||||
|
||||
// If there are no calls then you can't unwind. This may mean we can
|
||||
// omit the EH Frame, but some environments do not handle weak absolute
|
||||
// symbols.
|
||||
// symbols.
|
||||
// If UnwindTablesOptional is not set we cannot do this optimization; the
|
||||
// unwind info is to be available for non-EH uses.
|
||||
if (!EHFrameInfo.hasCalls &&
|
||||
UnwindTablesOptional &&
|
||||
((linkage != Function::WeakLinkage &&
|
||||
linkage != Function::LinkOnceLinkage) ||
|
||||
!TAI->getWeakDefDirective() ||
|
||||
@@ -3427,7 +3430,9 @@ public:
|
||||
shouldEmitTable = true;
|
||||
|
||||
// See if we need frame move info.
|
||||
if (MMI->hasDebugInfo() || !MF->getFunction()->doesNotThrow())
|
||||
if (MMI->hasDebugInfo() ||
|
||||
!MF->getFunction()->doesNotThrow() ||
|
||||
!UnwindTablesOptional)
|
||||
shouldEmitMoves = true;
|
||||
|
||||
if (shouldEmitMoves || shouldEmitTable)
|
||||
|
Reference in New Issue
Block a user