Tex Riddell bbe8831fe1 fix dot-cfg so it doesn't act like dot-cfg-only (#556) 8 лет назад
..
IPA d5bb3089cf Add support for custom allocators (#390) 8 лет назад
AliasAnalysis.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
AliasAnalysisCounter.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
AliasAnalysisEvaluator.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
AliasDebugger.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
AliasSetTracker.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
Analysis.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
AssumptionCache.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
BasicAliasAnalysis.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
BlockFrequencyInfo.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
BlockFrequencyInfoImpl.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
BranchProbabilityInfo.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
CFG.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
CFGPrinter.cpp bbe8831fe1 fix dot-cfg so it doesn't act like dot-cfg-only (#556) 8 лет назад
CFLAliasAnalysis.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
CGSCCPassManager.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
CMakeLists.txt 022eb5717f Add hooks for constant folding extensions (#209) 9 лет назад
CaptureTracking.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
CodeMetrics.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
ConstantFolding.cpp ae69cf0a58 Add constant folding for dxil intrinsics (#179) 9 лет назад
CostModel.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
Delinearization.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
DependenceAnalysis.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
DivergenceAnalysis.cpp e5c0e5ffaa Merge DivergenceAnalysis from llvm3.8. (#528) 8 лет назад
DomPrinter.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
DominanceFrontier.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
DxilConstantFolding.cpp 022eb5717f Add hooks for constant folding extensions (#209) 9 лет назад
DxilConstantFoldingExt.cpp 022eb5717f Add hooks for constant folding extensions (#209) 9 лет назад
IVUsers.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
InstCount.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
InstructionSimplify.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
Interval.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
IntervalPartition.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
IteratedDominanceFrontier.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
LLVMBuild.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
LazyCallGraph.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
LazyValueInfo.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
LibCallAliasAnalysis.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
LibCallSemantics.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
Lint.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
Loads.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
LoopAccessAnalysis.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
LoopInfo.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
LoopPass.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
MemDepPrinter.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
MemDerefPrinter.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
MemoryBuiltins.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
MemoryDependenceAnalysis.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
MemoryLocation.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
ModuleDebugInfoPrinter.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
NoAliasAnalysis.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
PHITransAddr.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
PostDominators.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
PtrUseVisitor.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
README.txt f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
RegionPass.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
ScalarEvolution.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
ScalarEvolutionAliasAnalysis.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
ScalarEvolutionExpander.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
ScalarEvolutionNormalization.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
ScopedNoAliasAA.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
SparsePropagation.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
StratifiedSets.h f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
TargetLibraryInfo.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
TargetTransformInfo.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
Trace.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
TypeBasedAliasAnalysis.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
ValueTracking.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
VectorUtils.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад
regioninfo.cpp d5bb3089cf Add support for custom allocators (#390) 8 лет назад
regionprinter.cpp f805233b49 Revert license text in banner comments to original llvm verbage (#33) 9 лет назад

README.txt

Analysis Opportunities:

//===---------------------------------------------------------------------===//

In test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll, the
ScalarEvolution expression for %r is this:

{1,+,3,+,2}

Outside the loop, this could be evaluated simply as (%n * %n), however
ScalarEvolution currently evaluates it as

(-2 + (2 * (trunc i65 (((zext i64 (-2 + %n) to i65) * (zext i64 (-1 + %n) to i65)) /u 2) to i64)) + (3 * %n))

In addition to being much more complicated, it involves i65 arithmetic,
which is very inefficient when expanded into code.

//===---------------------------------------------------------------------===//

In formatValue in test/CodeGen/X86/lsr-delayed-fold.ll,

ScalarEvolution is forming this expression:

((trunc i64 (-1 * %arg5) to i32) + (trunc i64 %arg5 to i32) + (-1 * (trunc i64 undef to i32)))

This could be folded to

(-1 * (trunc i64 undef to i32))

//===---------------------------------------------------------------------===//