Name Date Size #Lines LOC

..--

AliasAnalysis.cppH A D25-Apr-202533.8 KiB923610

AliasAnalysisEvaluator.cppH A D25-Apr-202515.6 KiB436382

AliasAnalysisSummary.cppH A D25-Apr-20253.5 KiB10481

AliasAnalysisSummary.hH A D25-Apr-202510.2 KiB266148

AliasSetTracker.cppH A D25-Apr-202525.9 KiB778553

Analysis.cppH A D25-Apr-20255.3 KiB139113

AssumptionCache.cppH A D25-Apr-20259.9 KiB304208

BasicAliasAnalysis.cppH A D25-Apr-202585.1 KiB2,1031,199

BlockFrequencyInfo.cppH A D25-Apr-202512.3 KiB344261

BlockFrequencyInfoImpl.cppH A D25-Apr-202528.1 KiB852583

BranchProbabilityInfo.cppH A D25-Apr-202538.7 KiB1,084750

CFG.cppH A D25-Apr-202510 KiB280178

CFGPrinter.cppH A D25-Apr-20256.4 KiB203139

CFLAndersAliasAnalysis.cppH A D25-Apr-202533 KiB933636

CFLGraph.hH A D25-Apr-202521.2 KiB661468

CFLSteensAliasAnalysis.cppH A D25-Apr-202513.2 KiB365234

CGSCCPassManager.cppH A D25-Apr-202529.3 KiB710397

CMakeLists.txtH A D25-Apr-20252.3 KiB108105

CallGraph.cppH A D25-Apr-202511 KiB328213

CallGraphSCCPass.cppH A D25-Apr-202525.3 KiB712447

CallPrinter.cppH A D25-Apr-20253 KiB9355

CaptureTracking.cppH A D25-Apr-202515.2 KiB390223

CmpInstAnalysis.cppH A D25-Apr-20254.6 KiB144111

CodeMetrics.cppH A D25-Apr-20257 KiB196114

ConstantFolding.cppH A D25-Apr-202594.1 KiB2,6402,028

CostModel.cppH A D25-Apr-20253.9 KiB11372

DDG.cppH A D25-Apr-20259.7 KiB284206

Delinearization.cppH A D25-Apr-20254.5 KiB13192

DemandedBits.cppH A D25-Apr-202516.3 KiB490347

DependenceAnalysis.cppH A D25-Apr-2025147.1 KiB4,0042,755

DependenceGraphBuilder.cppH A D25-Apr-202515.4 KiB408275

DivergenceAnalysis.cppH A D25-Apr-202515.3 KiB467277

DomPrinter.cppH A D25-Apr-20259.7 KiB299229

DomTreeUpdater.cppH A D25-Apr-202515.2 KiB534382

DominanceFrontier.cppH A D25-Apr-20253.2 KiB9868

EHPersonalities.cppH A D25-Apr-20255.9 KiB13698

GlobalsModRef.cppH A D25-Apr-202540.6 KiB1,035651

GuardUtils.cppH A D25-Apr-20253.3 KiB10776

IVDescriptors.cppH A D25-Apr-202542.2 KiB1,124710

IVUsers.cppH A D25-Apr-202516.1 KiB428274

IndirectCallPromotionAnalysis.cppH A D25-Apr-20254.4 KiB10872

InlineCost.cppH A D25-Apr-202588.3 KiB2,3281,382

InstCount.cppH A D25-Apr-20252.4 KiB8049

InstructionPrecedenceTracking.cppH A D25-Apr-20255.8 KiB162107

InstructionSimplify.cppH A D25-Apr-2025211.2 KiB5,6223,714

Interval.cppH A D25-Apr-20251.8 KiB5224

IntervalPartition.cppH A D25-Apr-20254.5 KiB11959

LLVMBuild.txtH A D25-Apr-2025765 2220

LazyBlockFrequencyInfo.cppH A D25-Apr-20252.8 KiB7343

LazyBranchProbabilityInfo.cppH A D25-Apr-20253 KiB7646

LazyCallGraph.cppH A D25-Apr-202566 KiB1,8171,124

LazyValueInfo.cppH A D25-Apr-202580.1 KiB2,0721,391

LegacyDivergenceAnalysis.cppH A D25-Apr-202514.8 KiB410243

Lint.cppH A D25-Apr-202528.8 KiB758555

Loads.cppH A D25-Apr-202519.5 KiB481282

LoopAccessAnalysis.cppH A D25-Apr-202593.3 KiB2,4701,539

LoopAnalysisManager.cppH A D25-Apr-20256.6 KiB15281

LoopCacheAnalysis.cppH A D25-Apr-202522 KiB630457

LoopInfo.cppH A D25-Apr-202537.1 KiB1,115753

LoopPass.cppH A D25-Apr-202514.1 KiB420262

LoopUnrollAnalyzer.cppH A D25-Apr-20257.2 KiB215135

MemDepPrinter.cppH A D25-Apr-20255.1 KiB166126

MemDerefPrinter.cppH A D25-Apr-20252.5 KiB7863

MemoryBuiltins.cppH A D25-Apr-202539.9 KiB1,053751

MemoryDependenceAnalysis.cppH A D25-Apr-202571.2 KiB1,8261,089

MemoryLocation.cppH A D25-Apr-20257.4 KiB213160

MemorySSA.cppH A D25-Apr-202590.1 KiB2,4601,649

MemorySSAUpdater.cppH A D25-Apr-202557.8 KiB1,4471,006

ModuleDebugInfoPrinter.cppH A D25-Apr-20254 KiB12997

ModuleSummaryAnalysis.cppH A D25-Apr-202536.1 KiB885649

MustExecute.cppH A D25-Apr-202526.6 KiB713492

ObjCARCAliasAnalysis.cppH A D25-Apr-20255.8 KiB165100

ObjCARCAnalysisUtils.cppH A D25-Apr-20251.1 KiB268

ObjCARCInstKind.cppH A D25-Apr-202523.2 KiB706597

OptimizationRemarkEmitter.cppH A D25-Apr-20254.2 KiB13588

OrderedBasicBlock.cppH A D25-Apr-20254.4 KiB11263

OrderedInstructions.cppH A D25-Apr-20252.1 KiB5126

PHITransAddr.cppH A D25-Apr-202516.1 KiB440273

PhiValues.cppH A D25-Apr-20258.4 KiB228151

PostDominators.cppH A D25-Apr-20253.6 KiB11471

ProfileSummaryInfo.cppH A D25-Apr-202514.9 KiB395291

PtrUseVisitor.cppH A D25-Apr-20251.3 KiB4526

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

RegionInfo.cppH A D25-Apr-20256.5 KiB217138

RegionPass.cppH A D25-Apr-20259.2 KiB300179

RegionPrinter.cppH A D25-Apr-20258.6 KiB268198

ScalarEvolution.cppH A D25-Apr-2025479.6 KiB12,6188,390

ScalarEvolutionAliasAnalysis.cppH A D25-Apr-20256 KiB14979

ScalarEvolutionExpander.cppH A D25-Apr-202596.2 KiB2,4531,634

ScalarEvolutionNormalization.cppH A D25-Apr-20254.6 KiB11857

ScopedNoAliasAA.cppH A D25-Apr-20257.4 KiB212125

StackSafetyAnalysis.cppH A D25-Apr-202522 KiB679501

StratifiedSets.hH A D25-Apr-202518.7 KiB597357

SyncDependenceAnalysis.cppH A D25-Apr-202512.9 KiB381176

SyntheticCountsUtils.cppH A D25-Apr-20253.8 KiB10555

TargetLibraryInfo.cppH A D25-Apr-202558.3 KiB1,6471,369

TargetTransformInfo.cppH A D25-Apr-202549.5 KiB1,3971,079

Trace.cppH A D25-Apr-20251.8 KiB5429

TypeBasedAliasAnalysis.cppH A D25-Apr-202526 KiB739432

TypeMetadataUtils.cppH A D25-Apr-20255.9 KiB162119

VFABIDemangling.cppH A D25-Apr-202514.6 KiB431236

ValueLattice.cppH A D25-Apr-2025960 2615

ValueLatticeUtils.cppH A D25-Apr-20251.5 KiB4427

ValueTracking.cppH A D25-Apr-2025224 KiB5,9984,089

VectorUtils.cppH A D25-Apr-202544.8 KiB1,229797

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