[all-commits] [llvm/llvm-project] 6cbb35: [NewPM] Bail out of devirtualization wrapper if th...

aeubanks via All-commits all-commits at lists.llvm.org
Mon Jul 19 15:08:13 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6cbb35dd3b2f115105d2d9b6da52f2bfc337891c
      https://github.com/llvm/llvm-project/commit/6cbb35dd3b2f115105d2d9b6da52f2bfc337891c
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2021-07-19 (Mon, 19 Jul 2021)

  Changed paths:
    M llvm/lib/Analysis/CGSCCPassManager.cpp
    A llvm/test/Other/devirt-invalidated.ll

  Log Message:
  -----------
  [NewPM] Bail out of devirtualization wrapper if the current SCC is invalidated

The specific case that triggered this was when inlining a recursive
internal function into itself caused the recursion to go away, allowing
the inliner to mark the function as dead. The inliner marks the SCC as
invalidated but does not provide a new SCC to continue with.

This matches the implementations of ModuleToPostOrderCGSCCPassAdaptor
and CGSCCPassManager.

Fixes PR50363.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D106306




More information about the All-commits mailing list