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

..17-Jul-20124 KiB

AliasAnalysis.cpp17-Jul-201215.2 KiB

AliasAnalysisCounter.cpp17-Jul-20126.2 KiB

AliasAnalysisEvaluator.cpp17-Jul-201210.9 KiB

AliasDebugger.cpp17-Jul-20124.8 KiB

AliasSetTracker.cpp17-Jul-201221.6 KiB

Analysis.cpp17-Jul-20123.7 KiB

Android.mk17-Jul-20122 KiB

BasicAliasAnalysis.cpp17-Jul-201247.7 KiB

BlockFrequencyInfo.cpp17-Jul-20122.1 KiB

BranchProbabilityInfo.cpp17-Jul-201214.6 KiB

CaptureTracking.cpp17-Jul-20126.1 KiB

CFGPrinter.cpp17-Jul-20124.9 KiB

CMakeLists.txt17-Jul-20121.4 KiB

ConstantFolding.cpp17-Jul-201254.9 KiB

DbgInfoPrinter.cpp17-Jul-20126.3 KiB

DebugInfo.cpp17-Jul-201233.4 KiB

DIBuilder.cpp17-Jul-201237.8 KiB

DominanceFrontier.cpp17-Jul-20124.3 KiB

DomPrinter.cpp17-Jul-20126.7 KiB

InlineCost.cpp17-Jul-201225.3 KiB

InstCount.cpp17-Jul-20122.7 KiB

InstructionSimplify.cpp17-Jul-201298 KiB

Interval.cpp17-Jul-20122 KiB

IntervalPartition.cpp17-Jul-20124.2 KiB

IPA/17-Jul-20124 KiB

IVUsers.cpp17-Jul-20129.5 KiB

LazyValueInfo.cpp17-Jul-201237.8 KiB

LibCallAliasAnalysis.cpp17-Jul-20125.2 KiB

LibCallSemantics.cpp17-Jul-20122.1 KiB

Lint.cpp17-Jul-201224.9 KiB

Loads.cpp17-Jul-20129.4 KiB

LoopDependenceAnalysis.cpp17-Jul-201212.9 KiB

LoopInfo.cpp17-Jul-201225 KiB

LoopPass.cpp17-Jul-201211.4 KiB

Makefile17-Jul-2012441

MemDepPrinter.cpp17-Jul-20126.3 KiB

MemoryBuiltins.cpp17-Jul-20127.6 KiB

MemoryDependenceAnalysis.cpp17-Jul-201260.2 KiB

ModuleDebugInfoPrinter.cpp17-Jul-20122.6 KiB

NoAliasAnalysis.cpp17-Jul-20123.1 KiB

NOTICE17-Jul-20123.1 KiB

PathNumbering.cpp17-Jul-201216.2 KiB

PathProfileInfo.cpp17-Jul-201213.9 KiB

PathProfileVerifier.cpp17-Jul-20126.9 KiB

PHITransAddr.cpp17-Jul-201216 KiB

PostDominators.cpp17-Jul-20121.5 KiB

ProfileEstimatorPass.cpp17-Jul-201215.8 KiB

ProfileInfo.cpp17-Jul-201232.9 KiB

ProfileInfoLoader.cpp17-Jul-20124.8 KiB

ProfileInfoLoaderPass.cpp17-Jul-20129.3 KiB

ProfileVerifierPass.cpp17-Jul-201213.4 KiB

README.txt17-Jul-20121,006

RegionInfo.cpp17-Jul-201222.7 KiB

RegionPass.cpp17-Jul-20128.5 KiB

RegionPrinter.cpp17-Jul-20126.7 KiB

ScalarEvolution.cpp17-Jul-2012266.2 KiB

ScalarEvolutionAliasAnalysis.cpp17-Jul-20126.7 KiB

ScalarEvolutionExpander.cpp17-Jul-201261.7 KiB

ScalarEvolutionNormalization.cpp17-Jul-20128.6 KiB

SparsePropagation.cpp17-Jul-201211.9 KiB

Trace.cpp17-Jul-20121.6 KiB

TypeBasedAliasAnalysis.cpp17-Jul-201210.2 KiB

ValueTracking.cpp17-Jul-201270.3 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