[SCEV] Increase FoldID bits size cover common cases.
authorFlorian Hahn <flo@fhahn.com>
Fri, 24 Feb 2023 08:41:52 +0000 (09:41 +0100)
committerFlorian Hahn <flo@fhahn.com>
Fri, 24 Feb 2023 08:41:53 +0000 (09:41 +0100)
This should fix the regressions introduced by a53d940cee6f by making
sure no dynamic allocations are needed in the common case, while
retaining support for arbitrary SCEV expressions.

Alternative to D144335.

Compile-time impact:
* NewPM-O3: -0.11%
* NewPM-ReleaseThinLTO: -0.10%
*NewPM-ReleaseLTO-g: -0.08%

https://llvm-compile-time-tracker.com/compare.php?from=df016a9525e5722dfd1e1e1632cec3ed7b33bc8a&to=c1c64de4a973bcecaddbc4038a539234eb39413b&stat=instructions:u

Reviewed By: vitalybuka, nikic

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

llvm/include/llvm/Analysis/ScalarEvolution.h

index 57107cb..51b67d1 100644 (file)
@@ -1297,7 +1297,7 @@ public:
   bool loopIsFiniteByAssumption(const Loop *L);
 
   class FoldID {
-    SmallVector<unsigned, 4> Bits;
+    SmallVector<unsigned, 5> Bits;
 
   public:
     void addInteger(unsigned long I) {