Skip to content
  • Hiroshi Yamauchi's avatar
    Split IndirectBr critical edges before PGO gen/use passes. · f3bda1da
    Hiroshi Yamauchi authored
    Summary:
    The PGO gen/use passes currently fail with an assert failure if there's a
    critical edge whose source is an IndirectBr instruction and that edge
    needs to be instrumented.
    
    To avoid this in certain cases, split IndirectBr critical edges in the PGO
    gen/use passes. This works for blocks with single indirectbr predecessors,
    but not for those with multiple indirectbr predecessors (splitting an
    IndirectBr critical edge isn't always possible.)
    
    Reviewers: davidxl, xur
    
    Reviewed By: davidxl
    
    Subscribers: efriedma, llvm-commits, mehdi_amini
    
    Differential Revision: https://reviews.llvm.org/D40699
    
    llvm-svn: 320511
    f3bda1da
Loading