Page MenuHomePhabricator

huntergr (Graham Hunter)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 5 2014, 5:55 AM (232 w, 3 d)

Recent Activity

Wed, Jan 30

huntergr updated the diff for D53695: Scalable VectorType RFC.

Update based on off-list feedback:

  • Added a section on allowed operations to clarify this is a first class type.
  • Remove initial proposal on the flag for not inheriting vlen; there's more pushback against allowing runtime multiple changes. I think this design could still be extended to support that in the future, but I'm afraid I'll have to leave that battle to the RVV team.
  • Minor wording changes.
Wed, Jan 30, 3:22 AM

Nov 2 2018

huntergr updated the diff for D53137: Scalable type size queries (llvm).
  • Unified ScalableSize representation
  • Changed to uint64_t + boolean, since we no longer allow scalable vectors in aggregates
  • Removed aggregate and mixed unit tests
Nov 2 2018, 5:27 PM
huntergr updated the diff for D32530: [SVE][IR] Scalable Vector IR Type.
  • Added checks in verifier to prevent scalable vectors being included in structs or arrays
  • Changed lookup to use ElementCount
  • Moved ElementCount to a new file
  • More unit tests
Nov 2 2018, 5:21 PM
huntergr updated the diff for D53695: Scalable VectorType RFC.

Updated based on feedback:

  • Add reasons for restrictions on global/aggregates
  • Change size query struct to an integer + a boolean instead of two integers.
Nov 2 2018, 4:35 PM

Oct 31 2018

huntergr added a comment to D53695: Scalable VectorType RFC.

Also, can you move this to docs/Proposals, together with the other RFCs, please?

Oct 31 2018, 6:29 AM

Oct 25 2018

huntergr updated the diff for D53695: Scalable VectorType RFC.

Updated based on discussions at the 2018 devmeeting

Oct 25 2018, 5:57 AM
huntergr created D53695: Scalable VectorType RFC.
Oct 25 2018, 5:56 AM

Oct 24 2018

huntergr abandoned D53138: Scalable type size queries (clang).

Abandoning this. At the devmeeting it was agreed that 'getPrimitiveSizeInBits' should continue to work as-is for fixed-length vectors and only behave differently for scalable vectors.

Oct 24 2018, 4:16 AM

Oct 11 2018

huntergr added a parent revision for D53137: Scalable type size queries (llvm): D32530: [SVE][IR] Scalable Vector IR Type.
Oct 11 2018, 7:03 AM
huntergr added a child revision for D32530: [SVE][IR] Scalable Vector IR Type: D53137: Scalable type size queries (llvm).
Oct 11 2018, 7:03 AM
huntergr added a parent revision for D53138: Scalable type size queries (clang): D53137: Scalable type size queries (llvm).
Oct 11 2018, 7:03 AM
huntergr added a child revision for D53137: Scalable type size queries (llvm): D53138: Scalable type size queries (clang).
Oct 11 2018, 7:03 AM
huntergr created D53138: Scalable type size queries (clang).
Oct 11 2018, 7:02 AM
huntergr created D53137: Scalable type size queries (llvm).
Oct 11 2018, 6:59 AM

Sep 4 2018

huntergr added inline comments to D32530: [SVE][IR] Scalable Vector IR Type.
Sep 4 2018, 2:39 AM

Aug 1 2018

huntergr updated the summary of D47771: [AArch64][SVE] Scalable arguments and returns passed in Z regs.
Aug 1 2018, 6:58 AM

Jul 26 2018

huntergr added inline comments to D32530: [SVE][IR] Scalable Vector IR Type.
Jul 26 2018, 4:55 AM

Jul 19 2018

huntergr added inline comments to D32530: [SVE][IR] Scalable Vector IR Type.
Jul 19 2018, 8:01 AM
huntergr added reviewers for D32530: [SVE][IR] Scalable Vector IR Type: samparker, SjoerdMeijer.
Jul 19 2018, 7:47 AM

Jul 16 2018

huntergr updated the diff for D32530: [SVE][IR] Scalable Vector IR Type.

Indeed, we shouldn't allow scalable vectors to be globals. I've added a check for that in the verifier, plus unit tests and a small update to the langref. Thanks.

Jul 16 2018, 3:24 AM

Jul 12 2018

huntergr added a reviewer for D32530: [SVE][IR] Scalable Vector IR Type: rkruppe.

I think the discussion on the mailing list has reached agreement on this type being suitable for both SVE and RVV; any review comments on the code or tests?

Jul 12 2018, 3:11 AM

Jun 7 2018

huntergr updated the diff for D47770: [MVT][SVE] Add EVT strings and Type mapping.

Fixed string representation of scalable vectors which don't map to the existing defined set of MVTs.

Jun 7 2018, 5:34 AM

Jun 6 2018

huntergr updated the diff for D47780: [AArch64][SVE] Testing codegen of scalable vectorized loop.

Removed unnecessary metadata.

Jun 6 2018, 7:06 AM

Jun 5 2018

huntergr updated subscribers of D47780: [AArch64][SVE] Testing codegen of scalable vectorized loop.
Jun 5 2018, 7:57 AM
huntergr updated subscribers of D47779: [AArch64][SVE] Implement copying for Z registers.
Jun 5 2018, 7:54 AM
huntergr updated subscribers of D47778: [AArch64][SVE] Left shift patterns for scalable integer types.
Jun 5 2018, 7:53 AM
huntergr updated subscribers of D47777: [AArch64][SVE] Addition patterns for integer scalable vectors.
Jun 5 2018, 7:53 AM
huntergr updated subscribers of D47776: [AArch64][SVE] Initial store patterns for SVE.
Jun 5 2018, 7:53 AM
huntergr updated subscribers of D47775: [AArch64][SVE] Add SplatVector Intrinsic.
Jun 5 2018, 7:53 AM
huntergr updated subscribers of D47774: [AArch64][SVE] Add StepVector Intrinsic.
Jun 5 2018, 7:52 AM
huntergr updated subscribers of D47773: [AArch64][SVE] Add VScale Intrinsic.
Jun 5 2018, 7:52 AM
huntergr updated subscribers of D47772: [AArch64] Cleanup intrinsic lowering a little. NFC..
Jun 5 2018, 7:51 AM
huntergr updated subscribers of D47771: [AArch64][SVE] Scalable arguments and returns passed in Z regs.
Jun 5 2018, 7:51 AM
huntergr updated subscribers of D47770: [MVT][SVE] Add EVT strings and Type mapping.
Jun 5 2018, 7:51 AM
huntergr updated subscribers of D47769: [SVE][TableGen] LLT support for scalable vectors.
Jun 5 2018, 7:51 AM
huntergr updated subscribers of D47768: [SVE][TableGen] Vector element constraint.
Jun 5 2018, 7:50 AM
huntergr added a comment to D32530: [SVE][IR] Scalable Vector IR Type.

Updated RFC including a list of patches for simple codegen using this extension has been posted: http://lists.llvm.org/pipermail/llvm-dev/2018-June/123780.html

Jun 5 2018, 6:36 AM
huntergr created D47780: [AArch64][SVE] Testing codegen of scalable vectorized loop.
Jun 5 2018, 5:53 AM
huntergr created D47779: [AArch64][SVE] Implement copying for Z registers.
Jun 5 2018, 5:50 AM
huntergr created D47778: [AArch64][SVE] Left shift patterns for scalable integer types.
Jun 5 2018, 5:48 AM
huntergr created D47777: [AArch64][SVE] Addition patterns for integer scalable vectors.
Jun 5 2018, 5:45 AM
huntergr created D47776: [AArch64][SVE] Initial store patterns for SVE.
Jun 5 2018, 5:43 AM
huntergr created D47775: [AArch64][SVE] Add SplatVector Intrinsic.
Jun 5 2018, 5:41 AM
huntergr created D47774: [AArch64][SVE] Add StepVector Intrinsic.
Jun 5 2018, 5:37 AM
huntergr created D47773: [AArch64][SVE] Add VScale Intrinsic.
Jun 5 2018, 5:34 AM
huntergr created D47772: [AArch64] Cleanup intrinsic lowering a little. NFC..
Jun 5 2018, 5:29 AM
huntergr created D47771: [AArch64][SVE] Scalable arguments and returns passed in Z regs.
Jun 5 2018, 5:26 AM
huntergr added a comment to D47770: [MVT][SVE] Add EVT strings and Type mapping.
Jun 5 2018, 5:20 AM
huntergr added a comment to D47769: [SVE][TableGen] LLT support for scalable vectors.
Jun 5 2018, 5:20 AM
huntergr added a comment to D47768: [SVE][TableGen] Vector element constraint.
Jun 5 2018, 5:19 AM
huntergr created D47770: [MVT][SVE] Add EVT strings and Type mapping.
Jun 5 2018, 5:15 AM
huntergr created D47769: [SVE][TableGen] LLT support for scalable vectors.
Jun 5 2018, 5:06 AM
huntergr created D47768: [SVE][TableGen] Vector element constraint.
Jun 5 2018, 4:56 AM

Nov 1 2017

huntergr added a comment to D32530: [SVE][IR] Scalable Vector IR Type.

I have also changed vscale and stepvector to be intrinsics, but as that makes those patches just an addition to Intrinsics.td I won't post them yet.

Nov 1 2017, 5:27 AM
huntergr updated the diff for D32530: [SVE][IR] Scalable Vector IR Type.

Changed textual IR format to match Chris's suggestion from the mailing list.

Nov 1 2017, 5:20 AM

Oct 3 2017

huntergr added a comment to D31417: [OpenMP] Add support for omp simd pragmas without runtime.

Is this still being worked on?

Oct 3 2017, 2:17 AM

Aug 2 2017

huntergr commandeered D35307: [AArch64] Initial SVE register definitions.
Aug 2 2017, 6:34 AM

Jun 1 2017

huntergr added a comment to D32737: [Constants][SVE] Represent the runtime length of a scalable vector.

New RFC posted to llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2017-June/113587.html

Jun 1 2017, 7:25 AM

May 3 2017

huntergr added inline comments to D32737: [Constants][SVE] Represent the runtime length of a scalable vector.
May 3 2017, 1:24 AM

May 2 2017

huntergr updated the diff for D32530: [SVE][IR] Scalable Vector IR Type.

Improved constructor based on Renato's suggestion. Thanks.

May 2 2017, 2:49 AM
huntergr created D32737: [Constants][SVE] Represent the runtime length of a scalable vector.
May 2 2017, 2:40 AM

Apr 26 2017

huntergr created D32530: [SVE][IR] Scalable Vector IR Type.
Apr 26 2017, 4:12 AM

Apr 20 2017

huntergr updated the diff for D32019: [MVT][SVE] Scalable vector MVTs (3/3).

Added unit tests via gtest framework.
Changed getHalfNumVectorElementsVT to use 'EltCnt.Min' when determining whether the current vector length is evenly divisible.
Changed iterator names to be more obvious.

Apr 20 2017, 3:08 AM

Apr 19 2017

huntergr added a comment to D32019: [MVT][SVE] Scalable vector MVTs (3/3).

Right, the code looks good now, but I'm worried about tests... We don't seem to have unit tests on this area and I'm not sure how we'd create one (not terribly familiar here).

We could wait to have IR tests, like the rest, when AArch64 uses it... If everyone agrees with it.

Apr 19 2017, 6:05 AM
huntergr added a comment to D32017: [MVT][SVE] Scalable vector MVTs (1/3).

Looks good to me to, but, what about tests?

Apr 19 2017, 5:30 AM
huntergr updated the diff for D32019: [MVT][SVE] Scalable vector MVTs (3/3).

Changed 'Min' to unsigned.
Moved text to asserts instead of comments.
Added FIXME to explain why extended scalable vector types aren't handled yet.

Apr 19 2017, 4:59 AM
huntergr updated the diff for D32018: [MVT][SVE] Scalable vector MVTs (2/3).

Changed SimpleValueType enum back to 8 bits, but made it unsigned. Renumbered all of them, with 0 now being the invalid value.

Apr 19 2017, 4:54 AM
huntergr updated the diff for D32017: [MVT][SVE] Scalable vector MVTs (1/3).

Removed unused functions, moved assert on halving the number of elements when there's an odd element count.

Apr 19 2017, 4:50 AM

Apr 18 2017

huntergr added inline comments to D32019: [MVT][SVE] Scalable vector MVTs (3/3).
Apr 18 2017, 6:02 AM
huntergr added inline comments to D32018: [MVT][SVE] Scalable vector MVTs (2/3).
Apr 18 2017, 5:49 AM
huntergr added inline comments to D32017: [MVT][SVE] Scalable vector MVTs (1/3).
Apr 18 2017, 5:48 AM

Apr 13 2017

huntergr updated subscribers of D32019: [MVT][SVE] Scalable vector MVTs (3/3).
Apr 13 2017, 9:05 AM
huntergr updated subscribers of D32018: [MVT][SVE] Scalable vector MVTs (2/3).
Apr 13 2017, 9:04 AM
huntergr updated subscribers of D32017: [MVT][SVE] Scalable vector MVTs (1/3).
Apr 13 2017, 9:04 AM
huntergr added a comment to D32018: [MVT][SVE] Scalable vector MVTs (2/3).

See http://lists.llvm.org/pipermail/llvm-dev/2017-March/110772.html for earlier discussion on these types.

Apr 13 2017, 8:28 AM
huntergr created D32019: [MVT][SVE] Scalable vector MVTs (3/3).
Apr 13 2017, 8:24 AM
huntergr created D32018: [MVT][SVE] Scalable vector MVTs (2/3).
Apr 13 2017, 8:21 AM
huntergr created D32017: [MVT][SVE] Scalable vector MVTs (1/3).
Apr 13 2017, 8:18 AM

Apr 11 2017

huntergr added inline comments to D31417: [OpenMP] Add support for omp simd pragmas without runtime.
Apr 11 2017, 2:48 AM

Apr 3 2017

huntergr added inline comments to D31417: [OpenMP] Add support for omp simd pragmas without runtime.
Apr 3 2017, 5:04 AM
huntergr updated the diff for D31417: [OpenMP] Add support for omp simd pragmas without runtime.

Changed to transform combined constructs to simd in ParseOpenMP.cpp instead of creating a new pragma handler. This also made it easier to add support for 'declare simd': only needed the addition of a check for the option when code generating functions to enable it, so I've added a RUN line to test it in the 'declare simd' codegen tests.

Apr 3 2017, 4:40 AM

Mar 29 2017

huntergr added a comment to D31417: [OpenMP] Add support for omp simd pragmas without runtime.

Hi Renato,

Mar 29 2017, 8:51 AM

Mar 28 2017

huntergr added a comment to D31417: [OpenMP] Add support for omp simd pragmas without runtime.

Hi Graham,

thank you for working on this. I understand that you are gonna take care of the CodeGen side of things for the new -fopenmp-simd option in a separate patch?

Mar 28 2017, 5:00 AM
huntergr created D31417: [OpenMP] Add support for omp simd pragmas without runtime.
Mar 28 2017, 3:22 AM

Feb 6 2017

huntergr added a comment to D29219: [AArch64][TableGen] Skip tied result operands for InstAlias.

Ping.

Hi Graham,

I was waiting from other comments, especially regarding the tied operand logic for other targets, which I'm not familiar with. I'm surprised this didn't trigger anything else in any other target. Are you building and testing all targets?

Feb 6 2017, 5:19 AM
huntergr added a comment to D29219: [AArch64][TableGen] Skip tied result operands for InstAlias.

For clarity wrt. the movk/bic/orr pattern changes, they never triggered when printing asm before because the base patterns in AArch64InstrFormats.td (BaseInsertImmediate and BaseSIMDModifiedImmVectorTied) both contain tied register constraints. Since they now print with this change, I've adjusted the priority where needed to avoid breaking the existing unit tests, and just change ins to mov.

Feb 6 2017, 2:27 AM

Jan 27 2017

huntergr added a comment to D29219: [AArch64][TableGen] Skip tied result operands for InstAlias.

Hi Graham,

This looks ok to me, but I'm not confident to approve a TableGen back-end patch that could potentially change the behaviour in other targets.

I'm adding other people that touched the code / table files recently, and I'm hoping that other targets developers got the mail via the commits list and will chime in if necessary.

cheers,
--renato

Jan 27 2017, 6:52 AM
huntergr updated the diff for D29219: [AArch64][TableGen] Skip tied result operands for InstAlias.
Jan 27 2017, 4:44 AM
huntergr created D29219: [AArch64][TableGen] Skip tied result operands for InstAlias.
Jan 27 2017, 3:18 AM