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

..--

IPA/22-Nov-2023-3,1241,908

AliasAnalysis.cppD22-Nov-202320.3 KiB581356

AliasAnalysisCounter.cppD22-Nov-20236.2 KiB172131

AliasAnalysisEvaluator.cppD22-Nov-202313.6 KiB372306

AliasDebugger.cppD22-Nov-20234.8 KiB13989

AliasSetTracker.cppD22-Nov-202322.1 KiB684477

Analysis.cppD22-Nov-20234.1 KiB11993

Android.mkD22-Nov-20232.1 KiB9179

AssumptionCache.cppD22-Nov-20234.9 KiB14190

BasicAliasAnalysis.cppD22-Nov-202363.3 KiB1,591929

BlockFrequencyInfo.cppD22-Nov-20235.5 KiB183138

BlockFrequencyInfoImpl.cppD22-Nov-202323.5 KiB723485

BranchProbabilityInfo.cppD22-Nov-202321.5 KiB672432

CFG.cppD22-Nov-20238.5 KiB237147

CFGPrinter.cppD22-Nov-20234.9 KiB166108

CFLAliasAnalysis.cppD22-Nov-202339.1 KiB1,156754

CGSCCPassManager.cppD22-Nov-20232.5 KiB7336

CMakeLists.txtD22-Nov-20231.5 KiB7167

CaptureTracking.cppD22-Nov-202310.1 KiB271155

CodeMetrics.cppD22-Nov-20236.3 KiB188109

ConstantFolding.cppD22-Nov-202367.2 KiB1,7801,277

CostModel.cppD22-Nov-202317.7 KiB539376

Delinearization.cppD22-Nov-20234.9 KiB148104

DependenceAnalysis.cppD22-Nov-2023145.2 KiB3,9512,734

DivergenceAnalysis.cppD22-Nov-202311.9 KiB338191

DomPrinter.cppD22-Nov-20237.9 KiB255187

DominanceFrontier.cppD22-Nov-20231.6 KiB5838

IVUsers.cppD22-Nov-202313 KiB359240

InstCount.cppD22-Nov-20232.7 KiB8956

InstructionSimplify.cppD22-Nov-2023146.1 KiB3,8472,642

Interval.cppD22-Nov-20232 KiB5928

IntervalPartition.cppD22-Nov-20234.2 KiB11551

LLVMBuild.txtD22-Nov-2023735 2623

LazyCallGraph.cppD22-Nov-202326.1 KiB728496

LazyValueInfo.cppD22-Nov-202344.1 KiB1,283893

LibCallAliasAnalysis.cppD22-Nov-20235.4 KiB14273

LibCallSemantics.cppD22-Nov-20233.4 KiB9149

Lint.cppD22-Nov-202335.3 KiB918640

Loads.cppD22-Nov-20239.8 KiB264131

LoopAccessAnalysis.cppD22-Nov-202350.4 KiB1,412964

LoopInfo.cppD22-Nov-202325.6 KiB740451

LoopPass.cppD22-Nov-202312.4 KiB403241

MakefileD22-Nov-2023441 175

MemDepPrinter.cppD22-Nov-20235.2 KiB169128

MemDerefPrinter.cppD22-Nov-20232.1 KiB7054

MemoryBuiltins.cppD22-Nov-202328 KiB793541

MemoryDependenceAnalysis.cppD22-Nov-202368.5 KiB1,689965

ModuleDebugInfoPrinter.cppD22-Nov-20233.9 KiB12794

NoAliasAnalysis.cppD22-Nov-20233.4 KiB9860

PHITransAddr.cppD22-Nov-202315.9 KiB440271

PostDominators.cppD22-Nov-20231.5 KiB5125

PtrUseVisitor.cppD22-Nov-20231 KiB3618

README.txtD22-Nov-20231,006 3117

RegionInfo.cppD22-Nov-20234.7 KiB174109

RegionPass.cppD22-Nov-20238.6 KiB283166

RegionPrinter.cppD22-Nov-20236.8 KiB221161

ScalarEvolution.cppD22-Nov-2023324.9 KiB8,5025,721

ScalarEvolutionAliasAnalysis.cppD22-Nov-20236.8 KiB17596

ScalarEvolutionExpander.cppD22-Nov-202375.9 KiB1,9291,276

ScalarEvolutionNormalization.cppD22-Nov-202310.1 KiB255152

ScopedNoAliasAA.cppD22-Nov-20238.7 KiB251156

SparsePropagation.cppD22-Nov-202311.9 KiB348212

StratifiedSets.hD22-Nov-202322 KiB693406

TargetLibraryInfo.cppD22-Nov-202320.5 KiB576451

TargetTransformInfo.cppD22-Nov-202310.9 KiB325244

Trace.cppD22-Nov-20231.7 KiB5326

TypeBasedAliasAnalysis.cppD22-Nov-202322.7 KiB646351

ValueTracking.cppD22-Nov-2023118.6 KiB3,0262,008

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