AlexSm 9b567afd33 Library import 240819-0942 (#7994) 2 месяцев назад
..
AliasAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
AliasAnalysisEvaluator.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
AliasAnalysisSummary.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
AliasAnalysisSummary.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
AliasSetTracker.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
Analysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
AssumeBundleQueries.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
AssumptionCache.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
BasicAliasAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
BlockFrequencyInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
BlockFrequencyInfoImpl.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
BranchProbabilityInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CFG.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CFGPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CFGSCCPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CGSCCPassManager.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CallGraph.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CallGraphSCCPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CallPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CaptureTracking.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CmpInstAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CodeMetrics.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ConstantFolding.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ConstraintSystem.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CostModel.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
CycleAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DDG.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DDGPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
Delinearization.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DemandedBits.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DependenceAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DependenceGraphBuilder.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DevelopmentModeInlineAdvisor.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DivergenceAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DomPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DomTreeUpdater.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
DominanceFrontier.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
EHPersonalities.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
FunctionPropertiesAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
GlobalsModRef.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
GuardUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
HeatUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
IRSimilarityIdentifier.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
IVDescriptors.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
IVUsers.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ImportedFunctionsInliningStatistics.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
IndirectCallPromotionAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
InlineAdvisor.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
InlineCost.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
InlineOrder.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
InlineSizeEstimatorAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
InstCount.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
InstructionPrecedenceTracking.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
InstructionSimplify.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
Interval.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
IntervalPartition.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LazyBlockFrequencyInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LazyBranchProbabilityInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LazyCallGraph.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LazyValueInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LegacyDivergenceAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
Lint.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
Loads.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
Local.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LoopAccessAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LoopAnalysisManager.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LoopCacheAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LoopInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LoopNestAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LoopPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
LoopUnrollAnalyzer.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MLInlineAdvisor.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MemDepPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MemDerefPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MemoryBuiltins.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MemoryDependenceAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MemoryLocation.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MemoryProfileInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MemorySSA.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MemorySSAUpdater.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ModelUnderTrainingRunner.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ModuleDebugInfoPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ModuleSummaryAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
MustExecute.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
NoInferenceModelRunner.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ObjCARCAliasAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ObjCARCAnalysisUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ObjCARCInstKind.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
OptimizationRemarkEmitter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
OverflowInstAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
PHITransAddr.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
PhiValues.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
PostDominators.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ProfileSummaryInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
PtrUseVisitor.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
README.txt 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
RegionInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
RegionPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
RegionPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ReplayInlineAdvisor.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ScalarEvolution.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ScalarEvolutionAliasAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ScalarEvolutionDivision.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ScalarEvolutionNormalization.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ScopedNoAliasAA.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
StackLifetime.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
StackSafetyAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
SyncDependenceAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
SyntheticCountsUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
TFLiteUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
TargetLibraryInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
TargetTransformInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
TensorSpec.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
Trace.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
TrainingLogger.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
TypeBasedAliasAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
TypeMetadataUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
UniformityAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
VFABIDemangling.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ValueLattice.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ValueLatticeUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ValueTracking.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
VectorUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 год назад
ya.make 9b567afd33 Library import 240819-0942 (#7994) 2 месяцев назад

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))

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