Skip to content
  • Reid Kleckner's avatar
    51189f0a
    [WinEH] Avoid creating MBBs for LLVM BBs that cannot contain code · 51189f0a
    Reid Kleckner authored
    Typically these are catchpads, which hold data used to decide whether to
    catch the exception or continue unwinding. We also shouldn't create MBBs
    for catchendpads, cleanupendpads, or terminatepads, since no real code
    can live in them.
    
    This fixes a problem where MI passes (like the register allocator) would
    try to put code into catchpad blocks, which are not executed by the
    runtime. In the new world, blocks ending in invokes now have many
    possible successors.
    
    llvm-svn: 247102
    51189f0a
    [WinEH] Avoid creating MBBs for LLVM BBs that cannot contain code
    Reid Kleckner authored
    Typically these are catchpads, which hold data used to decide whether to
    catch the exception or continue unwinding. We also shouldn't create MBBs
    for catchendpads, cleanupendpads, or terminatepads, since no real code
    can live in them.
    
    This fixes a problem where MI passes (like the register allocator) would
    try to put code into catchpad blocks, which are not executed by the
    runtime. In the new world, blocks ending in invokes now have many
    possible successors.
    
    llvm-svn: 247102
Loading