Page MenuHomePhabricator

RosieSumpter (Rosie Sumpter)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 3 2021, 12:56 AM (25 w, 4 d)

Recent Activity

Wed, Nov 24

RosieSumpter added inline comments to D113125: [LoopVectorize] Propagate fast-math flags for VPInstruction.
Wed, Nov 24, 1:02 AM · Restricted Project
RosieSumpter committed rGdf32a39dd0f6: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic (authored by RosieSumpter).
[LoopVectorize][CostModel] Update cost model for fmuladd intrinsic
Wed, Nov 24, 1:00 AM
RosieSumpter committed rG2d33327f9d4c: [LoopVectorize] Print fast-math flags for VPReductionRecipe (authored by RosieSumpter).
[LoopVectorize] Print fast-math flags for VPReductionRecipe
Wed, Nov 24, 1:00 AM
RosieSumpter committed rG991074012a6c: [LoopVectorize] Propagate fast-math flags for VPInstruction (authored by RosieSumpter).
[LoopVectorize] Propagate fast-math flags for VPInstruction
Wed, Nov 24, 1:00 AM
RosieSumpter committed rGc2441b6b89bf: [LoopVectorize] Add vector reduction support for fmuladd intrinsic (authored by RosieSumpter).
[LoopVectorize] Add vector reduction support for fmuladd intrinsic
Wed, Nov 24, 1:00 AM
RosieSumpter closed D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
Wed, Nov 24, 1:00 AM · Restricted Project
RosieSumpter closed D113125: [LoopVectorize] Propagate fast-math flags for VPInstruction.
Wed, Nov 24, 1:00 AM · Restricted Project
RosieSumpter closed D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
Wed, Nov 24, 12:59 AM · Restricted Project

Tue, Nov 23

RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
  • Rebase + fixed conflict (added Exit->hasNUsesOrMore(3) check to checkOrderedReduction)
Tue, Nov 23, 8:17 AM · Restricted Project
RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.

These changes are to account for when there are multiple calls to fmuladd:

Tue, Nov 23, 4:14 AM · Restricted Project

Mon, Nov 22

RosieSumpter updated the diff for D113973: [LoopVectorize][CostModel] Choose smaller VFs for in-loop reductions with no loads/stores.
  • Remove changes to LoopVectorize/pr32859.ll and LoopVectorize/pr36983.ll tests
Mon, Nov 22, 2:37 AM · Restricted Project
RosieSumpter updated the diff for D113973: [LoopVectorize][CostModel] Choose smaller VFs for in-loop reductions with no loads/stores.
  • Don't set max width to 32 if there are no legal int widths set (leave as 8)
Mon, Nov 22, 1:54 AM · Restricted Project
RosieSumpter updated the diff for D113973: [LoopVectorize][CostModel] Choose smaller VFs for in-loop reductions with no loads/stores.
  • If there are no element types, only set the max width to 32 if there are no legal int sizes set, otherwise set it to the smallest legal int width.
  • update X86/funclet.ll test.
Mon, Nov 22, 1:39 AM · Restricted Project

Tue, Nov 16

RosieSumpter updated the summary of D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
Tue, Nov 16, 3:07 AM · Restricted Project
RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
  • Corrected tests
  • Added negative test case where reduction phi appears as 2 operands of llvm.fmuladd
Tue, Nov 16, 3:06 AM · Restricted Project
RosieSumpter updated the summary of D113973: [LoopVectorize][CostModel] Choose smaller VFs for in-loop reductions with no loads/stores.
Tue, Nov 16, 1:51 AM · Restricted Project
RosieSumpter requested review of D113973: [LoopVectorize][CostModel] Choose smaller VFs for in-loop reductions with no loads/stores.
Tue, Nov 16, 1:49 AM · Restricted Project

Fri, Nov 12

RosieSumpter added a comment to D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.

I think, unlike the other opcodes in a reduction chain, we may need to check that the operand number is correct. The other opcodes are commutative so it doesn't matter which of the operands the reduction passes through, but for fmuladd we need to ensure we are dealing with the last addition parameter.

Fri, Nov 12, 1:43 AM · Restricted Project
RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
  • Added a check that the reduction phi isn't one of the multiply operands of fmuladd to RecurrenceDescriptor::isRecurrenceInstr
  • Added a test case to strict-fadd.ll for the above
  • Used initializer list instead of SmallVector<> FMulOps when creating FMul VPInstruction
  • Simplified assert in LoopVectorizationPlanner::adjustRecipesForReductions
Fri, Nov 12, 1:43 AM · Restricted Project

Wed, Nov 10

RosieSumpter updated the diff for D113125: [LoopVectorize] Propagate fast-math flags for VPInstruction.
  • Changed FMF.print(O) to O << FMF
  • Added fast-math flags to VPReductionRecipe::print
Wed, Nov 10, 1:19 AM · Restricted Project

Tue, Nov 9

RosieSumpter updated the diff for D113125: [LoopVectorize] Propagate fast-math flags for VPInstruction.
  • Defined overloaded operator << for FastMathFlags and used it in AsmWriter.cpp
Tue, Nov 9, 4:22 AM · Restricted Project

Fri, Nov 5

RosieSumpter added a comment to D113125: [LoopVectorize] Propagate fast-math flags for VPInstruction.

Thanks for the comments @dmgreen and @fhahn. RE printing the fast-math flags, it seems the only way is to check for each flag and print the correct word, as was being done in WriteOptimizationInfo in llvm/lib/IR/AsmWriter.cpp. Since this is now occurring in two places, I've added a print method to FastMathFlags. Let me know if you think this is the right way to go.

Fri, Nov 5, 5:34 AM · Restricted Project
RosieSumpter updated the diff for D113125: [LoopVectorize] Propagate fast-math flags for VPInstruction.
  • Added a print method to the FastMathFlags class and used it in VPInstruction::print
  • Added a test to vplan-printing.ll
  • Assert that the VPInstruction opcode is for a floating-point operation when setting fast-math flags
Fri, Nov 5, 5:34 AM · Restricted Project

Wed, Nov 3

RosieSumpter added a comment to D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.

I think you can remove the "strict" from the title and summary of this patch, if I'm understanding what strict means here. As far as I understand it should enable vectorization for strict (inloop) and non-strict (out of loop/fast) reductions of llvm.fmuladd, which is nice.

Wed, Nov 3, 10:31 AM · Restricted Project
RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
  • Moved setFastMathFlags change to a follow-up patch D113125
  • Used isFMulAddIntrinsic in place of RecurKind::FMulAdd for safety
  • Used an initializer list for the fmul operands
Wed, Nov 3, 10:29 AM · Restricted Project
RosieSumpter requested review of D113125: [LoopVectorize] Propagate fast-math flags for VPInstruction.
Wed, Nov 3, 10:27 AM · Restricted Project

Tue, Nov 2

RosieSumpter added inline comments to D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
Tue, Nov 2, 2:37 AM · Restricted Project
RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
  • Added a setFastMathFlags method to VPInstruction instead of making LoopVectorizationPlanner a friend
Tue, Nov 2, 2:33 AM · Restricted Project
RosieSumpter committed rGdcb8222d8777: [LoopVectorize] Propagate fast-math flags for inloop reductions (authored by RosieSumpter).
[LoopVectorize] Propagate fast-math flags for inloop reductions
Tue, Nov 2, 2:04 AM
RosieSumpter closed D112548: [LoopVectorize] Propagate fast-math flags for inloop reductions.
Tue, Nov 2, 2:04 AM · Restricted Project

Mon, Nov 1

RosieSumpter added inline comments to D112548: [LoopVectorize] Propagate fast-math flags for inloop reductions.
Mon, Nov 1, 9:44 AM · Restricted Project
RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
  • Create a VPInstruction to represent the FMul
  • Removed changes to VPReductionRecipe
  • In order to propagate fast-math flags, added LoopVectorizationPlanner as a friend class to VPInstruction (so that setUnderlyingInstr() can be used) and added a method hasUnderlyingInstr()
Mon, Nov 1, 2:30 AM · Restricted Project

Oct 28 2021

RosieSumpter added inline comments to D112548: [LoopVectorize] Propagate fast-math flags for inloop reductions.
Oct 28 2021, 9:06 AM · Restricted Project
RosieSumpter updated the diff for D112548: [LoopVectorize] Propagate fast-math flags for inloop reductions.
  • Use IRBuilderBase::FastMathFlagGuard
  • Propagate fast-math flags for both ordered and non-ordered reductions
  • Updated tests
Oct 28 2021, 7:42 AM · Restricted Project
RosieSumpter updated the summary of D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
Oct 28 2021, 1:35 AM · Restricted Project
RosieSumpter updated the summary of D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
Oct 28 2021, 1:35 AM · Restricted Project
RosieSumpter updated the summary of D112548: [LoopVectorize] Propagate fast-math flags for inloop reductions.
Oct 28 2021, 1:34 AM · Restricted Project

Oct 26 2021

RosieSumpter committed rGb716d0aa94f1: [LoopVectorize] Clean up VPReductionRecipe::execute. NFC (authored by RosieSumpter).
[LoopVectorize] Clean up VPReductionRecipe::execute. NFC
Oct 26 2021, 9:31 AM
RosieSumpter closed D112547: [LoopVectorize] Clean up VPReductionRecipe::execute. NFC.
Oct 26 2021, 9:30 AM · Restricted Project
RosieSumpter updated the diff for D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
  • Make use of default parameters when calling getArithmeticInstrCost
  • Move addition of FMul cost
Oct 26 2021, 8:38 AM · Restricted Project
RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
  • Rewritten IsFMulAddIntrinsic
  • Made conditions more explicit in checkOrderedReduction
  • Splits out NFC and fast-math flags changes so this patch now builds on D112547 and D112548
Oct 26 2021, 8:32 AM · Restricted Project
RosieSumpter added inline comments to D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
Oct 26 2021, 8:31 AM · Restricted Project
RosieSumpter added a comment to D112548: [LoopVectorize] Propagate fast-math flags for inloop reductions.

Note: this patch builds on the NFC patch D112547

Oct 26 2021, 8:17 AM · Restricted Project
RosieSumpter requested review of D112548: [LoopVectorize] Propagate fast-math flags for inloop reductions.
Oct 26 2021, 8:15 AM · Restricted Project
RosieSumpter requested review of D112547: [LoopVectorize] Clean up VPReductionRecipe::execute. NFC.
Oct 26 2021, 8:09 AM · Restricted Project

Oct 18 2021

RosieSumpter added a comment to D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.

Thanks for the comments @paulwalker-arm and @david-arm. I've moved the fmul cost calculation back to the vectorizer since this seems like the more favourable option.

Oct 18 2021, 8:16 AM · Restricted Project
RosieSumpter updated the diff for D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
  • Removed the new getFMulAddReductionCost TTI interface
  • Moved the cost calculation back to the vectorizer
Oct 18 2021, 8:12 AM · Restricted Project

Oct 15 2021

RosieSumpter added inline comments to D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
Oct 15 2021, 9:04 AM · Restricted Project
RosieSumpter updated the diff for D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
  • Moved the addition of FMulAdd as a recurrence kind in AArch64TTIImpl::isLegalToVectorizeReduction to D111555
Oct 15 2021, 7:40 AM · Restricted Project
RosieSumpter updated the diff for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
  • Added FMulAdd as an accepted recurrence kind to AArch64TTIImpl::isLegalToVectorizeReduction so that scalable vectorization is enabled for llvm.fmuladd
Oct 15 2021, 7:35 AM · Restricted Project
RosieSumpter added inline comments to D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
Oct 15 2021, 5:47 AM · Restricted Project
RosieSumpter added a reviewer for D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic: CarolineConcatto.
Oct 15 2021, 2:10 AM · Restricted Project

Oct 14 2021

RosieSumpter added a reviewer for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic: fhahn.
Oct 14 2021, 9:13 AM · Restricted Project
RosieSumpter added a reviewer for D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic: fhahn.
Oct 14 2021, 9:13 AM · Restricted Project
RosieSumpter updated the diff for D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.

Created getFMulAddReductionCost. This means the code which calculates the total cost of the fmuladd is moved out of the vectorizer, but avoids changing the interface for getArithmeticReductionCost.

Oct 14 2021, 9:11 AM · Restricted Project

Oct 12 2021

RosieSumpter added inline comments to D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
Oct 12 2021, 6:01 AM · Restricted Project
RosieSumpter requested review of D111630: [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic.
Oct 12 2021, 4:25 AM · Restricted Project
RosieSumpter added a reviewer for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic: spatel.
Oct 12 2021, 2:25 AM · Restricted Project

Oct 11 2021

RosieSumpter added a comment to D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.

Note: changes to the cost model for ordered reductions will follow in a separate patch.

Oct 11 2021, 8:48 AM · Restricted Project
RosieSumpter added reviewers for D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic: sdesmalen, david-arm, kmclaughlin, dmgreen.
Oct 11 2021, 8:47 AM · Restricted Project
RosieSumpter requested review of D111555: [LoopVectorize] Add vector reduction support for fmuladd intrinsic.
Oct 11 2021, 8:46 AM · Restricted Project

Sep 10 2021

RosieSumpter committed rG9d1bea9c88b3: [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction (authored by RosieSumpter).
[SVE][LoopVectorize] Optimise code generated by widenPHIInstruction
Sep 10 2021, 4:06 AM
RosieSumpter closed D109445: [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction.
Sep 10 2021, 4:06 AM · Restricted Project
RosieSumpter updated the diff for D109445: [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction.

Amended original comment, and added comment to sve-widen-phi.ll test.

Sep 10 2021, 3:39 AM · Restricted Project
RosieSumpter added inline comments to D109445: [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction.
Sep 10 2021, 1:29 AM · Restricted Project
RosieSumpter updated the diff for D109445: [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction.

Improved comment

Sep 10 2021, 1:24 AM · Restricted Project

Sep 9 2021

RosieSumpter added a reviewer for D109445: [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction: sdesmalen.
Sep 9 2021, 2:05 AM · Restricted Project

Sep 8 2021

RosieSumpter added reviewers for D109445: [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction: david-arm, dmgreen.
Sep 8 2021, 9:10 AM · Restricted Project
RosieSumpter requested review of D109445: [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction.
Sep 8 2021, 9:04 AM · Restricted Project

Sep 6 2021

RosieSumpter added a comment to D109309: [LoopFlatten] Make the analysis more robust after IV widening.

LGTM, but of course @dmgreen should be the one to approve.

Sep 6 2021, 9:45 AM · Restricted Project

Aug 25 2021

RosieSumpter committed rGe2217247146a: [LoopFlatten] Add statistic for number of loops flattened. NFC (authored by RosieSumpter).
[LoopFlatten] Add statistic for number of loops flattened. NFC
Aug 25 2021, 2:14 AM
RosieSumpter closed D108644: [LoopFlatten] Add statistic for number of loops flattened. NFC.
Aug 25 2021, 2:13 AM · Restricted Project

Aug 24 2021

RosieSumpter requested review of D108644: [LoopFlatten] Add statistic for number of loops flattened. NFC.
Aug 24 2021, 10:17 AM · Restricted Project

Aug 19 2021

RosieSumpter committed rGd1aa075129a9: [LoopFlatten] Fix assertion failure (authored by RosieSumpter).
[LoopFlatten] Fix assertion failure
Aug 19 2021, 5:20 AM
RosieSumpter closed D108107: [LoopFlatten] Fix overflow check.
Aug 19 2021, 5:20 AM · Restricted Project

Aug 16 2021

RosieSumpter updated the diff for D108107: [LoopFlatten] Fix overflow check.
  • Added check that GEP is used as address of store instruction
  • Reversed logic in some places and removed GEPDominatesLatch
Aug 16 2021, 9:27 AM · Restricted Project
RosieSumpter added a comment to D108107: [LoopFlatten] Fix overflow check.

I think this needs to check that the GEP is used by a load/store that is executed on each iteration.

Can this use one of the isGuaranteedToExecute function too? There is a isGuaranteedToExecuteForEveryIteration, but it does not look very powerful. It may be OK for most loops though, where checking the inner loop header is enough.

Aug 16 2021, 7:36 AM · Restricted Project
RosieSumpter updated the diff for D108107: [LoopFlatten] Fix overflow check.

Changed the check to see if the GEP is used by a load/store instruction
and, if so, isGuaranteedToExecuteForEveryIteration is used with the instruction and
inner loop to determine if the GEP dominates the latch.

Aug 16 2021, 7:34 AM · Restricted Project
RosieSumpter requested review of D108107: [LoopFlatten] Fix overflow check.
Aug 16 2021, 1:21 AM · Restricted Project

Aug 13 2021

RosieSumpter closed D107806: [LoopFlatten] Fix assertion failure.

Committed: 46abd1fbe88f

Aug 13 2021, 2:24 AM · Restricted Project
RosieSumpter committed rG46abd1fbe88f: [LoopFlatten] Fix assertion failure in checkOverflow (authored by RosieSumpter).
[LoopFlatten] Fix assertion failure in checkOverflow
Aug 13 2021, 2:16 AM

Aug 12 2021

RosieSumpter updated the diff for D107806: [LoopFlatten] Fix assertion failure.

Renamed 'RHS' to 'TC' in setLoopComponents and removed redundant else statements

Aug 12 2021, 5:08 AM · Restricted Project
RosieSumpter added inline comments to D107806: [LoopFlatten] Fix assertion failure.
Aug 12 2021, 2:40 AM · Restricted Project
RosieSumpter updated the diff for D107806: [LoopFlatten] Fix assertion failure.
Added a helper function setLoopComponent to set the trip count
Aug 12 2021, 2:38 AM · Restricted Project

Aug 10 2021

RosieSumpter updated the diff for D107806: [LoopFlatten] Fix assertion failure.

Added else statement with BackedgeTCExt = nullptr to prevent uninitialised value being used

Aug 10 2021, 4:38 AM · Restricted Project
RosieSumpter requested review of D107806: [LoopFlatten] Fix assertion failure.
Aug 10 2021, 2:21 AM · Restricted Project

Aug 2 2021

RosieSumpter committed rGf117ed542fd2: [LoopFlatten] Fix missed LoopFlatten opportunity (authored by RosieSumpter).
[LoopFlatten] Fix missed LoopFlatten opportunity
Aug 2 2021, 3:18 AM
RosieSumpter closed D105802: [LoopFlatten] Fix missed LoopFlatten opportunity.
Aug 2 2021, 3:17 AM · Restricted Project
RosieSumpter updated the diff for D105802: [LoopFlatten] Fix missed LoopFlatten opportunity.
  • Added check and test for trip count
Aug 2 2021, 1:24 AM · Restricted Project
RosieSumpter reopened D105802: [LoopFlatten] Fix missed LoopFlatten opportunity.
Aug 2 2021, 1:21 AM · Restricted Project

Jul 29 2021

RosieSumpter added a reverting change for rG2df8bf9339e4: [LoopFlatten] Fix missed LoopFlatten opportunity: rGfab5659c7941: Revert "[LoopFlatten] Fix missed LoopFlatten opportunity".
Jul 29 2021, 7:53 AM
RosieSumpter committed rGfab5659c7941: Revert "[LoopFlatten] Fix missed LoopFlatten opportunity" (authored by RosieSumpter).
Revert "[LoopFlatten] Fix missed LoopFlatten opportunity"
Jul 29 2021, 7:53 AM
RosieSumpter added a reverting change for D105802: [LoopFlatten] Fix missed LoopFlatten opportunity: rGfab5659c7941: Revert "[LoopFlatten] Fix missed LoopFlatten opportunity".
Jul 29 2021, 7:53 AM · Restricted Project
RosieSumpter committed rG2df8bf9339e4: [LoopFlatten] Fix missed LoopFlatten opportunity (authored by RosieSumpter).
[LoopFlatten] Fix missed LoopFlatten opportunity
Jul 29 2021, 1:53 AM
RosieSumpter closed D105802: [LoopFlatten] Fix missed LoopFlatten opportunity.
Jul 29 2021, 1:53 AM · Restricted Project

Jul 28 2021

RosieSumpter requested review of D106970: [LoopFlatten] Fix bug where SCEVCouldNotCompute object is used.
Jul 28 2021, 8:45 AM · Restricted Project
RosieSumpter updated the diff for D105802: [LoopFlatten] Fix missed LoopFlatten opportunity.
  • Replaced checks on RHS of compare with asserts
  • Slight rewriting to improve readability
Jul 28 2021, 3:27 AM · Restricted Project

Jul 27 2021

RosieSumpter updated the diff for D105802: [LoopFlatten] Fix missed LoopFlatten opportunity.

Other patches have refactored parts of LoopFlatten's code to use SCEV and Loop instead of pattern matching (see https://reviews.llvm.org/D106580 and https://reviews.llvm.org/D106256) so this diff has been updated to be on top of these changes.

Jul 27 2021, 10:11 AM · Restricted Project
RosieSumpter committed rG491ac2802805: [LoopFlatten] Use SCEV and Loop APIs to identify increment and trip count (authored by RosieSumpter).
[LoopFlatten] Use SCEV and Loop APIs to identify increment and trip count
Jul 27 2021, 1:02 AM
RosieSumpter closed D106580: [LoopFlatten] Use SCEV and Loop APIs to identify increment and trip count.
Jul 27 2021, 1:02 AM · Restricted Project