• Home
Name
Date
Size
#Lines
LOC

..--

AliasAnalysis.cppD03-May-202425.7 KiB708451

AliasAnalysisEvaluator.cppD03-May-202413.3 KiB390334

AliasAnalysisSummary.cppD03-May-20243.6 KiB10682

AliasAnalysisSummary.hD03-May-20247.7 KiB19281

AliasSetTracker.cppD03-May-202423 KiB719505

Analysis.cppD03-May-20244.6 KiB129102

Android.bpD03-May-2024124 87

AssumptionCache.cppD03-May-20244.9 KiB14190

BasicAliasAnalysis.cppD03-May-202469.2 KiB1,725944

BlockFrequencyInfo.cppD03-May-20249.1 KiB268202

BlockFrequencyInfoImpl.cppD03-May-202426.1 KiB796533

BranchProbabilityInfo.cppD03-May-202423.9 KiB711468

CFG.cppD03-May-20248.4 KiB237147

CFGPrinter.cppD03-May-20244.9 KiB166108

CFLAndersAliasAnalysis.cppD03-May-20242.2 KiB6124

CFLGraph.hD03-May-202417.5 KiB534357

CFLSteensAliasAnalysis.cppD03-May-202416.2 KiB443285

CGSCCPassManager.cppD03-May-2024986 2512

CMakeLists.txtD03-May-20241.9 KiB8784

CallGraph.cppD03-May-202411.3 KiB338220

CallGraphSCCPass.cppD03-May-202423.2 KiB645383

CallPrinter.cppD03-May-20243 KiB9354

CaptureTracking.cppD03-May-202413.6 KiB360202

CodeMetrics.cppD03-May-20246.3 KiB187108

ConstantFolding.cppD03-May-202471.2 KiB1,9291,421

CostModel.cppD03-May-202417.6 KiB537374

Delinearization.cppD03-May-20244.8 KiB141100

DemandedBits.cppD03-May-202413.9 KiB404285

DependenceAnalysis.cppD03-May-2024143.8 KiB3,9472,725

DivergenceAnalysis.cppD03-May-202412 KiB331181

DomPrinter.cppD03-May-20249.2 KiB283214

DominanceFrontier.cppD03-May-20242.4 KiB7853

EHPersonalities.cppD03-May-20244.6 KiB11074

GlobalsModRef.cppD03-May-202438.3 KiB981613

IVUsers.cppD03-May-202413.5 KiB371247

IndirectCallPromotionAnalysis.cppD03-May-20244.1 KiB11072

InlineCost.cppD03-May-202457.6 KiB1,554932

InstCount.cppD03-May-20242.7 KiB8956

InstructionSimplify.cppD03-May-2024163.7 KiB4,3262,990

Interval.cppD03-May-20241.8 KiB5625

IntervalPartition.cppD03-May-20244.2 KiB11450

IteratedDominanceFrontier.cppD03-May-20243.5 KiB10565

LLVMBuild.txtD03-May-2024716 2321

LazyBlockFrequencyInfo.cppD03-May-20242.5 KiB6941

LazyCallGraph.cppD03-May-202458.6 KiB1,5911,003

LazyValueInfo.cppD03-May-202460.7 KiB1,7171,164

Lint.cppD03-May-202427.5 KiB720522

Loads.cppD03-May-202415.7 KiB421239

LoopAccessAnalysis.cppD03-May-202476.6 KiB2,0611,305

LoopInfo.cppD03-May-202424.1 KiB730479

LoopPass.cppD03-May-202411.4 KiB358215

LoopPassManager.cppD03-May-20241.3 KiB4024

LoopUnrollAnalyzer.cppD03-May-20247 KiB211132

MemDepPrinter.cppD03-May-20245 KiB167126

MemDerefPrinter.cppD03-May-20242.5 KiB7963

MemoryBuiltins.cppD03-May-202431.5 KiB857594

MemoryDependenceAnalysis.cppD03-May-202466.6 KiB1,7091,003

MemoryLocation.cppD03-May-20245.5 KiB159112

ModuleDebugInfoPrinter.cppD03-May-20243.9 KiB12794

ModuleSummaryAnalysis.cppD03-May-20248.4 KiB230154

ObjCARCAliasAnalysis.cppD03-May-20245.6 KiB16397

ObjCARCAnalysisUtils.cppD03-May-20241.1 KiB2910

ObjCARCInstKind.cppD03-May-202423.8 KiB690570

OrderedBasicBlock.cppD03-May-20243.5 KiB8640

PHITransAddr.cppD03-May-202416.2 KiB444276

PostDominators.cppD03-May-20242.1 KiB6638

ProfileSummaryInfo.cppD03-May-20246.2 KiB167106

PtrUseVisitor.cppD03-May-20241 KiB3618

README.txtD03-May-20241,006 3117

RegionInfo.cppD03-May-20246 KiB214136

RegionPass.cppD03-May-20248.6 KiB283166

RegionPrinter.cppD03-May-20248.6 KiB268197

ScalarEvolution.cppD03-May-2024385.6 KiB10,4647,052

ScalarEvolutionAliasAnalysis.cppD03-May-20245.6 KiB14473

ScalarEvolutionExpander.cppD03-May-202486 KiB2,2121,454

ScalarEvolutionNormalization.cppD03-May-202410.1 KiB255152

ScopedNoAliasAA.cppD03-May-20247.1 KiB207123

SparsePropagation.cppD03-May-202411.8 KiB348212

StratifiedSets.hD03-May-202419 KiB607361

TargetLibraryInfo.cppD03-May-202441.8 KiB1,173981

TargetTransformInfo.cppD03-May-202416.7 KiB469370

Trace.cppD03-May-20241.7 KiB5326

TypeBasedAliasAnalysis.cppD03-May-202420.9 KiB617331

TypeMetadataUtils.cppD03-May-20244.2 KiB11987

ValueTracking.cppD03-May-2024157.8 KiB4,1592,827

VectorUtils.cppD03-May-202416.5 KiB491326

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