[PATCH] D111602: [SCEV][NFC] Tackle quadratic CT consumption in forgetValue
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 12 01:55:25 PDT 2021
nikic added a comment.
This is an improvement in some cases, but less than I'd hoped: https://llvm-compile-time-tracker.com/compare.php?from=5e2c6abab42241c06680941be06fddcb9279e63d&to=18b24fb231b0dcbaf0dc304826974ac1aad77a01&stat=instructions
================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:7576
eraseValueFromMap(It->first);
forgetMemoizedResults(It->second);
if (PHINode *PN = dyn_cast<PHINode>(I))
----------------
We should be collecting these into a vector as well.
================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:12813
+ ToForget.push_back(S);
+ forgetMemoizedResults(ToForget);
+}
----------------
You can just pass `S` directly, no need to create SmallVector for single-element ArrayRef.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111602/new/
https://reviews.llvm.org/D111602
More information about the llvm-commits
mailing list