Name Date Size #Lines LOC

..--

AliasAnalysis.cppH A D25-Apr-202525.7 KiB708451

AliasAnalysisEvaluator.cppH A D25-Apr-202513.3 KiB390334

AliasAnalysisSummary.cppH A D25-Apr-20253.6 KiB10682

AliasAnalysisSummary.hH A D25-Apr-20257.7 KiB19281

AliasSetTracker.cppH A D25-Apr-202523 KiB719505

Analysis.cppH A D25-Apr-20254.6 KiB129102

Android.bpH A D25-Apr-2025453 1715

AssumptionCache.cppH A D25-Apr-20254.9 KiB14190

BasicAliasAnalysis.cppH A D25-Apr-202569.2 KiB1,725944

BlockFrequencyInfo.cppH A D25-Apr-20259.1 KiB268202

BlockFrequencyInfoImpl.cppH A D25-Apr-202526.1 KiB796533

BranchProbabilityInfo.cppH A D25-Apr-202523.9 KiB711468

CFG.cppH A D25-Apr-20258.4 KiB237147

CFGPrinter.cppH A D25-Apr-20254.9 KiB166108

CFLAndersAliasAnalysis.cppH A D25-Apr-20252.2 KiB6124

CFLGraph.hH A D25-Apr-202517.5 KiB534357

CFLSteensAliasAnalysis.cppH A D25-Apr-202516.2 KiB443285

CGSCCPassManager.cppH A D25-Apr-2025986 2512

CMakeLists.txtH A D25-Apr-20251.9 KiB8784

CallGraph.cppH A D25-Apr-202511.3 KiB338220

CallGraphSCCPass.cppH A D25-Apr-202523.2 KiB645383

CallPrinter.cppH A D25-Apr-20253 KiB9354

CaptureTracking.cppH A D25-Apr-202513.6 KiB360202

CodeMetrics.cppH A D25-Apr-20256.3 KiB187108

ConstantFolding.cppH A D25-Apr-202571.2 KiB1,9291,421

CostModel.cppH A D25-Apr-202517.6 KiB537374

Delinearization.cppH A D25-Apr-20254.8 KiB141100

DemandedBits.cppH A D25-Apr-202513.9 KiB404285

DependenceAnalysis.cppH A D25-Apr-2025143.8 KiB3,9472,725

DivergenceAnalysis.cppH A D25-Apr-202512 KiB331181

DomPrinter.cppH A D25-Apr-20259.2 KiB283214

DominanceFrontier.cppH A D25-Apr-20252.4 KiB7853

EHPersonalities.cppH A D25-Apr-20254.6 KiB11074

GlobalsModRef.cppH A D25-Apr-202538.3 KiB981613

IVUsers.cppH A D25-Apr-202513.5 KiB371247

IndirectCallPromotionAnalysis.cppH A D25-Apr-20254.1 KiB11072

InlineCost.cppH A D25-Apr-202557.6 KiB1,554932

InstCount.cppH A D25-Apr-20252.7 KiB8956

InstructionSimplify.cppH A D25-Apr-2025163.7 KiB4,3262,990

Interval.cppH A D25-Apr-20251.8 KiB5625

IntervalPartition.cppH A D25-Apr-20254.2 KiB11450

IteratedDominanceFrontier.cppH A D25-Apr-20253.5 KiB10565

LLVMBuild.txtH A D25-Apr-2025716 2321

LazyBlockFrequencyInfo.cppH A D25-Apr-20252.5 KiB6941

LazyCallGraph.cppH A D25-Apr-202558.6 KiB1,5911,003

LazyValueInfo.cppH A D25-Apr-202560.7 KiB1,7171,164

Lint.cppH A D25-Apr-202527.5 KiB720522

Loads.cppH A D25-Apr-202515.7 KiB421239

LoopAccessAnalysis.cppH A D25-Apr-202576.6 KiB2,0611,305

LoopInfo.cppH A D25-Apr-202524.1 KiB730479

LoopPass.cppH A D25-Apr-202511.4 KiB358215

LoopPassManager.cppH A D25-Apr-20251.3 KiB4024

LoopUnrollAnalyzer.cppH A D25-Apr-20257 KiB211132

MemDepPrinter.cppH A D25-Apr-20255 KiB167126

MemDerefPrinter.cppH A D25-Apr-20252.5 KiB7963

MemoryBuiltins.cppH A D25-Apr-202531.5 KiB857594

MemoryDependenceAnalysis.cppH A D25-Apr-202566.6 KiB1,7091,003

MemoryLocation.cppH A D25-Apr-20255.5 KiB159112

ModuleDebugInfoPrinter.cppH A D25-Apr-20253.9 KiB12794

ModuleSummaryAnalysis.cppH A D25-Apr-20258.4 KiB230154

ObjCARCAliasAnalysis.cppH A D25-Apr-20255.6 KiB16397

ObjCARCAnalysisUtils.cppH A D25-Apr-20251.1 KiB2910

ObjCARCInstKind.cppH A D25-Apr-202523.8 KiB690570

OrderedBasicBlock.cppH A D25-Apr-20253.5 KiB8640

PHITransAddr.cppH A D25-Apr-202516.2 KiB444276

PostDominators.cppH A D25-Apr-20252.1 KiB6638

ProfileSummaryInfo.cppH A D25-Apr-20256.2 KiB167106

PtrUseVisitor.cppH A D25-Apr-20251 KiB3618

README.txtH A D25-Apr-20251,006 3117

RegionInfo.cppH A D25-Apr-20256 KiB214136

RegionPass.cppH A D25-Apr-20258.6 KiB283166

RegionPrinter.cppH A D25-Apr-20258.6 KiB268197

ScalarEvolution.cppH A D25-Apr-2025385.6 KiB10,4647,052

ScalarEvolutionAliasAnalysis.cppH A D25-Apr-20255.6 KiB14473

ScalarEvolutionExpander.cppH A D25-Apr-202586 KiB2,2121,454

ScalarEvolutionNormalization.cppH A D25-Apr-202510.1 KiB255152

ScopedNoAliasAA.cppH A D25-Apr-20257.1 KiB207123

SparsePropagation.cppH A D25-Apr-202511.8 KiB348212

StratifiedSets.hH A D25-Apr-202519 KiB607361

TargetLibraryInfo.cppH A D25-Apr-202541.8 KiB1,173981

TargetTransformInfo.cppH A D25-Apr-202516.7 KiB469370

Trace.cppH A D25-Apr-20251.7 KiB5326

TypeBasedAliasAnalysis.cppH A D25-Apr-202520.9 KiB617331

TypeMetadataUtils.cppH A D25-Apr-20254.2 KiB11987

ValueTracking.cppH A D25-Apr-2025157.8 KiB4,1592,827

VectorUtils.cppH A D25-Apr-202516.5 KiB491326

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