|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| AliasAnalysis.cpp | D | 03-May-2024 | 33.8 KiB | 923 | 610 |
| AliasAnalysisEvaluator.cpp | D | 03-May-2024 | 15.6 KiB | 436 | 382 |
| AliasAnalysisSummary.cpp | D | 03-May-2024 | 3.5 KiB | 104 | 81 |
| AliasAnalysisSummary.h | D | 03-May-2024 | 10.2 KiB | 266 | 148 |
| AliasSetTracker.cpp | D | 03-May-2024 | 25.9 KiB | 778 | 553 |
| Analysis.cpp | D | 03-May-2024 | 5.3 KiB | 139 | 113 |
| AssumptionCache.cpp | D | 03-May-2024 | 9.9 KiB | 304 | 208 |
| BasicAliasAnalysis.cpp | D | 03-May-2024 | 85.1 KiB | 2,103 | 1,199 |
| BlockFrequencyInfo.cpp | D | 03-May-2024 | 12.3 KiB | 344 | 261 |
| BlockFrequencyInfoImpl.cpp | D | 03-May-2024 | 28.1 KiB | 852 | 583 |
| BranchProbabilityInfo.cpp | D | 03-May-2024 | 38.7 KiB | 1,084 | 750 |
| CFG.cpp | D | 03-May-2024 | 10 KiB | 280 | 178 |
| CFGPrinter.cpp | D | 03-May-2024 | 6.4 KiB | 203 | 139 |
| CFLAndersAliasAnalysis.cpp | D | 03-May-2024 | 33 KiB | 933 | 636 |
| CFLGraph.h | D | 03-May-2024 | 21.2 KiB | 661 | 468 |
| CFLSteensAliasAnalysis.cpp | D | 03-May-2024 | 13.2 KiB | 365 | 234 |
| CGSCCPassManager.cpp | D | 03-May-2024 | 29.3 KiB | 710 | 397 |
| CMakeLists.txt | D | 03-May-2024 | 2.3 KiB | 108 | 105 |
| CallGraph.cpp | D | 03-May-2024 | 11 KiB | 328 | 213 |
| CallGraphSCCPass.cpp | D | 03-May-2024 | 25.3 KiB | 712 | 447 |
| CallPrinter.cpp | D | 03-May-2024 | 3 KiB | 93 | 55 |
| CaptureTracking.cpp | D | 03-May-2024 | 15.2 KiB | 390 | 223 |
| CmpInstAnalysis.cpp | D | 03-May-2024 | 4.6 KiB | 144 | 111 |
| CodeMetrics.cpp | D | 03-May-2024 | 7 KiB | 196 | 114 |
| ConstantFolding.cpp | D | 03-May-2024 | 94.1 KiB | 2,640 | 2,028 |
| CostModel.cpp | D | 03-May-2024 | 3.9 KiB | 113 | 72 |
| DDG.cpp | D | 03-May-2024 | 9.7 KiB | 284 | 206 |
| Delinearization.cpp | D | 03-May-2024 | 4.5 KiB | 131 | 92 |
| DemandedBits.cpp | D | 03-May-2024 | 16.3 KiB | 490 | 347 |
| DependenceAnalysis.cpp | D | 03-May-2024 | 147.1 KiB | 4,004 | 2,755 |
| DependenceGraphBuilder.cpp | D | 03-May-2024 | 15.4 KiB | 408 | 275 |
| DivergenceAnalysis.cpp | D | 03-May-2024 | 15.3 KiB | 467 | 277 |
| DomPrinter.cpp | D | 03-May-2024 | 9.7 KiB | 299 | 229 |
| DomTreeUpdater.cpp | D | 03-May-2024 | 15.2 KiB | 534 | 382 |
| DominanceFrontier.cpp | D | 03-May-2024 | 3.2 KiB | 98 | 68 |
| EHPersonalities.cpp | D | 03-May-2024 | 5.9 KiB | 136 | 98 |
| GlobalsModRef.cpp | D | 03-May-2024 | 40.6 KiB | 1,035 | 651 |
| GuardUtils.cpp | D | 03-May-2024 | 3.3 KiB | 107 | 76 |
| IVDescriptors.cpp | D | 03-May-2024 | 42.2 KiB | 1,124 | 710 |
| IVUsers.cpp | D | 03-May-2024 | 16.1 KiB | 428 | 274 |
| IndirectCallPromotionAnalysis.cpp | D | 03-May-2024 | 4.4 KiB | 108 | 72 |
| InlineCost.cpp | D | 03-May-2024 | 88.3 KiB | 2,328 | 1,382 |
| InstCount.cpp | D | 03-May-2024 | 2.4 KiB | 80 | 49 |
| InstructionPrecedenceTracking.cpp | D | 03-May-2024 | 5.8 KiB | 162 | 107 |
| InstructionSimplify.cpp | D | 03-May-2024 | 211.2 KiB | 5,622 | 3,714 |
| Interval.cpp | D | 03-May-2024 | 1.8 KiB | 52 | 24 |
| IntervalPartition.cpp | D | 03-May-2024 | 4.5 KiB | 119 | 59 |
| LLVMBuild.txt | D | 03-May-2024 | 765 | 22 | 20 |
| LazyBlockFrequencyInfo.cpp | D | 03-May-2024 | 2.8 KiB | 73 | 43 |
| LazyBranchProbabilityInfo.cpp | D | 03-May-2024 | 3 KiB | 76 | 46 |
| LazyCallGraph.cpp | D | 03-May-2024 | 66 KiB | 1,817 | 1,124 |
| LazyValueInfo.cpp | D | 03-May-2024 | 80.1 KiB | 2,072 | 1,391 |
| LegacyDivergenceAnalysis.cpp | D | 03-May-2024 | 14.8 KiB | 410 | 243 |
| Lint.cpp | D | 03-May-2024 | 28.8 KiB | 758 | 555 |
| Loads.cpp | D | 03-May-2024 | 19.5 KiB | 481 | 282 |
| LoopAccessAnalysis.cpp | D | 03-May-2024 | 93.3 KiB | 2,470 | 1,539 |
| LoopAnalysisManager.cpp | D | 03-May-2024 | 6.6 KiB | 152 | 81 |
| LoopCacheAnalysis.cpp | D | 03-May-2024 | 22 KiB | 630 | 457 |
| LoopInfo.cpp | D | 03-May-2024 | 37.1 KiB | 1,115 | 753 |
| LoopPass.cpp | D | 03-May-2024 | 14.1 KiB | 420 | 262 |
| LoopUnrollAnalyzer.cpp | D | 03-May-2024 | 7.2 KiB | 215 | 135 |
| MemDepPrinter.cpp | D | 03-May-2024 | 5.1 KiB | 166 | 126 |
| MemDerefPrinter.cpp | D | 03-May-2024 | 2.5 KiB | 78 | 63 |
| MemoryBuiltins.cpp | D | 03-May-2024 | 39.9 KiB | 1,053 | 751 |
| MemoryDependenceAnalysis.cpp | D | 03-May-2024 | 71.2 KiB | 1,826 | 1,089 |
| MemoryLocation.cpp | D | 03-May-2024 | 7.4 KiB | 213 | 160 |
| MemorySSA.cpp | D | 03-May-2024 | 90.1 KiB | 2,460 | 1,649 |
| MemorySSAUpdater.cpp | D | 03-May-2024 | 57.8 KiB | 1,447 | 1,006 |
| ModuleDebugInfoPrinter.cpp | D | 03-May-2024 | 4 KiB | 129 | 97 |
| ModuleSummaryAnalysis.cpp | D | 03-May-2024 | 36.1 KiB | 885 | 649 |
| MustExecute.cpp | D | 03-May-2024 | 26.6 KiB | 713 | 492 |
| ObjCARCAliasAnalysis.cpp | D | 03-May-2024 | 5.8 KiB | 165 | 100 |
| ObjCARCAnalysisUtils.cpp | D | 03-May-2024 | 1.1 KiB | 26 | 8 |
| ObjCARCInstKind.cpp | D | 03-May-2024 | 23.2 KiB | 706 | 597 |
| OptimizationRemarkEmitter.cpp | D | 03-May-2024 | 4.2 KiB | 135 | 88 |
| OrderedBasicBlock.cpp | D | 03-May-2024 | 4.4 KiB | 112 | 63 |
| OrderedInstructions.cpp | D | 03-May-2024 | 2.1 KiB | 51 | 26 |
| PHITransAddr.cpp | D | 03-May-2024 | 16.1 KiB | 440 | 273 |
| PhiValues.cpp | D | 03-May-2024 | 8.4 KiB | 228 | 151 |
| PostDominators.cpp | D | 03-May-2024 | 3.6 KiB | 114 | 71 |
| ProfileSummaryInfo.cpp | D | 03-May-2024 | 14.9 KiB | 395 | 291 |
| PtrUseVisitor.cpp | D | 03-May-2024 | 1.3 KiB | 45 | 26 |
| README.txt | D | 03-May-2024 | 1,006 | 31 | 17 |
| RegionInfo.cpp | D | 03-May-2024 | 6.5 KiB | 217 | 138 |
| RegionPass.cpp | D | 03-May-2024 | 9.2 KiB | 300 | 179 |
| RegionPrinter.cpp | D | 03-May-2024 | 8.6 KiB | 268 | 198 |
| ScalarEvolution.cpp | D | 03-May-2024 | 479.6 KiB | 12,618 | 8,390 |
| ScalarEvolutionAliasAnalysis.cpp | D | 03-May-2024 | 6 KiB | 149 | 79 |
| ScalarEvolutionExpander.cpp | D | 03-May-2024 | 96.2 KiB | 2,453 | 1,634 |
| ScalarEvolutionNormalization.cpp | D | 03-May-2024 | 4.6 KiB | 118 | 57 |
| ScopedNoAliasAA.cpp | D | 03-May-2024 | 7.4 KiB | 212 | 125 |
| StackSafetyAnalysis.cpp | D | 03-May-2024 | 22 KiB | 679 | 501 |
| StratifiedSets.h | D | 03-May-2024 | 18.7 KiB | 597 | 357 |
| SyncDependenceAnalysis.cpp | D | 03-May-2024 | 12.9 KiB | 381 | 176 |
| SyntheticCountsUtils.cpp | D | 03-May-2024 | 3.8 KiB | 105 | 55 |
| TargetLibraryInfo.cpp | D | 03-May-2024 | 58.3 KiB | 1,647 | 1,369 |
| TargetTransformInfo.cpp | D | 03-May-2024 | 49.5 KiB | 1,397 | 1,079 |
| Trace.cpp | D | 03-May-2024 | 1.8 KiB | 54 | 29 |
| TypeBasedAliasAnalysis.cpp | D | 03-May-2024 | 26 KiB | 739 | 432 |
| TypeMetadataUtils.cpp | D | 03-May-2024 | 5.9 KiB | 162 | 119 |
| VFABIDemangling.cpp | D | 03-May-2024 | 14.6 KiB | 431 | 236 |
| ValueLattice.cpp | D | 03-May-2024 | 960 | 26 | 15 |
| ValueLatticeUtils.cpp | D | 03-May-2024 | 1.5 KiB | 44 | 27 |
| ValueTracking.cpp | D | 03-May-2024 | 224 KiB | 5,998 | 4,089 |
| VectorUtils.cpp | D | 03-May-2024 | 44.8 KiB | 1,229 | 797 |
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