• Home
Name Date Size #Lines LOC

..--

IPA/03-May-2024-3,1201,897

AliasAnalysis.cppD03-May-202419.4 KiB557342

AliasAnalysisCounter.cppD03-May-20246.1 KiB172131

AliasAnalysisEvaluator.cppD03-May-202413.6 KiB373307

AliasDebugger.cppD03-May-20244.8 KiB13989

AliasSetTracker.cppD03-May-202421.8 KiB656456

Analysis.cppD03-May-20243.9 KiB11089

Android.mkD03-May-20242 KiB8876

BasicAliasAnalysis.cppD03-May-202451 KiB1,311797

BlockFrequencyInfo.cppD03-May-20241.8 KiB5935

BranchProbabilityInfo.cppD03-May-202420.5 KiB638406

CFG.cppD03-May-20248 KiB228138

CFGPrinter.cppD03-May-20244.9 KiB165107

CMakeLists.txtD03-May-20241.4 KiB6764

CaptureTracking.cppD03-May-20246.6 KiB181103

CodeMetrics.cppD03-May-20243.7 KiB9746

ConstantFolding.cppD03-May-202461.6 KiB1,5911,147

CostModel.cppD03-May-20248.2 KiB248197

DependenceAnalysis.cppD03-May-2024140.1 KiB3,8442,660

DomPrinter.cppD03-May-20246.7 KiB233166

DominanceFrontier.cppD03-May-20244.4 KiB142104

IVUsers.cppD03-May-202412.1 KiB336227

InstCount.cppD03-May-20242.7 KiB8856

InstructionSimplify.cppD03-May-2024121.7 KiB3,2262,137

Interval.cppD03-May-20242 KiB5928

IntervalPartition.cppD03-May-20244.2 KiB11551

LLVMBuild.txtD03-May-2024742 2623

LazyValueInfo.cppD03-May-202438.7 KiB1,144782

LibCallAliasAnalysis.cppD03-May-20245.2 KiB13869

LibCallSemantics.cppD03-May-20242.1 KiB6428

Lint.cppD03-May-202426.5 KiB693509

Loads.cppD03-May-20248.6 KiB222112

LoopInfo.cppD03-May-202425.7 KiB739450

LoopPass.cppD03-May-202411.2 KiB368217

MakefileD03-May-2024441 175

MemDepPrinter.cppD03-May-20246.4 KiB193150

MemoryBuiltins.cppD03-May-202427.5 KiB792544

MemoryDependenceAnalysis.cppD03-May-202462.2 KiB1,539890

ModuleDebugInfoPrinter.cppD03-May-20242.6 KiB8860

NOTICED03-May-20243.1 KiB7055

NoAliasAnalysis.cppD03-May-20243.1 KiB8952

PHITransAddr.cppD03-May-202416.1 KiB444275

PathNumbering.cppD03-May-202416.2 KiB522328

PathProfileInfo.cppD03-May-202414 KiB434275

PathProfileVerifier.cppD03-May-20246.9 KiB207141

PostDominators.cppD03-May-20241.5 KiB5226

ProfileDataLoader.cppD03-May-20245.4 KiB15691

ProfileDataLoaderPass.cppD03-May-20247.1 KiB189126

ProfileEstimatorPass.cppD03-May-202415.8 KiB427289

ProfileInfo.cppD03-May-202432.5 KiB1,080861

ProfileInfoLoader.cppD03-May-20244.7 KiB156103

ProfileInfoLoaderPass.cppD03-May-20249.3 KiB268198

ProfileVerifierPass.cppD03-May-202413.4 KiB384295

PtrUseVisitor.cppD03-May-20241.1 KiB3719

README.txtD03-May-20241,006 3117

RegionInfo.cppD03-May-202423.1 KiB868604

RegionPass.cppD03-May-20248.5 KiB276159

RegionPrinter.cppD03-May-20246.6 KiB219158

ScalarEvolution.cppD03-May-2024280.5 KiB7,1304,813

ScalarEvolutionAliasAnalysis.cppD03-May-20246.7 KiB17495

ScalarEvolutionExpander.cppD03-May-202469.3 KiB1,7531,171

ScalarEvolutionNormalization.cppD03-May-20248.5 KiB224147

SparsePropagation.cppD03-May-202412 KiB348213

TargetTransformInfo.cppD03-May-202418.8 KiB583400

Trace.cppD03-May-20241.7 KiB5427

TypeBasedAliasAnalysis.cppD03-May-202417.2 KiB512299

ValueTracking.cppD03-May-202478.8 KiB2,0661,387

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