mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:43:36 +01:00
312b2e1b99
This is a patch that updates the cost of `select i1 a, b, false` to be equivalent to that of `and i1 a, b` as well as the cost of `select i1 a, true, b` equivalent to `or i1 a, b`. Until now, these selects were folded into and/or i1 by InstCombine, but the transformation is poison-unsafe. This is a step towards removing the unsafe transformation. D93065 has relevant transformations linked. These selects should be translated into the assemblies as and/or i1 do in the same manner. The cost should be equivalent. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D97360 |
||
---|---|---|
.. | ||
AliasSet | ||
AssumptionCache | ||
BasicAA | ||
BlockFrequencyInfo | ||
BranchProbabilityInfo | ||
CallGraph | ||
CFLAliasAnalysis | ||
CostModel | ||
DDG | ||
Delinearization | ||
DemandedBits | ||
DependenceAnalysis | ||
DivergenceAnalysis | ||
DominanceFrontier | ||
Dominators | ||
FunctionPropertiesAnalysis | ||
GlobalsModRef | ||
IRSimilarityIdentifier | ||
IVUsers | ||
LazyCallGraph | ||
LazyValueAnalysis | ||
LegacyDivergenceAnalysis | ||
Lint | ||
LoopAccessAnalysis | ||
LoopCacheAnalysis/PowerPC | ||
LoopInfo | ||
LoopNestAnalysis | ||
MemoryDependenceAnalysis | ||
MemorySSA | ||
MustExecute | ||
PhiValues | ||
PostDominators | ||
ProfileSummary | ||
RegionInfo | ||
ScalarEvolution | ||
ScopedNoAliasAA | ||
StackSafetyAnalysis | ||
TypeBasedAliasAnalysis | ||
ValueTracking | ||
alias-analysis-uses.ll |