• Home
  • History
  • Annotate
  • only in /external/llvm/lib/Analysis/
NameDateSize

..11-Jun-20184 KiB

AliasAnalysis.cpp11-Jun-201825.7 KiB

AliasAnalysisEvaluator.cpp11-Jun-201813.3 KiB

AliasAnalysisSummary.cpp11-Jun-20183.6 KiB

AliasAnalysisSummary.h11-Jun-20187.7 KiB

AliasSetTracker.cpp11-Jun-201823 KiB

Analysis.cpp11-Jun-20184.6 KiB

Android.bp11-Jun-2018124

AssumptionCache.cpp11-Jun-20184.9 KiB

BasicAliasAnalysis.cpp11-Jun-201869.2 KiB

BlockFrequencyInfo.cpp11-Jun-20189.1 KiB

BlockFrequencyInfoImpl.cpp11-Jun-201826.1 KiB

BranchProbabilityInfo.cpp11-Jun-201823.9 KiB

CallGraph.cpp11-Jun-201811.3 KiB

CallGraphSCCPass.cpp11-Jun-201823.2 KiB

CallPrinter.cpp11-Jun-20183 KiB

CaptureTracking.cpp11-Jun-201813.6 KiB

CFG.cpp11-Jun-20188.4 KiB

CFGPrinter.cpp11-Jun-20184.9 KiB

CFLAndersAliasAnalysis.cpp11-Jun-20182.2 KiB

CFLGraph.h11-Jun-201817.5 KiB

CFLSteensAliasAnalysis.cpp11-Jun-201816.2 KiB

CGSCCPassManager.cpp11-Jun-2018986

CMakeLists.txt11-Jun-20181.9 KiB

CodeMetrics.cpp11-Jun-20186.3 KiB

ConstantFolding.cpp11-Jun-201871.2 KiB

CostModel.cpp11-Jun-201817.6 KiB

Delinearization.cpp11-Jun-20184.8 KiB

DemandedBits.cpp11-Jun-201813.9 KiB

DependenceAnalysis.cpp11-Jun-2018143.8 KiB

DivergenceAnalysis.cpp11-Jun-201812 KiB

DominanceFrontier.cpp11-Jun-20182.4 KiB

DomPrinter.cpp11-Jun-20189.2 KiB

EHPersonalities.cpp11-Jun-20184.6 KiB

GlobalsModRef.cpp11-Jun-201838.3 KiB

IndirectCallPromotionAnalysis.cpp11-Jun-20184.1 KiB

InlineCost.cpp11-Jun-201857.6 KiB

InstCount.cpp11-Jun-20182.7 KiB

InstructionSimplify.cpp11-Jun-2018163.7 KiB

Interval.cpp11-Jun-20181.8 KiB

IntervalPartition.cpp11-Jun-20184.2 KiB

IteratedDominanceFrontier.cpp11-Jun-20183.5 KiB

IVUsers.cpp11-Jun-201813.5 KiB

LazyBlockFrequencyInfo.cpp11-Jun-20182.5 KiB

LazyCallGraph.cpp11-Jun-201858.6 KiB

LazyValueInfo.cpp11-Jun-201860.7 KiB

Lint.cpp11-Jun-201827.5 KiB

LLVMBuild.txt11-Jun-2018716

Loads.cpp11-Jun-201815.7 KiB

LoopAccessAnalysis.cpp11-Jun-201876.6 KiB

LoopInfo.cpp11-Jun-201824.1 KiB

LoopPass.cpp11-Jun-201811.4 KiB

LoopPassManager.cpp11-Jun-20181.3 KiB

LoopUnrollAnalyzer.cpp11-Jun-20187 KiB

MemDepPrinter.cpp11-Jun-20185 KiB

MemDerefPrinter.cpp11-Jun-20182.5 KiB

MemoryBuiltins.cpp11-Jun-201831.5 KiB

MemoryDependenceAnalysis.cpp11-Jun-201866.6 KiB

MemoryLocation.cpp11-Jun-20185.5 KiB

ModuleDebugInfoPrinter.cpp11-Jun-20183.9 KiB

ModuleSummaryAnalysis.cpp11-Jun-20188.4 KiB

ObjCARCAliasAnalysis.cpp11-Jun-20185.6 KiB

ObjCARCAnalysisUtils.cpp11-Jun-20181.1 KiB

ObjCARCInstKind.cpp11-Jun-201823.8 KiB

OrderedBasicBlock.cpp11-Jun-20183.5 KiB

PHITransAddr.cpp11-Jun-201816.2 KiB

PostDominators.cpp11-Jun-20182.1 KiB

ProfileSummaryInfo.cpp11-Jun-20186.2 KiB

PtrUseVisitor.cpp11-Jun-20181 KiB

README.txt11-Jun-20181,006

RegionInfo.cpp11-Jun-20186 KiB

RegionPass.cpp11-Jun-20188.6 KiB

RegionPrinter.cpp11-Jun-20188.6 KiB

ScalarEvolution.cpp11-Jun-2018385.6 KiB

ScalarEvolutionAliasAnalysis.cpp11-Jun-20185.6 KiB

ScalarEvolutionExpander.cpp11-Jun-201886 KiB

ScalarEvolutionNormalization.cpp11-Jun-201810.1 KiB

ScopedNoAliasAA.cpp11-Jun-20187.1 KiB

SparsePropagation.cpp11-Jun-201811.8 KiB

StratifiedSets.h11-Jun-201819 KiB

TargetLibraryInfo.cpp11-Jun-201841.8 KiB

TargetTransformInfo.cpp11-Jun-201816.7 KiB

Trace.cpp11-Jun-20181.7 KiB

TypeBasedAliasAnalysis.cpp11-Jun-201820.9 KiB

TypeMetadataUtils.cpp11-Jun-20184.2 KiB

ValueTracking.cpp11-Jun-2018157.8 KiB

VectorUtils.cpp11-Jun-201816.5 KiB

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