• Home
Name Date Size #Lines LOC

..--

AliasAnalysis.cppD03-May-202433.8 KiB923610

AliasAnalysisEvaluator.cppD03-May-202415.6 KiB436382

AliasAnalysisSummary.cppD03-May-20243.5 KiB10481

AliasAnalysisSummary.hD03-May-202410.2 KiB266148

AliasSetTracker.cppD03-May-202425.9 KiB778553

Analysis.cppD03-May-20245.3 KiB139113

AssumptionCache.cppD03-May-20249.9 KiB304208

BasicAliasAnalysis.cppD03-May-202485.1 KiB2,1031,199

BlockFrequencyInfo.cppD03-May-202412.3 KiB344261

BlockFrequencyInfoImpl.cppD03-May-202428.1 KiB852583

BranchProbabilityInfo.cppD03-May-202438.7 KiB1,084750

CFG.cppD03-May-202410 KiB280178

CFGPrinter.cppD03-May-20246.4 KiB203139

CFLAndersAliasAnalysis.cppD03-May-202433 KiB933636

CFLGraph.hD03-May-202421.2 KiB661468

CFLSteensAliasAnalysis.cppD03-May-202413.2 KiB365234

CGSCCPassManager.cppD03-May-202429.3 KiB710397

CMakeLists.txtD03-May-20242.3 KiB108105

CallGraph.cppD03-May-202411 KiB328213

CallGraphSCCPass.cppD03-May-202425.3 KiB712447

CallPrinter.cppD03-May-20243 KiB9355

CaptureTracking.cppD03-May-202415.2 KiB390223

CmpInstAnalysis.cppD03-May-20244.6 KiB144111

CodeMetrics.cppD03-May-20247 KiB196114

ConstantFolding.cppD03-May-202494.1 KiB2,6402,028

CostModel.cppD03-May-20243.9 KiB11372

DDG.cppD03-May-20249.7 KiB284206

Delinearization.cppD03-May-20244.5 KiB13192

DemandedBits.cppD03-May-202416.3 KiB490347

DependenceAnalysis.cppD03-May-2024147.1 KiB4,0042,755

DependenceGraphBuilder.cppD03-May-202415.4 KiB408275

DivergenceAnalysis.cppD03-May-202415.3 KiB467277

DomPrinter.cppD03-May-20249.7 KiB299229

DomTreeUpdater.cppD03-May-202415.2 KiB534382

DominanceFrontier.cppD03-May-20243.2 KiB9868

EHPersonalities.cppD03-May-20245.9 KiB13698

GlobalsModRef.cppD03-May-202440.6 KiB1,035651

GuardUtils.cppD03-May-20243.3 KiB10776

IVDescriptors.cppD03-May-202442.2 KiB1,124710

IVUsers.cppD03-May-202416.1 KiB428274

IndirectCallPromotionAnalysis.cppD03-May-20244.4 KiB10872

InlineCost.cppD03-May-202488.3 KiB2,3281,382

InstCount.cppD03-May-20242.4 KiB8049

InstructionPrecedenceTracking.cppD03-May-20245.8 KiB162107

InstructionSimplify.cppD03-May-2024211.2 KiB5,6223,714

Interval.cppD03-May-20241.8 KiB5224

IntervalPartition.cppD03-May-20244.5 KiB11959

LLVMBuild.txtD03-May-2024765 2220

LazyBlockFrequencyInfo.cppD03-May-20242.8 KiB7343

LazyBranchProbabilityInfo.cppD03-May-20243 KiB7646

LazyCallGraph.cppD03-May-202466 KiB1,8171,124

LazyValueInfo.cppD03-May-202480.1 KiB2,0721,391

LegacyDivergenceAnalysis.cppD03-May-202414.8 KiB410243

Lint.cppD03-May-202428.8 KiB758555

Loads.cppD03-May-202419.5 KiB481282

LoopAccessAnalysis.cppD03-May-202493.3 KiB2,4701,539

LoopAnalysisManager.cppD03-May-20246.6 KiB15281

LoopCacheAnalysis.cppD03-May-202422 KiB630457

LoopInfo.cppD03-May-202437.1 KiB1,115753

LoopPass.cppD03-May-202414.1 KiB420262

LoopUnrollAnalyzer.cppD03-May-20247.2 KiB215135

MemDepPrinter.cppD03-May-20245.1 KiB166126

MemDerefPrinter.cppD03-May-20242.5 KiB7863

MemoryBuiltins.cppD03-May-202439.9 KiB1,053751

MemoryDependenceAnalysis.cppD03-May-202471.2 KiB1,8261,089

MemoryLocation.cppD03-May-20247.4 KiB213160

MemorySSA.cppD03-May-202490.1 KiB2,4601,649

MemorySSAUpdater.cppD03-May-202457.8 KiB1,4471,006

ModuleDebugInfoPrinter.cppD03-May-20244 KiB12997

ModuleSummaryAnalysis.cppD03-May-202436.1 KiB885649

MustExecute.cppD03-May-202426.6 KiB713492

ObjCARCAliasAnalysis.cppD03-May-20245.8 KiB165100

ObjCARCAnalysisUtils.cppD03-May-20241.1 KiB268

ObjCARCInstKind.cppD03-May-202423.2 KiB706597

OptimizationRemarkEmitter.cppD03-May-20244.2 KiB13588

OrderedBasicBlock.cppD03-May-20244.4 KiB11263

OrderedInstructions.cppD03-May-20242.1 KiB5126

PHITransAddr.cppD03-May-202416.1 KiB440273

PhiValues.cppD03-May-20248.4 KiB228151

PostDominators.cppD03-May-20243.6 KiB11471

ProfileSummaryInfo.cppD03-May-202414.9 KiB395291

PtrUseVisitor.cppD03-May-20241.3 KiB4526

README.txtD03-May-20241,006 3117

RegionInfo.cppD03-May-20246.5 KiB217138

RegionPass.cppD03-May-20249.2 KiB300179

RegionPrinter.cppD03-May-20248.6 KiB268198

ScalarEvolution.cppD03-May-2024479.6 KiB12,6188,390

ScalarEvolutionAliasAnalysis.cppD03-May-20246 KiB14979

ScalarEvolutionExpander.cppD03-May-202496.2 KiB2,4531,634

ScalarEvolutionNormalization.cppD03-May-20244.6 KiB11857

ScopedNoAliasAA.cppD03-May-20247.4 KiB212125

StackSafetyAnalysis.cppD03-May-202422 KiB679501

StratifiedSets.hD03-May-202418.7 KiB597357

SyncDependenceAnalysis.cppD03-May-202412.9 KiB381176

SyntheticCountsUtils.cppD03-May-20243.8 KiB10555

TargetLibraryInfo.cppD03-May-202458.3 KiB1,6471,369

TargetTransformInfo.cppD03-May-202449.5 KiB1,3971,079

Trace.cppD03-May-20241.8 KiB5429

TypeBasedAliasAnalysis.cppD03-May-202426 KiB739432

TypeMetadataUtils.cppD03-May-20245.9 KiB162119

VFABIDemangling.cppD03-May-202414.6 KiB431236

ValueLattice.cppD03-May-2024960 2615

ValueLatticeUtils.cppD03-May-20241.5 KiB4427

ValueTracking.cppD03-May-2024224 KiB5,9984,089

VectorUtils.cppD03-May-202444.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