• Home
Name Date Size #Lines LOC

..--

models/06-Sep-2024-462371

AliasAnalysis.cppD06-Sep-202433.6 KiB949625

AliasAnalysisEvaluator.cppD06-Sep-202412.9 KiB364317

AliasAnalysisSummary.cppD06-Sep-20243.4 KiB10582

AliasAnalysisSummary.hD06-Sep-202410.1 KiB269149

AliasSetTracker.cppD06-Sep-202421.2 KiB638462

Analysis.cppD06-Sep-20245.3 KiB137111

AssumeBundleQueries.cppD06-Sep-20247.5 KiB204178

AssumptionCache.cppD06-Sep-202411.7 KiB351248

BasicAliasAnalysis.cppD06-Sep-202471.4 KiB1,8351,136

BlockFrequencyInfo.cppD06-Sep-202412.4 KiB350266

BlockFrequencyInfoImpl.cppD06-Sep-202429.2 KiB882609

BranchProbabilityInfo.cppD06-Sep-202450.3 KiB1,322885

CFG.cppD06-Sep-20249.9 KiB275172

CFGPrinter.cppD06-Sep-202412.8 KiB335252

CFGSCCPrinter.cppD06-Sep-20241.2 KiB3725

CGSCCPassManager.cppD06-Sep-202449.9 KiB1,222695

CMakeLists.txtD06-Sep-20243.6 KiB168159

CallGraph.cppD06-Sep-202413.9 KiB415291

CallGraphSCCPass.cppD06-Sep-202426.3 KiB754481

CallPrinter.cppD06-Sep-202410.7 KiB358263

CaptureTracking.cppD06-Sep-202419 KiB499300

CmpInstAnalysis.cppD06-Sep-20245 KiB154120

CodeMetrics.cppD06-Sep-20247.3 KiB203119

ConstantFolding.cppD06-Sep-2024122.6 KiB3,4652,670

ConstraintSystem.cppD06-Sep-20244.9 KiB158112

CostModel.cppD06-Sep-20245.3 KiB152109

CycleAnalysis.cppD06-Sep-20242.4 KiB8248

DDG.cppD06-Sep-202411.2 KiB323229

DDGPrinter.cppD06-Sep-20245.4 KiB151114

Delinearization.cppD06-Sep-202420.5 KiB668430

DemandedBits.cppD06-Sep-202421 KiB627437

DependenceAnalysis.cppD06-Sep-2024156.6 KiB4,2022,882

DependenceGraphBuilder.cppD06-Sep-202419.1 KiB510339

DevelopmentModeInlineAdvisor.cppD06-Sep-202415.8 KiB424358

DivergenceAnalysis.cppD06-Sep-202414 KiB410257

DomPrinter.cppD06-Sep-20248.8 KiB245191

DomTreeUpdater.cppD06-Sep-202413.4 KiB442314

DominanceFrontier.cppD06-Sep-20243.2 KiB9767

EHPersonalities.cppD06-Sep-20246.1 KiB144106

FunctionPropertiesAnalysis.cppD06-Sep-20249.7 KiB252153

GlobalsModRef.cppD06-Sep-202441.6 KiB1,054654

GuardUtils.cppD06-Sep-20243.3 KiB10776

HeatUtils.cppD06-Sep-20242.9 KiB8058

IRSimilarityIdentifier.cppD06-Sep-202449.4 KiB1,292784

IVDescriptors.cppD06-Sep-202461.8 KiB1,5981,016

IVUsers.cppD06-Sep-202414 KiB374236

ImportedFunctionsInliningStatistics.cppD06-Sep-20248.2 KiB217171

IndirectCallPromotionAnalysis.cppD06-Sep-20244.1 KiB10064

InlineAdvisor.cppD06-Sep-202424.2 KiB657518

InlineCost.cppD06-Sep-2024119.6 KiB3,1821,958

InlineOrder.cppD06-Sep-202410.8 KiB306225

InlineSizeEstimatorAnalysis.cppD06-Sep-202410.5 KiB282223

InstCount.cppD06-Sep-20243.1 KiB9565

InstructionPrecedenceTracking.cppD06-Sep-20245.3 KiB154104

InstructionSimplify.cppD06-Sep-2024254.1 KiB6,8304,513

Interval.cppD06-Sep-20241.4 KiB4016

IntervalPartition.cppD06-Sep-20244.4 KiB11959

LazyBlockFrequencyInfo.cppD06-Sep-20242.9 KiB7343

LazyBranchProbabilityInfo.cppD06-Sep-20243 KiB7646

LazyCallGraph.cppD06-Sep-202474.6 KiB2,0601,311

LazyValueInfo.cppD06-Sep-202479.6 KiB2,0661,394

LegacyDivergenceAnalysis.cppD06-Sep-202416 KiB436267

Lint.cppD06-Sep-202430.1 KiB788588

Loads.cppD06-Sep-202428.4 KiB706440

Local.cppD06-Sep-20243.5 KiB9361

LoopAccessAnalysis.cppD06-Sep-2024104 KiB2,7351,773

LoopAnalysisManager.cppD06-Sep-20246.3 KiB14677

LoopCacheAnalysis.cppD06-Sep-202426.7 KiB741519

LoopInfo.cppD06-Sep-202440.8 KiB1,229831

LoopNestAnalysis.cppD06-Sep-202417 KiB465317

LoopPass.cppD06-Sep-202413.2 KiB397246

LoopUnrollAnalyzer.cppD06-Sep-20247.4 KiB219139

MLInlineAdvisor.cppD06-Sep-202418.2 KiB491364

MemDepPrinter.cppD06-Sep-20245 KiB165124

MemDerefPrinter.cppD06-Sep-20243.5 KiB11292

MemoryBuiltins.cppD06-Sep-202448 KiB1,230914

MemoryDependenceAnalysis.cppD06-Sep-202470.3 KiB1,7921,077

MemoryLocation.cppD06-Sep-202412.2 KiB335270

MemoryProfileInfo.cppD06-Sep-20249.3 KiB245178

MemorySSA.cppD06-Sep-202496.3 KiB2,6461,786

MemorySSAUpdater.cppD06-Sep-202458.5 KiB1,4561,006

ModelUnderTrainingRunner.cppD06-Sep-20246.1 KiB158133

ModuleDebugInfoPrinter.cppD06-Sep-20244.7 KiB149113

ModuleSummaryAnalysis.cppD06-Sep-202442.5 KiB1,036758

MustExecute.cppD06-Sep-202432.9 KiB884607

NoInferenceModelRunner.cppD06-Sep-2024968 249

ObjCARCAliasAnalysis.cppD06-Sep-20245.3 KiB14282

ObjCARCAnalysisUtils.cppD06-Sep-20241.7 KiB4620

ObjCARCInstKind.cppD06-Sep-202423.2 KiB705596

OptimizationRemarkEmitter.cppD06-Sep-20245.2 KiB160111

OverflowInstAnalysis.cppD06-Sep-20242.3 KiB7245

PHITransAddr.cppD06-Sep-202416.2 KiB441275

PhiValues.cppD06-Sep-20248.4 KiB227150

PostDominators.cppD06-Sep-20243.6 KiB11471

ProfileSummaryInfo.cppD06-Sep-202415.9 KiB424326

PtrUseVisitor.cppD06-Sep-20241.3 KiB4425

README.txtD06-Sep-20241,006 3117

RegionInfo.cppD06-Sep-20246.5 KiB215136

RegionPass.cppD06-Sep-20249.1 KiB299181

RegionPrinter.cppD06-Sep-20248.5 KiB257189

ReplayInlineAdvisor.cppD06-Sep-20245.8 KiB154103

ScalarEvolution.cppD06-Sep-2024580.5 KiB15,18310,307

ScalarEvolutionAliasAnalysis.cppD06-Sep-20246.9 KiB17196

ScalarEvolutionDivision.cppD06-Sep-20247.4 KiB256180

ScalarEvolutionNormalization.cppD06-Sep-20244.6 KiB11958

ScopedNoAliasAA.cppD06-Sep-20246.7 KiB182107

StackLifetime.cppD06-Sep-202414 KiB428329

StackSafetyAnalysis.cppD06-Sep-202439.9 KiB1,195967

StratifiedSets.hD06-Sep-202418.7 KiB596356

SyncDependenceAnalysis.cppD06-Sep-202415.7 KiB479244

SyntheticCountsUtils.cppD06-Sep-20243.7 KiB10151

TFLiteUtils.cppD06-Sep-20248.3 KiB250173

TargetLibraryInfo.cppD06-Sep-202448 KiB1,3101,041

TargetTransformInfo.cppD06-Sep-202445 KiB1,240983

TensorSpec.cppD06-Sep-20243.7 KiB10677

Trace.cppD06-Sep-20241.8 KiB5429

TrainingLogger.cppD06-Sep-20242.6 KiB8965

TypeBasedAliasAnalysis.cppD06-Sep-202428.6 KiB821480

TypeMetadataUtils.cppD06-Sep-20247.8 KiB218165

UniformityAnalysis.cppD06-Sep-20245.3 KiB162122

VFABIDemangling.cppD06-Sep-202416.5 KiB480267

ValueLattice.cppD06-Sep-20242.7 KiB7751

ValueLatticeUtils.cppD06-Sep-20241.7 KiB4323

ValueTracking.cppD06-Sep-2024279.9 KiB7,5365,373

VectorUtils.cppD06-Sep-202458 KiB1,6131,088

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