Skip to content
  • Wei Mi's avatar
    [PM] keeping history when original SCC split and then merge into itself · 80a0c97e
    Wei Mi authored
    in the same round of SCC update.
    
    In https://reviews.llvm.org/rL309784, inline history is added to prevent
    infinite inlining across multiple run of inliner and SCC update, but the
    history will only be kept when new SCC is actually generated during SCC update.
    
    We found a case that SCC can be split and then merge into itself in the same
    round of SCC update, so the same SCC will be pop out from UR.CWorklist and
    then added back immediately, without any new SCC generated, that is why the
    existing patch cannot catch the infinite inline case.
    
    What the patch does is even if no new SCC is generated, if only the current
    SCC appears in UR.CWorklist again, then keep the inline history.
    
    Differential Revision: https://reviews.llvm.org/D52915
    
    llvm-svn: 345103
    80a0c97e
Loading