Skip to content
  • Reid Kleckner's avatar
    9a1a9194
    [WinEH] Emit the LSDA even if no lpads remain but outlining occurred · 9a1a9194
    Reid Kleckner authored
    The outlined funclets call intrinsics which reference labels from the
    LSDA. This situation can easily arise in small functions with a single
    cleanup at -O0, where Clang marks a definition as nounwind, and then
    WinEHPrepare "discovers" that the landingpad is dead by accident and
    deletes it.
    
    We now need to ask the LLVM IR Function for it's personality directly,
    rather than going through MachineModuleInfo.
    
    Fixes PR23892.
    
    llvm-svn: 242063
    9a1a9194
    [WinEH] Emit the LSDA even if no lpads remain but outlining occurred
    Reid Kleckner authored
    The outlined funclets call intrinsics which reference labels from the
    LSDA. This situation can easily arise in small functions with a single
    cleanup at -O0, where Clang marks a definition as nounwind, and then
    WinEHPrepare "discovers" that the landingpad is dead by accident and
    deletes it.
    
    We now need to ask the LLVM IR Function for it's personality directly,
    rather than going through MachineModuleInfo.
    
    Fixes PR23892.
    
    llvm-svn: 242063
Loading