[all-commits] [llvm/llvm-project] 6b1ce8: [NewPM][CGSCC] Handle newly added functions in upd...
aeubanks via All-commits
all-commits at lists.llvm.org
Wed Sep 23 15:24:47 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 6b1ce83a1238815899cf18f69bbc0eb37679a410
https://github.com/llvm/llvm-project/commit/6b1ce83a1238815899cf18f69bbc0eb37679a410
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-09-23 (Wed, 23 Sep 2020)
Changed paths:
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/lib/Analysis/CGSCCPassManager.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
M llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
Log Message:
-----------
[NewPM][CGSCC] Handle newly added functions in updateCGAndAnalysisManagerForPass
This seems to fit the CGSCC updates model better than calling
addNewFunctionInto{Ref,}SCC() on newly created/outlined functions.
Now addNewFunctionInto{Ref,}SCC() are no longer necessary.
However, this doesn't work on newly outlined functions that aren't
referenced by the original function. e.g. if a() was outlined into b()
and c(), but c() is only referenced by b() and not by a(), this will
trigger an assert.
This also fixes an issue I was seeing with newly created functions not
having passes run on them.
Ran check-llvm with expensive checks.
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D87798
More information about the All-commits
mailing list