Merge pull request #65557 from tshortli/unavailable-decl-optimization-stub

Introduce `stub` mode for `-unavailable-decl-optimization`
This commit is contained in:
Allan Shortlidge
2023-05-05 09:11:41 -07:00
committed by GitHub
39 changed files with 477 additions and 9 deletions

View File

@@ -1087,6 +1087,10 @@ LLVM_LIBRARY_VISIBILITY bool usesObjCAllocator(ClassDecl *theClass);
/// A declaration may not require lowering if, for example, it is annotated as
/// unavailable and optimization settings allow it to be omitted.
LLVM_LIBRARY_VISIBILITY bool shouldSkipLowering(Decl *D);
/// Returns true if SIL/IR lowering for the given declaration should produce
/// a stub that traps at runtime because the code ought to be unreachable.
LLVM_LIBRARY_VISIBILITY bool shouldLowerToUnavailableCodeStub(Decl *D);
} // namespace Lowering
/// Apply the given function to each ABI member of \c D skipping the members