• Home
Name Date Size #Lines LOC

..--

AliasAnalysis.cppD04-Jul-202533.8 KiB923610

AliasAnalysisEvaluator.cppD04-Jul-202515.6 KiB436382

AliasAnalysisSummary.cppD04-Jul-20253.5 KiB10481

AliasAnalysisSummary.hD04-Jul-202510.2 KiB266148

AliasSetTracker.cppD04-Jul-202525.9 KiB778553

Analysis.cppD04-Jul-20255.3 KiB139113

AssumptionCache.cppD04-Jul-20259.9 KiB304208

BasicAliasAnalysis.cppD04-Jul-202585.1 KiB2,1031,199

BlockFrequencyInfo.cppD04-Jul-202512.3 KiB344261

BlockFrequencyInfoImpl.cppD04-Jul-202528.1 KiB852583

BranchProbabilityInfo.cppD04-Jul-202538.7 KiB1,084750

CFG.cppD04-Jul-202510 KiB280178

CFGPrinter.cppD04-Jul-20256.4 KiB203139

CFLAndersAliasAnalysis.cppD04-Jul-202533 KiB933636

CFLGraph.hD04-Jul-202521.2 KiB661468

CFLSteensAliasAnalysis.cppD04-Jul-202513.2 KiB365234

CGSCCPassManager.cppD04-Jul-202529.3 KiB710397

CMakeLists.txtD04-Jul-20252.3 KiB108105

CallGraph.cppD04-Jul-202511 KiB328213

CallGraphSCCPass.cppD04-Jul-202525.3 KiB712447

CallPrinter.cppD04-Jul-20253 KiB9355

CaptureTracking.cppD04-Jul-202515.2 KiB390223

CmpInstAnalysis.cppD04-Jul-20254.6 KiB144111

CodeMetrics.cppD04-Jul-20257 KiB196114

ConstantFolding.cppD04-Jul-202594.1 KiB2,6402,028

CostModel.cppD04-Jul-20253.9 KiB11372

DDG.cppD04-Jul-20259.7 KiB284206

Delinearization.cppD04-Jul-20254.5 KiB13192

DemandedBits.cppD04-Jul-202516.3 KiB490347

DependenceAnalysis.cppD04-Jul-2025147.1 KiB4,0042,755

DependenceGraphBuilder.cppD04-Jul-202515.4 KiB408275

DivergenceAnalysis.cppD04-Jul-202515.3 KiB467277

DomPrinter.cppD04-Jul-20259.7 KiB299229

DomTreeUpdater.cppD04-Jul-202515.2 KiB534382

DominanceFrontier.cppD04-Jul-20253.2 KiB9868

EHPersonalities.cppD04-Jul-20255.9 KiB13698

GlobalsModRef.cppD04-Jul-202540.6 KiB1,035651

GuardUtils.cppD04-Jul-20253.3 KiB10776

IVDescriptors.cppD04-Jul-202542.2 KiB1,124710

IVUsers.cppD04-Jul-202516.1 KiB428274

IndirectCallPromotionAnalysis.cppD04-Jul-20254.4 KiB10872

InlineCost.cppD04-Jul-202588.3 KiB2,3281,382

InstCount.cppD04-Jul-20252.4 KiB8049

InstructionPrecedenceTracking.cppD04-Jul-20255.8 KiB162107

InstructionSimplify.cppD04-Jul-2025211.2 KiB5,6223,714

Interval.cppD04-Jul-20251.8 KiB5224

IntervalPartition.cppD04-Jul-20254.5 KiB11959

LLVMBuild.txtD04-Jul-2025765 2220

LazyBlockFrequencyInfo.cppD04-Jul-20252.8 KiB7343

LazyBranchProbabilityInfo.cppD04-Jul-20253 KiB7646

LazyCallGraph.cppD04-Jul-202566 KiB1,8171,124

LazyValueInfo.cppD04-Jul-202580.1 KiB2,0721,391

LegacyDivergenceAnalysis.cppD04-Jul-202514.8 KiB410243

Lint.cppD04-Jul-202528.8 KiB758555

Loads.cppD04-Jul-202519.5 KiB481282

LoopAccessAnalysis.cppD04-Jul-202593.3 KiB2,4701,539

LoopAnalysisManager.cppD04-Jul-20256.6 KiB15281

LoopCacheAnalysis.cppD04-Jul-202522 KiB630457

LoopInfo.cppD04-Jul-202537.1 KiB1,115753

LoopPass.cppD04-Jul-202514.1 KiB420262

LoopUnrollAnalyzer.cppD04-Jul-20257.2 KiB215135

MemDepPrinter.cppD04-Jul-20255.1 KiB166126

MemDerefPrinter.cppD04-Jul-20252.5 KiB7863

MemoryBuiltins.cppD04-Jul-202539.9 KiB1,053751

MemoryDependenceAnalysis.cppD04-Jul-202571.2 KiB1,8261,089

MemoryLocation.cppD04-Jul-20257.4 KiB213160

MemorySSA.cppD04-Jul-202590.1 KiB2,4601,649

MemorySSAUpdater.cppD04-Jul-202557.8 KiB1,4471,006

ModuleDebugInfoPrinter.cppD04-Jul-20254 KiB12997

ModuleSummaryAnalysis.cppD04-Jul-202536.1 KiB885649

MustExecute.cppD04-Jul-202526.6 KiB713492

ObjCARCAliasAnalysis.cppD04-Jul-20255.8 KiB165100

ObjCARCAnalysisUtils.cppD04-Jul-20251.1 KiB268

ObjCARCInstKind.cppD04-Jul-202523.2 KiB706597

OptimizationRemarkEmitter.cppD04-Jul-20254.2 KiB13588

OrderedBasicBlock.cppD04-Jul-20254.4 KiB11263

OrderedInstructions.cppD04-Jul-20252.1 KiB5126

PHITransAddr.cppD04-Jul-202516.1 KiB440273

PhiValues.cppD04-Jul-20258.4 KiB228151

PostDominators.cppD04-Jul-20253.6 KiB11471

ProfileSummaryInfo.cppD04-Jul-202514.9 KiB395291

PtrUseVisitor.cppD04-Jul-20251.3 KiB4526

README.txtD04-Jul-20251,006 3117

RegionInfo.cppD04-Jul-20256.5 KiB217138

RegionPass.cppD04-Jul-20259.2 KiB300179

RegionPrinter.cppD04-Jul-20258.6 KiB268198

ScalarEvolution.cppD04-Jul-2025479.6 KiB12,6188,390

ScalarEvolutionAliasAnalysis.cppD04-Jul-20256 KiB14979

ScalarEvolutionExpander.cppD04-Jul-202596.2 KiB2,4531,634

ScalarEvolutionNormalization.cppD04-Jul-20254.6 KiB11857

ScopedNoAliasAA.cppD04-Jul-20257.4 KiB212125

StackSafetyAnalysis.cppD04-Jul-202522 KiB679501

StratifiedSets.hD04-Jul-202518.7 KiB597357

SyncDependenceAnalysis.cppD04-Jul-202512.9 KiB381176

SyntheticCountsUtils.cppD04-Jul-20253.8 KiB10555

TargetLibraryInfo.cppD04-Jul-202558.3 KiB1,6471,369

TargetTransformInfo.cppD04-Jul-202549.5 KiB1,3971,079

Trace.cppD04-Jul-20251.8 KiB5429

TypeBasedAliasAnalysis.cppD04-Jul-202526 KiB739432

TypeMetadataUtils.cppD04-Jul-20255.9 KiB162119

VFABIDemangling.cppD04-Jul-202514.6 KiB431236

ValueLattice.cppD04-Jul-2025960 2615

ValueLatticeUtils.cppD04-Jul-20251.5 KiB4427

ValueTracking.cppD04-Jul-2025224 KiB5,9984,089

VectorUtils.cppD04-Jul-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