• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

AliasAnalysis.cppD23-Nov-202333.8 KiB923610

AliasAnalysisEvaluator.cppD23-Nov-202315.6 KiB436382

AliasAnalysisSummary.cppD23-Nov-20233.5 KiB10481

AliasAnalysisSummary.hD23-Nov-202310.2 KiB266148

AliasSetTracker.cppD23-Nov-202325.9 KiB778553

Analysis.cppD23-Nov-20235.3 KiB139113

AssumptionCache.cppD23-Nov-20239.9 KiB304208

BasicAliasAnalysis.cppD23-Nov-202385.1 KiB2,1031,199

BlockFrequencyInfo.cppD23-Nov-202312.3 KiB344261

BlockFrequencyInfoImpl.cppD23-Nov-202328.1 KiB852583

BranchProbabilityInfo.cppD23-Nov-202338.7 KiB1,084750

CFG.cppD23-Nov-202310 KiB280178

CFGPrinter.cppD23-Nov-20236.4 KiB203139

CFLAndersAliasAnalysis.cppD23-Nov-202333 KiB933636

CFLGraph.hD23-Nov-202321.2 KiB661468

CFLSteensAliasAnalysis.cppD23-Nov-202313.2 KiB365234

CGSCCPassManager.cppD23-Nov-202329.3 KiB710397

CMakeLists.txtD23-Nov-20232.3 KiB108105

CallGraph.cppD23-Nov-202311 KiB328213

CallGraphSCCPass.cppD23-Nov-202325.3 KiB712447

CallPrinter.cppD23-Nov-20233 KiB9355

CaptureTracking.cppD23-Nov-202315.2 KiB390223

CmpInstAnalysis.cppD23-Nov-20234.6 KiB144111

CodeMetrics.cppD23-Nov-20237 KiB196114

ConstantFolding.cppD23-Nov-202394.1 KiB2,6402,028

CostModel.cppD23-Nov-20233.9 KiB11372

DDG.cppD23-Nov-20239.7 KiB284206

Delinearization.cppD23-Nov-20234.5 KiB13192

DemandedBits.cppD23-Nov-202316.3 KiB490347

DependenceAnalysis.cppD23-Nov-2023147.1 KiB4,0042,755

DependenceGraphBuilder.cppD23-Nov-202315.4 KiB408275

DivergenceAnalysis.cppD23-Nov-202315.3 KiB467277

DomPrinter.cppD23-Nov-20239.7 KiB299229

DomTreeUpdater.cppD23-Nov-202315.2 KiB534382

DominanceFrontier.cppD23-Nov-20233.2 KiB9868

EHPersonalities.cppD23-Nov-20235.9 KiB13698

GlobalsModRef.cppD23-Nov-202340.6 KiB1,035651

GuardUtils.cppD23-Nov-20233.3 KiB10776

IVDescriptors.cppD23-Nov-202342.2 KiB1,124710

IVUsers.cppD23-Nov-202316.1 KiB428274

IndirectCallPromotionAnalysis.cppD23-Nov-20234.4 KiB10872

InlineCost.cppD23-Nov-202388.3 KiB2,3281,382

InstCount.cppD23-Nov-20232.4 KiB8049

InstructionPrecedenceTracking.cppD23-Nov-20235.8 KiB162107

InstructionSimplify.cppD23-Nov-2023211.2 KiB5,6223,714

Interval.cppD23-Nov-20231.8 KiB5224

IntervalPartition.cppD23-Nov-20234.5 KiB11959

LLVMBuild.txtD23-Nov-2023765 2220

LazyBlockFrequencyInfo.cppD23-Nov-20232.8 KiB7343

LazyBranchProbabilityInfo.cppD23-Nov-20233 KiB7646

LazyCallGraph.cppD23-Nov-202366 KiB1,8171,124

LazyValueInfo.cppD23-Nov-202380.1 KiB2,0721,391

LegacyDivergenceAnalysis.cppD23-Nov-202314.8 KiB410243

Lint.cppD23-Nov-202328.8 KiB758555

Loads.cppD23-Nov-202319.5 KiB481282

LoopAccessAnalysis.cppD23-Nov-202393.3 KiB2,4701,539

LoopAnalysisManager.cppD23-Nov-20236.6 KiB15281

LoopCacheAnalysis.cppD23-Nov-202322 KiB630457

LoopInfo.cppD23-Nov-202337.1 KiB1,115753

LoopPass.cppD23-Nov-202314.1 KiB420262

LoopUnrollAnalyzer.cppD23-Nov-20237.2 KiB215135

MemDepPrinter.cppD23-Nov-20235.1 KiB166126

MemDerefPrinter.cppD23-Nov-20232.5 KiB7863

MemoryBuiltins.cppD23-Nov-202339.9 KiB1,053751

MemoryDependenceAnalysis.cppD23-Nov-202371.2 KiB1,8261,089

MemoryLocation.cppD23-Nov-20237.4 KiB213160

MemorySSA.cppD23-Nov-202390.1 KiB2,4601,649

MemorySSAUpdater.cppD23-Nov-202357.8 KiB1,4471,006

ModuleDebugInfoPrinter.cppD23-Nov-20234 KiB12997

ModuleSummaryAnalysis.cppD23-Nov-202336.1 KiB885649

MustExecute.cppD23-Nov-202326.6 KiB713492

ObjCARCAliasAnalysis.cppD23-Nov-20235.8 KiB165100

ObjCARCAnalysisUtils.cppD23-Nov-20231.1 KiB268

ObjCARCInstKind.cppD23-Nov-202323.2 KiB706597

OptimizationRemarkEmitter.cppD23-Nov-20234.2 KiB13588

OrderedBasicBlock.cppD23-Nov-20234.4 KiB11263

OrderedInstructions.cppD23-Nov-20232.1 KiB5126

PHITransAddr.cppD23-Nov-202316.1 KiB440273

PhiValues.cppD23-Nov-20238.4 KiB228151

PostDominators.cppD23-Nov-20233.6 KiB11471

ProfileSummaryInfo.cppD23-Nov-202314.9 KiB395291

PtrUseVisitor.cppD23-Nov-20231.3 KiB4526

README.txtD23-Nov-20231,006 3117

RegionInfo.cppD23-Nov-20236.5 KiB217138

RegionPass.cppD23-Nov-20239.2 KiB300179

RegionPrinter.cppD23-Nov-20238.6 KiB268198

ScalarEvolution.cppD23-Nov-2023479.6 KiB12,6188,390

ScalarEvolutionAliasAnalysis.cppD23-Nov-20236 KiB14979

ScalarEvolutionExpander.cppD23-Nov-202396.2 KiB2,4531,634

ScalarEvolutionNormalization.cppD23-Nov-20234.6 KiB11857

ScopedNoAliasAA.cppD23-Nov-20237.4 KiB212125

StackSafetyAnalysis.cppD23-Nov-202322 KiB679501

StratifiedSets.hD23-Nov-202318.7 KiB597357

SyncDependenceAnalysis.cppD23-Nov-202312.9 KiB381176

SyntheticCountsUtils.cppD23-Nov-20233.8 KiB10555

TargetLibraryInfo.cppD23-Nov-202358.3 KiB1,6471,369

TargetTransformInfo.cppD23-Nov-202349.5 KiB1,3971,079

Trace.cppD23-Nov-20231.8 KiB5429

TypeBasedAliasAnalysis.cppD23-Nov-202326 KiB739432

TypeMetadataUtils.cppD23-Nov-20235.9 KiB162119

VFABIDemangling.cppD23-Nov-202314.6 KiB431236

ValueLattice.cppD23-Nov-2023960 2615

ValueLatticeUtils.cppD23-Nov-20231.5 KiB4427

ValueTracking.cppD23-Nov-2023224 KiB5,9984,089

VectorUtils.cppD23-Nov-202344.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