• Home
Name Date Size #Lines LOC

..--

AliasAnalysis.cppD03-May-202430.5 KiB841538

AliasAnalysisEvaluator.cppD03-May-202415.5 KiB434378

AliasAnalysisSummary.cppD03-May-20243.5 KiB10481

AliasAnalysisSummary.hD03-May-202410.1 KiB266147

AliasSetTracker.cppD03-May-202423.7 KiB730516

Analysis.cppD03-May-20245.1 KiB137110

AssumptionCache.cppD03-May-20249.1 KiB276184

BasicAliasAnalysis.cppD03-May-202479.8 KiB1,9751,101

BlockFrequencyInfo.cppD03-May-202412.1 KiB343259

BlockFrequencyInfoImpl.cppD03-May-202427.9 KiB848580

BranchProbabilityInfo.cppD03-May-202436.4 KiB1,040710

CFG.cppD03-May-20248.4 KiB237147

CFGPrinter.cppD03-May-20246 KiB196133

CFLAndersAliasAnalysis.cppD03-May-202432.7 KiB923626

CFLGraph.hD03-May-202421 KiB655461

CFLSteensAliasAnalysis.cppD03-May-202412.9 KiB359227

CGSCCPassManager.cppD03-May-202428.4 KiB690388

CMakeLists.txtD03-May-20242.1 KiB9794

CallGraph.cppD03-May-202411 KiB330214

CallGraphSCCPass.cppD03-May-202423.9 KiB667404

CallPrinter.cppD03-May-20243 KiB9354

CaptureTracking.cppD03-May-202413.8 KiB365205

CmpInstAnalysis.cppD03-May-20244.7 KiB145111

CodeMetrics.cppD03-May-20247 KiB200116

ConstantFolding.cppD03-May-202483.1 KiB2,2631,699

CostModel.cppD03-May-20243.8 KiB11371

Delinearization.cppD03-May-20244.4 KiB13191

DemandedBits.cppD03-May-202414 KiB411288

DependenceAnalysis.cppD03-May-2024145.7 KiB3,9822,735

DivergenceAnalysis.cppD03-May-202412.4 KiB341190

DomPrinter.cppD03-May-20249.6 KiB299228

DominanceFrontier.cppD03-May-20243.1 KiB9867

EHPersonalities.cppD03-May-20245.9 KiB13798

GlobalsModRef.cppD03-May-202439.7 KiB1,015630

IVUsers.cppD03-May-202416.1 KiB428273

IndirectCallPromotionAnalysis.cppD03-May-20244.3 KiB10871

InlineCost.cppD03-May-202481.6 KiB2,1551,274

InstCount.cppD03-May-20242.4 KiB8048

InstructionSimplify.cppD03-May-2024191.2 KiB5,1823,477

Interval.cppD03-May-20241.7 KiB5324

IntervalPartition.cppD03-May-20244.3 KiB11555

IteratedDominanceFrontier.cppD03-May-20243.4 KiB10059

LLVMBuild.txtD03-May-2024736 2321

LazyBlockFrequencyInfo.cppD03-May-20242.8 KiB7342

LazyBranchProbabilityInfo.cppD03-May-20242.9 KiB7544

LazyCallGraph.cppD03-May-202465.5 KiB1,8061,115

LazyValueInfo.cppD03-May-202474.1 KiB1,9211,257

Lint.cppD03-May-202428.5 KiB754551

Loads.cppD03-May-202416.9 KiB442256

LoopAccessAnalysis.cppD03-May-202490.1 KiB2,3781,479

LoopAnalysisManager.cppD03-May-20246.9 KiB16084

LoopInfo.cppD03-May-202425.7 KiB771512

LoopPass.cppD03-May-202412.9 KiB391238

LoopUnrollAnalyzer.cppD03-May-20247.2 KiB216135

MemDepPrinter.cppD03-May-20245 KiB167126

MemDerefPrinter.cppD03-May-20242.4 KiB7761

MemoryBuiltins.cppD03-May-202436.1 KiB962680

MemoryDependenceAnalysis.cppD03-May-202470.4 KiB1,8061,075

MemoryLocation.cppD03-May-20246 KiB175124

MemorySSA.cppD03-May-202478.4 KiB2,1911,463

MemorySSAUpdater.cppD03-May-202424.3 KiB637407

ModuleDebugInfoPrinter.cppD03-May-20244 KiB12996

ModuleSummaryAnalysis.cppD03-May-202425.8 KiB644483

MustExecute.cppD03-May-202410.5 KiB270176

ObjCARCAliasAnalysis.cppD03-May-20245.6 KiB16397

ObjCARCAnalysisUtils.cppD03-May-20241 KiB278

ObjCARCInstKind.cppD03-May-202423.8 KiB696573

OptimizationRemarkEmitter.cppD03-May-20244.1 KiB13587

OrderedBasicBlock.cppD03-May-20243.5 KiB8640

PHITransAddr.cppD03-May-202416 KiB441273

PhiValues.cppD03-May-20247.3 KiB197128

PostDominators.cppD03-May-20242.7 KiB8651

ProfileSummaryInfo.cppD03-May-202411.6 KiB311218

PtrUseVisitor.cppD03-May-20241.1 KiB4021

README.txtD03-May-20241,006 3117

RegionInfo.cppD03-May-20246.4 KiB217137

RegionPass.cppD03-May-20249.1 KiB295174

RegionPrinter.cppD03-May-20248.6 KiB268197

ScalarEvolution.cppD03-May-2024465.1 KiB12,2948,183

ScalarEvolutionAliasAnalysis.cppD03-May-20245.6 KiB14473

ScalarEvolutionExpander.cppD03-May-202491.6 KiB2,3451,553

ScalarEvolutionNormalization.cppD03-May-20244.6 KiB11957

ScopedNoAliasAA.cppD03-May-20247.2 KiB212124

StratifiedSets.hD03-May-202418.6 KiB598357

SyntheticCountsUtils.cppD03-May-20244.1 KiB11463

TargetLibraryInfo.cppD03-May-202458 KiB1,6641,374

TargetTransformInfo.cppD03-May-202442.4 KiB1,196929

Trace.cppD03-May-20241.8 KiB5529

TypeBasedAliasAnalysis.cppD03-May-202425.7 KiB741431

TypeMetadataUtils.cppD03-May-20244.2 KiB11987

ValueLattice.cppD03-May-2024932 2715

ValueLatticeUtils.cppD03-May-20241.5 KiB4527

ValueTracking.cppD03-May-2024194.8 KiB5,1363,419

VectorUtils.cppD03-May-202419.5 KiB578391

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