|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| IPA/ | | 03-May-2024 | - | 3,124 | 1,908 |
| AliasAnalysis.cpp | D | 03-May-2024 | 20.3 KiB | 581 | 356 |
| AliasAnalysisCounter.cpp | D | 03-May-2024 | 6.2 KiB | 172 | 131 |
| AliasAnalysisEvaluator.cpp | D | 03-May-2024 | 13.6 KiB | 372 | 306 |
| AliasDebugger.cpp | D | 03-May-2024 | 4.8 KiB | 139 | 89 |
| AliasSetTracker.cpp | D | 03-May-2024 | 22.1 KiB | 684 | 477 |
| Analysis.cpp | D | 03-May-2024 | 4.1 KiB | 119 | 93 |
| Android.mk | D | 03-May-2024 | 2.1 KiB | 91 | 79 |
| AssumptionCache.cpp | D | 03-May-2024 | 4.9 KiB | 141 | 90 |
| BasicAliasAnalysis.cpp | D | 03-May-2024 | 63.3 KiB | 1,591 | 929 |
| BlockFrequencyInfo.cpp | D | 03-May-2024 | 5.5 KiB | 183 | 138 |
| BlockFrequencyInfoImpl.cpp | D | 03-May-2024 | 23.5 KiB | 723 | 485 |
| BranchProbabilityInfo.cpp | D | 03-May-2024 | 21.5 KiB | 672 | 432 |
| CFG.cpp | D | 03-May-2024 | 8.5 KiB | 237 | 147 |
| CFGPrinter.cpp | D | 03-May-2024 | 4.9 KiB | 166 | 108 |
| CFLAliasAnalysis.cpp | D | 03-May-2024 | 39.1 KiB | 1,156 | 754 |
| CGSCCPassManager.cpp | D | 03-May-2024 | 2.5 KiB | 73 | 36 |
| CMakeLists.txt | D | 03-May-2024 | 1.5 KiB | 71 | 67 |
| CaptureTracking.cpp | D | 03-May-2024 | 10.1 KiB | 271 | 155 |
| CodeMetrics.cpp | D | 03-May-2024 | 6.3 KiB | 188 | 109 |
| ConstantFolding.cpp | D | 03-May-2024 | 67.2 KiB | 1,780 | 1,277 |
| CostModel.cpp | D | 03-May-2024 | 17.7 KiB | 539 | 376 |
| Delinearization.cpp | D | 03-May-2024 | 4.9 KiB | 148 | 104 |
| DependenceAnalysis.cpp | D | 03-May-2024 | 145.2 KiB | 3,951 | 2,734 |
| DivergenceAnalysis.cpp | D | 03-May-2024 | 11.9 KiB | 338 | 191 |
| DomPrinter.cpp | D | 03-May-2024 | 7.9 KiB | 255 | 187 |
| DominanceFrontier.cpp | D | 03-May-2024 | 1.6 KiB | 58 | 38 |
| IVUsers.cpp | D | 03-May-2024 | 13 KiB | 359 | 240 |
| InstCount.cpp | D | 03-May-2024 | 2.7 KiB | 89 | 56 |
| InstructionSimplify.cpp | D | 03-May-2024 | 146.1 KiB | 3,847 | 2,642 |
| 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 | 735 | 26 | 23 |
| LazyCallGraph.cpp | D | 03-May-2024 | 26.1 KiB | 728 | 496 |
| LazyValueInfo.cpp | D | 03-May-2024 | 44.1 KiB | 1,283 | 893 |
| LibCallAliasAnalysis.cpp | D | 03-May-2024 | 5.4 KiB | 142 | 73 |
| LibCallSemantics.cpp | D | 03-May-2024 | 3.4 KiB | 91 | 49 |
| Lint.cpp | D | 03-May-2024 | 35.3 KiB | 918 | 640 |
| Loads.cpp | D | 03-May-2024 | 9.8 KiB | 264 | 131 |
| LoopAccessAnalysis.cpp | D | 03-May-2024 | 50.4 KiB | 1,412 | 964 |
| LoopInfo.cpp | D | 03-May-2024 | 25.6 KiB | 740 | 451 |
| LoopPass.cpp | D | 03-May-2024 | 12.4 KiB | 403 | 241 |
| Makefile | D | 03-May-2024 | 441 | 17 | 5 |
| MemDepPrinter.cpp | D | 03-May-2024 | 5.2 KiB | 169 | 128 |
| MemDerefPrinter.cpp | D | 03-May-2024 | 2.1 KiB | 70 | 54 |
| MemoryBuiltins.cpp | D | 03-May-2024 | 28 KiB | 793 | 541 |
| MemoryDependenceAnalysis.cpp | D | 03-May-2024 | 68.5 KiB | 1,689 | 965 |
| ModuleDebugInfoPrinter.cpp | D | 03-May-2024 | 3.9 KiB | 127 | 94 |
| NoAliasAnalysis.cpp | D | 03-May-2024 | 3.4 KiB | 98 | 60 |
| PHITransAddr.cpp | D | 03-May-2024 | 15.9 KiB | 440 | 271 |
| PostDominators.cpp | D | 03-May-2024 | 1.5 KiB | 51 | 25 |
| PtrUseVisitor.cpp | D | 03-May-2024 | 1 KiB | 36 | 18 |
| README.txt | D | 03-May-2024 | 1,006 | 31 | 17 |
| RegionInfo.cpp | D | 03-May-2024 | 4.7 KiB | 174 | 109 |
| RegionPass.cpp | D | 03-May-2024 | 8.6 KiB | 283 | 166 |
| RegionPrinter.cpp | D | 03-May-2024 | 6.8 KiB | 221 | 161 |
| ScalarEvolution.cpp | D | 03-May-2024 | 324.9 KiB | 8,502 | 5,721 |
| ScalarEvolutionAliasAnalysis.cpp | D | 03-May-2024 | 6.8 KiB | 175 | 96 |
| ScalarEvolutionExpander.cpp | D | 03-May-2024 | 75.9 KiB | 1,929 | 1,276 |
| ScalarEvolutionNormalization.cpp | D | 03-May-2024 | 10.1 KiB | 255 | 152 |
| ScopedNoAliasAA.cpp | D | 03-May-2024 | 8.7 KiB | 251 | 156 |
| SparsePropagation.cpp | D | 03-May-2024 | 11.9 KiB | 348 | 212 |
| StratifiedSets.h | D | 03-May-2024 | 22 KiB | 693 | 406 |
| TargetLibraryInfo.cpp | D | 03-May-2024 | 20.5 KiB | 576 | 451 |
| TargetTransformInfo.cpp | D | 03-May-2024 | 10.9 KiB | 325 | 244 |
| Trace.cpp | D | 03-May-2024 | 1.7 KiB | 53 | 26 |
| TypeBasedAliasAnalysis.cpp | D | 03-May-2024 | 22.7 KiB | 646 | 351 |
| ValueTracking.cpp | D | 03-May-2024 | 118.6 KiB | 3,026 | 2,008 |
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