|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| IPA/ | | 03-May-2024 | - | 1,777 | 1,065 |
| AliasAnalysis.cpp | D | 03-May-2024 | 15.7 KiB | 459 | 271 |
| AliasAnalysisCounter.cpp | D | 03-May-2024 | 6.1 KiB | 172 | 131 |
| AliasAnalysisEvaluator.cpp | D | 03-May-2024 | 10.8 KiB | 301 | 241 |
| AliasDebugger.cpp | D | 03-May-2024 | 4.8 KiB | 139 | 89 |
| AliasSetTracker.cpp | D | 03-May-2024 | 21.8 KiB | 654 | 454 |
| Analysis.cpp | D | 03-May-2024 | 3.7 KiB | 106 | 85 |
| Android.mk | D | 03-May-2024 | 2 KiB | 86 | 74 |
| BasicAliasAnalysis.cpp | D | 03-May-2024 | 47.6 KiB | 1,233 | 773 |
| BlockFrequencyInfo.cpp | D | 03-May-2024 | 2.1 KiB | 64 | 35 |
| BranchProbabilityInfo.cpp | D | 03-May-2024 | 15.5 KiB | 511 | 335 |
| CFGPrinter.cpp | D | 03-May-2024 | 4.9 KiB | 166 | 107 |
| CMakeLists.txt | D | 03-May-2024 | 1.3 KiB | 63 | 61 |
| CaptureTracking.cpp | D | 03-May-2024 | 6.5 KiB | 176 | 99 |
| CodeMetrics.cpp | D | 03-May-2024 | 6.9 KiB | 185 | 99 |
| ConstantFolding.cpp | D | 03-May-2024 | 56.8 KiB | 1,436 | 1,008 |
| DIBuilder.cpp | D | 03-May-2024 | 40.8 KiB | 1,016 | 827 |
| DbgInfoPrinter.cpp | D | 03-May-2024 | 6.3 KiB | 225 | 166 |
| DebugInfo.cpp | D | 03-May-2024 | 35.4 KiB | 1,230 | 878 |
| DomPrinter.cpp | D | 03-May-2024 | 6.7 KiB | 233 | 166 |
| DominanceFrontier.cpp | D | 03-May-2024 | 4.3 KiB | 140 | 102 |
| IVUsers.cpp | D | 03-May-2024 | 11.6 KiB | 327 | 222 |
| InlineCost.cpp | D | 03-May-2024 | 37.3 KiB | 1,023 | 623 |
| InstCount.cpp | D | 03-May-2024 | 2.7 KiB | 88 | 56 |
| InstructionSimplify.cpp | D | 03-May-2024 | 111.6 KiB | 2,947 | 1,972 |
| Interval.cpp | D | 03-May-2024 | 2 KiB | 59 | 28 |
| IntervalPartition.cpp | D | 03-May-2024 | 4.2 KiB | 115 | 51 |
| LLVMBuild.txt | D | 03-May-2024 | 742 | 26 | 23 |
| LazyValueInfo.cpp | D | 03-May-2024 | 37.7 KiB | 1,124 | 770 |
| LibCallAliasAnalysis.cpp | D | 03-May-2024 | 5.2 KiB | 138 | 69 |
| LibCallSemantics.cpp | D | 03-May-2024 | 2.1 KiB | 64 | 28 |
| Lint.cpp | D | 03-May-2024 | 25 KiB | 659 | 489 |
| Loads.cpp | D | 03-May-2024 | 9.9 KiB | 251 | 136 |
| LoopDependenceAnalysis.cpp | D | 03-May-2024 | 12.9 KiB | 363 | 257 |
| LoopInfo.cpp | D | 03-May-2024 | 21.9 KiB | 623 | 363 |
| LoopPass.cpp | D | 03-May-2024 | 10.7 KiB | 360 | 217 |
| Makefile | D | 03-May-2024 | 441 | 17 | 5 |
| MemDepPrinter.cpp | D | 03-May-2024 | 6.3 KiB | 193 | 150 |
| MemoryBuiltins.cpp | D | 03-May-2024 | 7.6 KiB | 214 | 121 |
| MemoryDependenceAnalysis.cpp | D | 03-May-2024 | 63.6 KiB | 1,574 | 909 |
| ModuleDebugInfoPrinter.cpp | D | 03-May-2024 | 2.6 KiB | 88 | 60 |
| NOTICE | D | 03-May-2024 | 3.1 KiB | 70 | 55 |
| NoAliasAnalysis.cpp | D | 03-May-2024 | 3.1 KiB | 89 | 52 |
| PHITransAddr.cpp | D | 03-May-2024 | 16 KiB | 442 | 273 |
| PathNumbering.cpp | D | 03-May-2024 | 16.2 KiB | 523 | 328 |
| PathProfileInfo.cpp | D | 03-May-2024 | 13.9 KiB | 435 | 275 |
| PathProfileVerifier.cpp | D | 03-May-2024 | 6.9 KiB | 208 | 141 |
| PostDominators.cpp | D | 03-May-2024 | 1.5 KiB | 52 | 26 |
| ProfileEstimatorPass.cpp | D | 03-May-2024 | 15.7 KiB | 427 | 289 |
| ProfileInfo.cpp | D | 03-May-2024 | 32.9 KiB | 1,106 | 880 |
| ProfileInfoLoader.cpp | D | 03-May-2024 | 4.8 KiB | 158 | 105 |
| ProfileInfoLoaderPass.cpp | D | 03-May-2024 | 9.3 KiB | 268 | 198 |
| ProfileVerifierPass.cpp | D | 03-May-2024 | 13.4 KiB | 383 | 294 |
| README.txt | D | 03-May-2024 | 1,006 | 31 | 17 |
| RegionInfo.cpp | D | 03-May-2024 | 22.7 KiB | 850 | 587 |
| RegionPass.cpp | D | 03-May-2024 | 8.5 KiB | 276 | 159 |
| RegionPrinter.cpp | D | 03-May-2024 | 6.7 KiB | 221 | 160 |
| ScalarEvolution.cpp | D | 03-May-2024 | 273.2 KiB | 6,909 | 4,673 |
| ScalarEvolutionAliasAnalysis.cpp | D | 03-May-2024 | 6.7 KiB | 174 | 95 |
| ScalarEvolutionExpander.cpp | D | 03-May-2024 | 67.7 KiB | 1,702 | 1,131 |
| ScalarEvolutionNormalization.cpp | D | 03-May-2024 | 8.5 KiB | 224 | 147 |
| SparsePropagation.cpp | D | 03-May-2024 | 12 KiB | 348 | 213 |
| Trace.cpp | D | 03-May-2024 | 1.6 KiB | 52 | 25 |
| TypeBasedAliasAnalysis.cpp | D | 03-May-2024 | 10.2 KiB | 301 | 161 |
| ValueTracking.cpp | D | 03-May-2024 | 73.6 KiB | 1,905 | 1,280 |
README.txt
1Analysis Opportunities:
2
3//===---------------------------------------------------------------------===//
4
5In test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll, the
6ScalarEvolution expression for %r is this:
7
8 {1,+,3,+,2}<loop>
9
10Outside the loop, this could be evaluated simply as (%n * %n), however
11ScalarEvolution currently evaluates it as
12
13 (-2 + (2 * (trunc i65 (((zext i64 (-2 + %n) to i65) * (zext i64 (-1 + %n) to i65)) /u 2) to i64)) + (3 * %n))
14
15In addition to being much more complicated, it involves i65 arithmetic,
16which is very inefficient when expanded into code.
17
18//===---------------------------------------------------------------------===//
19
20In formatValue in test/CodeGen/X86/lsr-delayed-fold.ll,
21
22ScalarEvolution is forming this expression:
23
24((trunc i64 (-1 * %arg5) to i32) + (trunc i64 %arg5 to i32) + (-1 * (trunc i64 undef to i32)))
25
26This could be folded to
27
28(-1 * (trunc i64 undef to i32))
29
30//===---------------------------------------------------------------------===//
31