mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
2a43c2e32f
This code assumed that FP math was only permissable if it was fully "fast", so it hard-coded "fast" when creating new instructions. The underlying code already allows matching recurrences/reductions that are only "reassoc", so this change should prevent the potential miscompile seen in the test diffs (we created "fast" ops even though none existed in the original code). I don't know if we need to create the temporary IRBuilder objects used here, so that could be follow-up clean-up. There's an open question about whether we should require "nsz" in addition to "reassoc" here. InstCombine uses that combo for its reassociative folds, but I think codegen is not as strict. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
LoadStoreVectorizer.cpp | ||
LoopVectorizationLegality.cpp | ||
LoopVectorizationPlanner.h | ||
LoopVectorize.cpp | ||
SLPVectorizer.cpp | ||
VectorCombine.cpp | ||
Vectorize.cpp | ||
VPlan.cpp | ||
VPlan.h | ||
VPlanDominatorTree.h | ||
VPlanHCFGBuilder.cpp | ||
VPlanHCFGBuilder.h | ||
VPlanLoopInfo.h | ||
VPlanPredicator.cpp | ||
VPlanPredicator.h | ||
VPlanSLP.cpp | ||
VPlanTransforms.cpp | ||
VPlanTransforms.h | ||
VPlanValue.h | ||
VPlanVerifier.cpp | ||
VPlanVerifier.h | ||
VPRecipeBuilder.h |