[all-commits] [llvm/llvm-project] 7b330f: [Attributor][NFCI] Avoid creating unnecessary AAs
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Thu Jun 29 23:08:34 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7b330fa80be028fc0425796c0f2792cc6b5fefd9
https://github.com/llvm/llvm-project/commit/7b330fa80be028fc0425796c0f2792cc6b5fefd9
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-06-29 (Thu, 29 Jun 2023)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/test/Transforms/Attributor/depgraph.ll
Log Message:
-----------
[Attributor][NFCI] Avoid creating unnecessary AAs
If the IR has a boolean attribute, or the function is not IPO amendable,
we can avoid creating AAs that would just be forced into a trivial
fixpoint anyway. Since we check boolean IR attributes via
`AA::hasAssumedIRAttr`, we don't need AAs even if they would be fixed
optimistic right away. The only change is in the dependency graph
ordering as we move AAs around to simplify the code flow. There is no
reason for the order we seed AAs, so this order is just as fine.
Commit: 5faa616fe4bdfd3f18ba168ee85b164783a0bb3c
https://github.com/llvm/llvm-project/commit/5faa616fe4bdfd3f18ba168ee85b164783a0bb3c
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-06-29 (Thu, 29 Jun 2023)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[Attributor][NFCI] Remove the (already "unused") ModuleSlice
At some point we alloed the CGSCC traversal to look at the entire module
slice (see definition below). However, we don't allow that anymore,
mostly for compile time and complexity reasons. Consequently, there is
no need to build the ModuleSlice as we can replacve it with the SCC
wherever it was still used.
Compare: https://github.com/llvm/llvm-project/compare/61708ec75478...5faa616fe4bd
More information about the All-commits
mailing list