Page MenuHomePhabricator

simoll (Simon Moll)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 23 2017, 12:28 AM (201 w, 3 d)

Recent Activity

Today

simoll updated subscribers of D57504: RFC: Prototype & Roadmap for vector predication in LLVM.

Hi @simoll: a quick question regarding vp.load/vp.store/vp.gather/vp.scatter. Does the current definition of VPred allow for something similar to the !nontemporal metadata of regular load/store instructions? I don't see any explicit mention to that but maybe it is already possible using metadata or some other annotation?

Thu, Dec 3, 9:25 AM · Restricted Project
simoll accepted D92550: [VE] Add vsll, vsrl, vsla, vsra, and vsfa intrinsic instructions.
Thu, Dec 3, 5:13 AM · Restricted Project, Restricted Project
simoll accepted D92386: [VE] Add standard include path and library path for C++.

Thx!

Thu, Dec 3, 5:12 AM · Restricted Project, Restricted Project
simoll accepted D92527: [VE] Add veqv and vseq intrinsic instructions.
Thu, Dec 3, 12:32 AM · Restricted Project, Restricted Project

Yesterday

simoll accepted D92454: [VE] Add vand, vor, and vxor intrinsic instructions.
Wed, Dec 2, 2:16 AM · Restricted Project, Restricted Project

Tue, Dec 1

simoll accepted D92387: [VE] Add vcmp, vmax, and vmin intrinsic instructions.
Tue, Dec 1, 7:37 AM · Restricted Project, Restricted Project
simoll added inline comments to D92386: [VE] Add standard include path and library path for C++.
Tue, Dec 1, 7:36 AM · Restricted Project, Restricted Project
simoll accepted D92377: [VE] Add vmul and vdiv intrinsic instructions.
Tue, Dec 1, 5:57 AM · Restricted Project, Restricted Project
simoll updated the diff for D91441: [VP] Build VP SDNodes.

Thanks for your feedback so far!

Tue, Dec 1, 5:55 AM · Restricted Project, Restricted Project
simoll accepted D92332: [VE] Add vadd and vsub intrinsic instructions.
Tue, Dec 1, 2:25 AM · Restricted Project, Restricted Project

Mon, Nov 30

simoll accepted D92254: [VE] Clean check routines of branch types.

Thanks!

Mon, Nov 30, 5:56 AM · Restricted Project, Restricted Project
simoll accepted D92313: [VE] Optimize prologue/epilogue instructions about GOT.
Mon, Nov 30, 5:55 AM · Restricted Project, Restricted Project
simoll accepted D92226: [VE] Change the behaviour of truncate.

Regarding to VE ABI. VE ABI is compilicated. It requires one-out for signed values and zero-out for unsigned values. Therefore, I made LLVM for VE uses one-out before (I was thinking about signed values only at that time). Recently, I modify clang for VE to pass all arguments in 64 bits and this fulfills VE's ABI. Therefore, I decide to change LLVM for VE to use zero-out by default.

Mon, Nov 30, 2:28 AM · Restricted Project, Restricted Project
simoll accepted D92256: [VE] Specify vector alignments.
Mon, Nov 30, 2:10 AM · Restricted Project, Restricted Project, Restricted Project
simoll added a comment to D92254: [VE] Clean check routines of branch types.

A helpful comment could explain why these instructions should not be used. Nits, else LGTM.

Mon, Nov 30, 2:08 AM · Restricted Project, Restricted Project
simoll accepted D92251: [VE] Optimize prologue/epilogue instructions.
Mon, Nov 30, 12:29 AM · Restricted Project, Restricted Project

Fri, Nov 27

simoll added a comment to D92226: [VE] Change the behaviour of truncate.

I understand this is necessary for VE ABI compliance. Is there anything in LLVM that says a truncate has to zero-out all leading bits?

Fri, Nov 27, 6:19 AM · Restricted Project, Restricted Project
simoll accepted D92174: [VE] Optimize emitSPAdjustment function.

It's about making the code more reusable - this is not a stopper for this patch, however.

Fri, Nov 27, 6:15 AM · Restricted Project, Restricted Project
simoll added inline comments to D92174: [VE] Optimize emitSPAdjustment function.
Fri, Nov 27, 5:04 AM · Restricted Project, Restricted Project

Thu, Nov 26

simoll added inline comments to D92174: [VE] Optimize emitSPAdjustment function.
Thu, Nov 26, 6:54 AM · Restricted Project, Restricted Project
simoll accepted D92170: [VE] Add comprehensive stackframe tests.
Thu, Nov 26, 4:56 AM · Restricted Project, Restricted Project
simoll updated the diff for D91441: [VP] Build VP SDNodes.
  • Rebased
  • Make all tests use the same run command
Thu, Nov 26, 4:46 AM · Restricted Project, Restricted Project
simoll updated the diff for D91441: [VP] Build VP SDNodes.

NFC. Improved tests - also checking the sdnode operand list and types

Thu, Nov 26, 2:20 AM · Restricted Project, Restricted Project
simoll updated the diff for D91441: [VP] Build VP SDNodes.

Added one test for every VP SDNode type.
Ping?

Thu, Nov 26, 1:58 AM · Restricted Project, Restricted Project
simoll added a comment to D88905: [Clang] Allow "ext_vector_type" applied to Booleans.

ping.

Thu, Nov 26, 12:47 AM · Restricted Project
simoll added inline comments to D92086: Generalized PatternMatch & InstSimplify.
Thu, Nov 26, 12:32 AM · Restricted Project

Wed, Nov 25

simoll updated the diff for D92086: Generalized PatternMatch & InstSimplify.

NFC. Fixed formatting, tidiness.

Wed, Nov 25, 5:20 AM · Restricted Project
simoll updated the summary of D92086: Generalized PatternMatch & InstSimplify.
Wed, Nov 25, 3:03 AM · Restricted Project
simoll requested review of D92086: Generalized PatternMatch & InstSimplify.
Wed, Nov 25, 3:01 AM · Restricted Project

Mon, Nov 23

simoll committed rGb955c7e63001: [VE] VE Vector Predicated SDNode, vector add isel and tests (authored by simoll).
[VE] VE Vector Predicated SDNode, vector add isel and tests
Mon, Nov 23, 8:18 AM
simoll closed D91802: [VE] VE Vector Predicated SDNode, vector add isel and tests.
Mon, Nov 23, 8:17 AM · Restricted Project, Restricted Project
simoll updated the diff for D91802: [VE] VE Vector Predicated SDNode, vector add isel and tests.

NFC. Attaching this here because the rebase required manual merging.

Mon, Nov 23, 6:35 AM · Restricted Project, Restricted Project
simoll added inline comments to D91802: [VE] VE Vector Predicated SDNode, vector add isel and tests.
Mon, Nov 23, 5:31 AM · Restricted Project, Restricted Project
simoll updated the diff for D91802: [VE] VE Vector Predicated SDNode, vector add isel and tests.

NFC, Adressed comments

Mon, Nov 23, 5:30 AM · Restricted Project, Restricted Project
simoll accepted D91958: [VE] Remove magic numbers 176.
Mon, Nov 23, 5:07 AM · Restricted Project, Restricted Project
simoll accepted D91946: [VE][NFC] Clean stack frame description.
Mon, Nov 23, 3:30 AM · Restricted Project, Restricted Project
simoll accepted D91929: [VE] Clean canRealignStack implementation.
Mon, Nov 23, 3:29 AM · Restricted Project, Restricted Project
simoll updated the diff for D91802: [VE] VE Vector Predicated SDNode, vector add isel and tests.

Removed immediate variants in isel and tests. Added comment for future immediate folding.

Mon, Nov 23, 3:27 AM · Restricted Project, Restricted Project
simoll updated the diff for D91802: [VE] VE Vector Predicated SDNode, vector add isel and tests.
  • Simplified macros
  • Keeping the vector inst+imm isel patterns and tests for now. When vector-immediate folding is upstream, we can remove that code
Mon, Nov 23, 1:49 AM · Restricted Project, Restricted Project
simoll added inline comments to D91802: [VE] VE Vector Predicated SDNode, vector add isel and tests.
Mon, Nov 23, 12:44 AM · Restricted Project, Restricted Project

Fri, Nov 20

simoll accepted D91862: [VE] Correct types of return/argument values for getAdjustedFrameSize().

LGTM. Did this actually overflow in the wild? A test would be nice.. but also hard to come by given that you'd need to manufacture such a large frame.

Fri, Nov 20, 4:53 AM · Restricted Project, Restricted Project
simoll accepted D91785: [VE] Change threshold for jump table generation.

LGTM

Fri, Nov 20, 1:37 AM · Restricted Project, Restricted Project

Thu, Nov 19

simoll requested review of D91802: [VE] VE Vector Predicated SDNode, vector add isel and tests.
Thu, Nov 19, 9:17 AM · Restricted Project, Restricted Project
simoll added a comment to D91518: [LV][NFC-ish] Allow vector widths over 256 elements.

The current versions seems a good middle ground between computing a tighter bound and abolishing the assertion altogether. Trying to be smart in assertions is usually a bad idea because people might pull the carpet (underlying assumptions) from under you some day.

Thu, Nov 19, 1:59 AM · Restricted Project
simoll committed rGa1de391dae8b: [LV][NFC-ish] Allow vector widths over 256 elements (authored by simoll).
[LV][NFC-ish] Allow vector widths over 256 elements
Thu, Nov 19, 1:59 AM
simoll closed D91518: [LV][NFC-ish] Allow vector widths over 256 elements.
Thu, Nov 19, 1:58 AM · Restricted Project
simoll added inline comments to D91441: [VP] Build VP SDNodes.
Thu, Nov 19, 1:01 AM · Restricted Project, Restricted Project
simoll committed rGffe6c97f6b6e: [VE] VEC_BROADCAST, lowering and isel (authored by simoll).
[VE] VEC_BROADCAST, lowering and isel
Thu, Nov 19, 12:45 AM
simoll closed D91646: [VE] VEC_BROADCAST, lowering and isel.
Thu, Nov 19, 12:45 AM · Restricted Project, Restricted Project
simoll updated the diff for D91518: [LV][NFC-ish] Allow vector widths over 256 elements.

Followed @fhahn 's suggestion to test against the widest vector register width instead.

Thu, Nov 19, 12:44 AM · Restricted Project
simoll updated the diff for D91646: [VE] VEC_BROADCAST, lowering and isel.

Added i64,f64 immediate patterns and tests

Thu, Nov 19, 12:37 AM · Restricted Project, Restricted Project

Wed, Nov 18

simoll updated the diff for D78203: [VP,Integer,#2] ExpandVectorPredication pass.

Rebased onto "speculatable" VP intrinsic patch.

Wed, Nov 18, 9:52 AM · Restricted Project, Restricted Project
simoll committed rG9b99927618d3: [VP] Non-signalling llvm.vp.* intrinsics are speculatable (authored by simoll).
[VP] Non-signalling llvm.vp.* intrinsics are speculatable
Wed, Nov 18, 9:46 AM
simoll updated the summary of D91646: [VE] VEC_BROADCAST, lowering and isel.
Wed, Nov 18, 8:02 AM · Restricted Project, Restricted Project
simoll updated the diff for D91646: [VE] VEC_BROADCAST, lowering and isel.
  • Add isel and tests for vbrd-with-immediate.
  • Added <128 x i16>, <256 x i16>, <128 x i32> broadcast tests to show promotion, widening and scalarization.
Wed, Nov 18, 8:01 AM · Restricted Project, Restricted Project
simoll updated the diff for D91646: [VE] VEC_BROADCAST, lowering and isel.
  • Added immediate patterns and tests
  • Addressed comments
Wed, Nov 18, 7:04 AM · Restricted Project, Restricted Project
simoll updated the diff for D91441: [VP] Build VP SDNodes.
  • Adressed comments
  • Cleanup
  • Rebased
Wed, Nov 18, 6:11 AM · Restricted Project, Restricted Project
simoll accepted D91700: [VE] Add vmv intrinsic instructions.
Wed, Nov 18, 5:53 AM · Restricted Project, Restricted Project
simoll added inline comments to D78203: [VP,Integer,#2] ExpandVectorPredication pass.
Wed, Nov 18, 5:24 AM · Restricted Project, Restricted Project
simoll updated the diff for D78203: [VP,Integer,#2] ExpandVectorPredication pass.
  • Added override options to override the expansion strategy.
  • Added expansion tests for fixed and scalable types and all possible expansion strategies.
  • Rebased.
Wed, Nov 18, 5:22 AM · Restricted Project, Restricted Project

Tue, Nov 17

simoll abandoned D71341: [VE,#4] Target vector intrinsics.

A good share of VE vector intrinsics have been upstreamed (see test/CodeGen/VE/VELIntrinsics/). No need to keep this reference patch around any longer.

Tue, Nov 17, 10:56 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
simoll requested review of D91646: [VE] VEC_BROADCAST, lowering and isel.
Tue, Nov 17, 10:34 AM · Restricted Project, Restricted Project
simoll added a comment to D91518: [LV][NFC-ish] Allow vector widths over 256 elements.

Here is that prior commit that changed this - i guess, we can just commit our change, if this looks good to you.

Tue, Nov 17, 8:45 AM · Restricted Project
simoll accepted D91619: [VE] Correct getMnemonic.
Tue, Nov 17, 5:13 AM · Restricted Project, Restricted Project
simoll accepted D91569: [VE] Add vbrd intrinsic instructions.
Tue, Nov 17, 1:11 AM · Restricted Project, Restricted Project
simoll accepted D91582: [VE] Implement JumpTable.

LGTM

Tue, Nov 17, 1:09 AM · Restricted Project, Restricted Project

Mon, Nov 16

simoll accepted D91541: [VE] Add lvm/svm intrinsic instructions.
Mon, Nov 16, 8:26 AM · Restricted Project, Restricted Project
simoll accepted D91539: [VE] Optimize leaf functions.

LGTM.
We should upstream the utils/update_llc_test_checks.py changes that were used to generate these tests.

Mon, Nov 16, 7:27 AM · Restricted Project, Restricted Project
simoll committed rGa598c08ac858: [VE] fastcc and vreg-to-vreg copy (authored by simoll).
[VE] fastcc and vreg-to-vreg copy
Mon, Nov 16, 7:25 AM
simoll closed D90842: [VE] fastcc and vreg-to-vreg copy.
Mon, Nov 16, 7:24 AM · Restricted Project, Restricted Project
simoll added inline comments to D91541: [VE] Add lvm/svm intrinsic instructions.
Mon, Nov 16, 7:22 AM · Restricted Project, Restricted Project
simoll planned changes to D78203: [VP,Integer,#2] ExpandVectorPredication pass.

Aside from my nitpicks, I was wondering if it's possible to add tests for the other strategies. Even if that involved a strategy that you could force on the command-line, since I know we don't have real TTIs just now. It would be nice to see that the pass behaves in the various ways it's meant to.

Mon, Nov 16, 5:23 AM · Restricted Project, Restricted Project
simoll accepted D91526: [VE] Add lsv/lvs intrinsic instructions.
Mon, Nov 16, 5:19 AM · Restricted Project, Restricted Project
simoll updated the diff for D90842: [VE] fastcc and vreg-to-vreg copy.
  • added vector param tests that trigger explicit vreg copies.
Mon, Nov 16, 5:17 AM · Restricted Project, Restricted Project
simoll updated the diff for D91441: [VP] Build VP SDNodes.
  • Rebased onto renaming patch (OC -> OPC)
Mon, Nov 16, 2:06 AM · Restricted Project, Restricted Project
simoll added a comment to D90842: [VE] fastcc and vreg-to-vreg copy.

Why is there no caller_varg_pass_v0 or caller_varg_pass_v0_and_v1 tests?

Mon, Nov 16, 1:57 AM · Restricted Project, Restricted Project
simoll accepted D91522: [VE] Add pfchv intrinsic instructions.
Mon, Nov 16, 1:50 AM · Restricted Project, Restricted Project
simoll committed rG0007d8ed2c0b: [VP][NFC] Rename to HANDLE_VP_TO_OPC (authored by simoll).
[VP][NFC] Rename to HANDLE_VP_TO_OPC
Mon, Nov 16, 1:24 AM
simoll requested review of D91518: [LV][NFC-ish] Allow vector widths over 256 elements.
Mon, Nov 16, 12:41 AM · Restricted Project
simoll added inline comments to D91441: [VP] Build VP SDNodes.
Mon, Nov 16, 12:37 AM · Restricted Project, Restricted Project
simoll committed rG1c00d096a608: [VE] LVLGen sets VL before vector insts (authored by simoll).
[VE] LVLGen sets VL before vector insts
Mon, Nov 16, 12:20 AM
simoll closed D91416: [VE] LVLGen sets VL before vector insts.
Mon, Nov 16, 12:20 AM · Restricted Project, Restricted Project
simoll updated the diff for D91416: [VE] LVLGen sets VL before vector insts.

NFC. Formatting.

Mon, Nov 16, 12:18 AM · Restricted Project, Restricted Project
simoll accepted D91490: [VE] Change variable capitalization.
Mon, Nov 16, 12:03 AM · Restricted Project, Restricted Project

Fri, Nov 13

simoll added a comment to D78203: [VP,Integer,#2] ExpandVectorPredication pass.

Linking this to the SelectionDAG patch: D91441

Fri, Nov 13, 9:39 AM · Restricted Project, Restricted Project
simoll requested review of D91441: [VP] Build VP SDNodes.
Fri, Nov 13, 9:36 AM · Restricted Project, Restricted Project
simoll abandoned D90850: [VE] LVLGen and vreg-to-vreg copy.

Split up into:

  • D91416 - the LVLGen patch
  • D90842 - the fastcc and vreg-to-vreg copy patch (requires LVLGen).
Fri, Nov 13, 7:59 AM · Restricted Project, Restricted Project
simoll updated the diff for D90842: [VE] fastcc and vreg-to-vreg copy.

Merged into one fastcc vreg-to-vreg patch

Fri, Nov 13, 7:57 AM · Restricted Project, Restricted Project
simoll planned changes to D90850: [VE] LVLGen and vreg-to-vreg copy.

Largely supserseeded by D91416 - the LVLGen patch.
I'll shrink this down/rename to just the vreg-to-vreg move change.

Fri, Nov 13, 6:12 AM · Restricted Project, Restricted Project
simoll updated the diff for D91416: [VE] LVLGen sets VL before vector insts.
  • Add a test case for non-changing VL after initial setting.
Fri, Nov 13, 5:06 AM · Restricted Project, Restricted Project
simoll requested review of D91416: [VE] LVLGen sets VL before vector insts.
Fri, Nov 13, 4:59 AM · Restricted Project, Restricted Project
simoll accepted D91406: [VE] Add vst intrinsic instructions.
Fri, Nov 13, 1:52 AM · Restricted Project, Restricted Project
simoll added a comment to D88905: [Clang] Allow "ext_vector_type" applied to Booleans.

Any comments for this one? Is this good to go?

Fri, Nov 13, 1:52 AM · Restricted Project

Thu, Nov 12

simoll accepted D91350: [VE] Disable -fsigaddr option for VE.
Thu, Nov 12, 8:32 AM · Restricted Project, Restricted Project
simoll accepted D91332: [VE] Support vld intrinsics.
Thu, Nov 12, 8:29 AM · Restricted Project, Restricted Project

Wed, Nov 11

simoll accepted D91301: [VE] Change the default type of v64 register class.
Wed, Nov 11, 11:50 PM · Restricted Project, Restricted Project
simoll accepted D91251: [VE] Support vector register in inline asm.
Wed, Nov 11, 5:56 AM · Restricted Project, Restricted Project
simoll abandoned D81083: [Clang] Allow "vector_size" applied to Booleans.

Taking this off the review queues - we will use the ext_vector_type attribute instead (D88905).

Wed, Nov 11, 1:00 AM · Restricted Project, Restricted Project

Tue, Nov 10

simoll accepted D91150: [VE] Implement FoldImmediate.
Tue, Nov 10, 6:51 AM · Restricted Project, Restricted Project
simoll accepted D91151: [VE][NFC] Change cast to dyn_cast.

No need for review here. You can commit this as is.

Tue, Nov 10, 4:47 AM · Restricted Project, Restricted Project