|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| AliasAnalysis.cpp | D | 03-May-2024 | 21 KiB | 586 | 354 |
| AliasAnalysisEvaluator.cpp | D | 03-May-2024 | 13.9 KiB | 397 | 331 |
| AliasSetTracker.cpp | D | 03-May-2024 | 21.7 KiB | 674 | 471 |
| Analysis.cpp | D | 03-May-2024 | 4.4 KiB | 125 | 98 |
| Android.mk | D | 03-May-2024 | 2.3 KiB | 101 | 89 |
| AssumptionCache.cpp | D | 03-May-2024 | 4.9 KiB | 141 | 90 |
| BasicAliasAnalysis.cpp | D | 03-May-2024 | 64.5 KiB | 1,617 | 919 |
| BlockFrequencyInfo.cpp | D | 03-May-2024 | 6.6 KiB | 214 | 162 |
| BlockFrequencyInfoImpl.cpp | D | 03-May-2024 | 25.5 KiB | 770 | 520 |
| BranchProbabilityInfo.cpp | D | 03-May-2024 | 23.5 KiB | 729 | 469 |
| CFG.cpp | D | 03-May-2024 | 8.4 KiB | 237 | 147 |
| CFGPrinter.cpp | D | 03-May-2024 | 4.9 KiB | 166 | 108 |
| CFLAliasAnalysis.cpp | D | 03-May-2024 | 38.6 KiB | 1,120 | 733 |
| CGSCCPassManager.cpp | D | 03-May-2024 | 2.5 KiB | 73 | 36 |
| CMakeLists.txt | D | 03-May-2024 | 1.6 KiB | 78 | 75 |
| CallGraph.cpp | D | 03-May-2024 | 10.3 KiB | 307 | 195 |
| CallGraphSCCPass.cpp | D | 03-May-2024 | 22.9 KiB | 633 | 372 |
| CallPrinter.cpp | D | 03-May-2024 | 2.9 KiB | 93 | 54 |
| CaptureTracking.cpp | D | 03-May-2024 | 11.8 KiB | 316 | 174 |
| CodeMetrics.cpp | D | 03-May-2024 | 6.4 KiB | 185 | 106 |
| ConstantFolding.cpp | D | 03-May-2024 | 69.7 KiB | 1,835 | 1,327 |
| CostModel.cpp | D | 03-May-2024 | 17.6 KiB | 534 | 372 |
| Delinearization.cpp | D | 03-May-2024 | 4.8 KiB | 142 | 101 |
| DemandedBits.cpp | D | 03-May-2024 | 13.7 KiB | 393 | 276 |
| DependenceAnalysis.cpp | D | 03-May-2024 | 146.6 KiB | 4,016 | 2,785 |
| DivergenceAnalysis.cpp | D | 03-May-2024 | 11.8 KiB | 321 | 177 |
| DomPrinter.cpp | D | 03-May-2024 | 7.9 KiB | 255 | 187 |
| DominanceFrontier.cpp | D | 03-May-2024 | 1.6 KiB | 58 | 38 |
| EHPersonalities.cpp | D | 03-May-2024 | 4.4 KiB | 107 | 71 |
| GlobalsModRef.cpp | D | 03-May-2024 | 39.5 KiB | 1,003 | 627 |
| IVUsers.cpp | D | 03-May-2024 | 13.6 KiB | 374 | 250 |
| InlineCost.cpp | D | 03-May-2024 | 54 KiB | 1,452 | 881 |
| InstCount.cpp | D | 03-May-2024 | 2.7 KiB | 89 | 56 |
| InstructionSimplify.cpp | D | 03-May-2024 | 158.6 KiB | 4,182 | 2,881 |
| Interval.cpp | D | 03-May-2024 | 2 KiB | 59 | 28 |
| IntervalPartition.cpp | D | 03-May-2024 | 4.2 KiB | 115 | 51 |
| IteratedDominanceFrontier.cpp | D | 03-May-2024 | 3.1 KiB | 96 | 57 |
| LLVMBuild.txt | D | 03-May-2024 | 704 | 23 | 21 |
| LazyCallGraph.cpp | D | 03-May-2024 | 26.1 KiB | 728 | 496 |
| LazyValueInfo.cpp | D | 03-May-2024 | 49 KiB | 1,426 | 976 |
| Lint.cpp | D | 03-May-2024 | 27.6 KiB | 721 | 523 |
| Loads.cpp | D | 03-May-2024 | 10.8 KiB | 288 | 144 |
| LoopAccessAnalysis.cpp | D | 03-May-2024 | 68.7 KiB | 1,862 | 1,165 |
| LoopInfo.cpp | D | 03-May-2024 | 26.8 KiB | 779 | 481 |
| LoopPass.cpp | D | 03-May-2024 | 11.1 KiB | 348 | 205 |
| Makefile | D | 03-May-2024 | 430 | 16 | 4 |
| MemDepPrinter.cpp | D | 03-May-2024 | 5.2 KiB | 169 | 128 |
| MemDerefPrinter.cpp | D | 03-May-2024 | 2.5 KiB | 79 | 63 |
| MemoryBuiltins.cpp | D | 03-May-2024 | 29.7 KiB | 805 | 553 |
| MemoryDependenceAnalysis.cpp | D | 03-May-2024 | 70.6 KiB | 1,759 | 1,015 |
| MemoryLocation.cpp | D | 03-May-2024 | 6.1 KiB | 175 | 124 |
| ModuleDebugInfoPrinter.cpp | D | 03-May-2024 | 3.9 KiB | 127 | 94 |
| ObjCARCAliasAnalysis.cpp | D | 03-May-2024 | 6 KiB | 171 | 104 |
| ObjCARCAnalysisUtils.cpp | D | 03-May-2024 | 1.1 KiB | 29 | 10 |
| ObjCARCInstKind.cpp | D | 03-May-2024 | 23.3 KiB | 676 | 556 |
| OrderedBasicBlock.cpp | D | 03-May-2024 | 3.5 KiB | 86 | 40 |
| PHITransAddr.cpp | D | 03-May-2024 | 16.1 KiB | 443 | 275 |
| 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.9 KiB | 183 | 116 |
| RegionPass.cpp | D | 03-May-2024 | 8.6 KiB | 283 | 166 |
| RegionPrinter.cpp | D | 03-May-2024 | 8.6 KiB | 268 | 197 |
| ScalarEvolution.cpp | D | 03-May-2024 | 364.5 KiB | 9,743 | 6,461 |
| ScalarEvolutionAliasAnalysis.cpp | D | 03-May-2024 | 5.9 KiB | 149 | 78 |
| ScalarEvolutionExpander.cpp | D | 03-May-2024 | 78.5 KiB | 2,027 | 1,340 |
| ScalarEvolutionNormalization.cpp | D | 03-May-2024 | 10.1 KiB | 255 | 152 |
| ScopedNoAliasAA.cpp | D | 03-May-2024 | 7.5 KiB | 213 | 129 |
| SparsePropagation.cpp | D | 03-May-2024 | 11.8 KiB | 348 | 212 |
| StratifiedSets.h | D | 03-May-2024 | 22 KiB | 693 | 406 |
| TargetLibraryInfo.cpp | D | 03-May-2024 | 22.4 KiB | 636 | 497 |
| TargetTransformInfo.cpp | D | 03-May-2024 | 13.5 KiB | 391 | 305 |
| Trace.cpp | D | 03-May-2024 | 1.7 KiB | 53 | 26 |
| TypeBasedAliasAnalysis.cpp | D | 03-May-2024 | 21.3 KiB | 623 | 337 |
| ValueTracking.cpp | D | 03-May-2024 | 164.6 KiB | 4,220 | 2,835 |
| VectorUtils.cpp | D | 03-May-2024 | 19.2 KiB | 568 | 386 |
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