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

..--

AliasAnalysis.cppD23-Nov-202330.5 KiB841538

AliasAnalysisEvaluator.cppD23-Nov-202315.5 KiB434378

AliasAnalysisSummary.cppD23-Nov-20233.5 KiB10481

AliasAnalysisSummary.hD23-Nov-202310.1 KiB266147

AliasSetTracker.cppD23-Nov-202323.7 KiB730516

Analysis.cppD23-Nov-20235.1 KiB137110

AssumptionCache.cppD23-Nov-20239.1 KiB276184

BasicAliasAnalysis.cppD23-Nov-202379.8 KiB1,9751,101

BlockFrequencyInfo.cppD23-Nov-202312.1 KiB343259

BlockFrequencyInfoImpl.cppD23-Nov-202327.9 KiB848580

BranchProbabilityInfo.cppD23-Nov-202336.4 KiB1,040710

CFG.cppD23-Nov-20238.4 KiB237147

CFGPrinter.cppD23-Nov-20236 KiB196133

CFLAndersAliasAnalysis.cppD23-Nov-202332.7 KiB923626

CFLGraph.hD23-Nov-202321 KiB655461

CFLSteensAliasAnalysis.cppD23-Nov-202312.9 KiB359227

CGSCCPassManager.cppD23-Nov-202328.4 KiB690388

CMakeLists.txtD23-Nov-20232.1 KiB9794

CallGraph.cppD23-Nov-202311 KiB330214

CallGraphSCCPass.cppD23-Nov-202323.9 KiB667404

CallPrinter.cppD23-Nov-20233 KiB9354

CaptureTracking.cppD23-Nov-202313.8 KiB365205

CmpInstAnalysis.cppD23-Nov-20234.7 KiB145111

CodeMetrics.cppD23-Nov-20237 KiB200116

ConstantFolding.cppD23-Nov-202383.1 KiB2,2631,699

CostModel.cppD23-Nov-20233.8 KiB11371

Delinearization.cppD23-Nov-20234.4 KiB13191

DemandedBits.cppD23-Nov-202314 KiB411288

DependenceAnalysis.cppD23-Nov-2023145.7 KiB3,9822,735

DivergenceAnalysis.cppD23-Nov-202312.4 KiB341190

DomPrinter.cppD23-Nov-20239.6 KiB299228

DominanceFrontier.cppD23-Nov-20233.1 KiB9867

EHPersonalities.cppD23-Nov-20235.9 KiB13798

GlobalsModRef.cppD23-Nov-202339.7 KiB1,015630

IVUsers.cppD23-Nov-202316.1 KiB428273

IndirectCallPromotionAnalysis.cppD23-Nov-20234.3 KiB10871

InlineCost.cppD23-Nov-202381.6 KiB2,1551,274

InstCount.cppD23-Nov-20232.4 KiB8048

InstructionSimplify.cppD23-Nov-2023191.2 KiB5,1823,477

Interval.cppD23-Nov-20231.7 KiB5324

IntervalPartition.cppD23-Nov-20234.3 KiB11555

IteratedDominanceFrontier.cppD23-Nov-20233.4 KiB10059

LLVMBuild.txtD23-Nov-2023736 2321

LazyBlockFrequencyInfo.cppD23-Nov-20232.8 KiB7342

LazyBranchProbabilityInfo.cppD23-Nov-20232.9 KiB7544

LazyCallGraph.cppD23-Nov-202365.5 KiB1,8061,115

LazyValueInfo.cppD23-Nov-202374.1 KiB1,9211,257

Lint.cppD23-Nov-202328.5 KiB754551

Loads.cppD23-Nov-202316.9 KiB442256

LoopAccessAnalysis.cppD23-Nov-202390.1 KiB2,3781,479

LoopAnalysisManager.cppD23-Nov-20236.9 KiB16084

LoopInfo.cppD23-Nov-202325.7 KiB771512

LoopPass.cppD23-Nov-202312.9 KiB391238

LoopUnrollAnalyzer.cppD23-Nov-20237.2 KiB216135

MemDepPrinter.cppD23-Nov-20235 KiB167126

MemDerefPrinter.cppD23-Nov-20232.4 KiB7761

MemoryBuiltins.cppD23-Nov-202336.1 KiB962680

MemoryDependenceAnalysis.cppD23-Nov-202370.4 KiB1,8061,075

MemoryLocation.cppD23-Nov-20236 KiB175124

MemorySSA.cppD23-Nov-202378.4 KiB2,1911,463

MemorySSAUpdater.cppD23-Nov-202324.3 KiB637407

ModuleDebugInfoPrinter.cppD23-Nov-20234 KiB12996

ModuleSummaryAnalysis.cppD23-Nov-202325.8 KiB644483

MustExecute.cppD23-Nov-202310.5 KiB270176

ObjCARCAliasAnalysis.cppD23-Nov-20235.6 KiB16397

ObjCARCAnalysisUtils.cppD23-Nov-20231 KiB278

ObjCARCInstKind.cppD23-Nov-202323.8 KiB696573

OptimizationRemarkEmitter.cppD23-Nov-20234.1 KiB13587

OrderedBasicBlock.cppD23-Nov-20233.5 KiB8640

PHITransAddr.cppD23-Nov-202316 KiB441273

PhiValues.cppD23-Nov-20237.3 KiB197128

PostDominators.cppD23-Nov-20232.7 KiB8651

ProfileSummaryInfo.cppD23-Nov-202311.6 KiB311218

PtrUseVisitor.cppD23-Nov-20231.1 KiB4021

README.txtD23-Nov-20231,006 3117

RegionInfo.cppD23-Nov-20236.4 KiB217137

RegionPass.cppD23-Nov-20239.1 KiB295174

RegionPrinter.cppD23-Nov-20238.6 KiB268197

ScalarEvolution.cppD23-Nov-2023465.1 KiB12,2948,183

ScalarEvolutionAliasAnalysis.cppD23-Nov-20235.6 KiB14473

ScalarEvolutionExpander.cppD23-Nov-202391.6 KiB2,3451,553

ScalarEvolutionNormalization.cppD23-Nov-20234.6 KiB11957

ScopedNoAliasAA.cppD23-Nov-20237.2 KiB212124

StratifiedSets.hD23-Nov-202318.6 KiB598357

SyntheticCountsUtils.cppD23-Nov-20234.1 KiB11463

TargetLibraryInfo.cppD23-Nov-202358 KiB1,6641,374

TargetTransformInfo.cppD23-Nov-202342.4 KiB1,196929

Trace.cppD23-Nov-20231.8 KiB5529

TypeBasedAliasAnalysis.cppD23-Nov-202325.7 KiB741431

TypeMetadataUtils.cppD23-Nov-20234.2 KiB11987

ValueLattice.cppD23-Nov-2023932 2715

ValueLatticeUtils.cppD23-Nov-20231.5 KiB4527

ValueTracking.cppD23-Nov-2023194.8 KiB5,1363,419

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