[PATCH] D65621: [NewPassManager] Resolve assertion in CGSCCPassManager when CallCounts change.

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 1 16:44:00 PDT 2019


asbirlea created this revision.
asbirlea added a reviewer: chandlerc.
Herald added subscribers: sanjoy.google, jlebar, mehdi_amini.
Herald added a project: LLVM.

If the CallCounts change after an iteration of the DevirtSCCRepeatedPass, this is not reflected in the local CallCounts structure triggering the assertion checking the before/after sizes.
Since it is valid for the size to change and this only uses the CallCounts for the devirtualizing heuristic, keep a <Function*, CallCount> map instead, and make the devirtualizing decision using the counts for the functions that exist both before and after the pass.

Resolves PR42726.


Repository:
  rL LLVM

https://reviews.llvm.org/D65621

Files:
  include/llvm/Analysis/CGSCCPassManager.h
  test/Other/new-pm-pr42726-cgscc.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65621.212930.patch
Type: text/x-patch
Size: 4175 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190801/5bb04116/attachment.bin>


More information about the llvm-commits mailing list