- User Since
- May 18 2016, 6:13 AM (244 w, 4 d)
Wed, Jan 20
- Remove unused function declaration for LowerVECTOR_SPLICE.
- Clarify trailing.elts must be an integer constant in LangRef.
- Use DefaultAttrs for intrinsic.
- Use setOperationPromotedToType.
Mon, Jan 18
Sat, Jan 16
Fri, Jan 15
Thu, Jan 14
Wed, Jan 13
Tue, Jan 12
Rebased. Committed update_llc_test_checks.py changes separately to reduce the diff (thanks for suggestion @sdesmalen).
Fri, Jan 8
I've left one minor nit but looks otherwise looks fine to me
Thu, Jan 7
Wed, Jan 6
@fhahn thanks for reviewing, I think I've addressed all comments. I'll probably land this over the coming days unless there's any objections between then, cheers.
Address @fhahn comments.
Tue, Jan 5
- Rebased. Target hook for max vscale has been removed from this patch since it landed in D93030.
- Address Sander's comment w.r.t. falling back to fixed vectorization if scalable vectors are supported, but max vscale is undefined.
Mon, Jan 4
Dec 21 2020
Dec 18 2020
Address @fhahn's comments, changes:
Dec 17 2020
Handle scalable VF in a single isScalable block in computeFeasibleMaxVF.
Dec 16 2020
Dec 15 2020
Left a couple of nits but mostly LGTM, cheers
Dec 14 2020
- Rather than disable vectorization if scalable VF isn't supported, let the LV pick a VF as it normally does and process with cost-modelling.
- Added a new LV flag -force-target-supports-scalable-vectors to support writing non-target specific tests with scalable VFs.
- Added a temporary workaround to use MaxVF in place of UserVF until cost modelling loop works for scalable VFs.
- Emit opt remark.
Dec 11 2020
Address comments and added test.
Dec 10 2020
- Rebase since D88962 and D91077 have now landed.
- Address @sdesmalen's comments. Added a target hook supportsScalableVectors in D93060 which is used in this patch to bail out of vectorization if unsupported. Also changed the behavior when scalable vectorization is unfeasible given a dependency, it now changes the hint to fixed, where existing behavior applies (i.e. clamping).
- Updated tests.
Dec 9 2020
Dec 8 2020
Dec 7 2020
Dec 4 2020
Remove change to libcxxabi test.
Dec 3 2020
Dec 2 2020
Dec 1 2020
Replace assert with bail out for scalable vector in static variant.
Nov 30 2020
Nov 27 2020
- Rather than bail out, clamp to fixed VF is scalable is unfeasible. Remove change to return Optional<ElementCount> from LoopVectorizationCostModel::computeFeasibleMaxVF.
- In LoopVectorizationPlanner::plan, if a UserVF is specified but isn't legal then use MaxVF (earlier).
- Simplified the IR in the tests.
I think I've addressed all comments now so I'll land this at the beginning of next week unless there's any objections between then, thanks for reviewing all!
Nov 25 2020
Address Florian's comments
Nov 24 2020
Nov 20 2020
Nov 18 2020
I've left one minor comment, if that suggestion works it should be fine to fix it before committing
- Rebased (computeFeasibleMaxVF now returns an ElementCount).
- Address one of @fhahn's comments.
- Added an assert at the top of computeFeasibleMaxVF that UserVF isn't scalable.