Page MenuHomePhabricator

frasercrmck (Fraser Cormack)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 1 2015, 8:58 AM (294 w, 21 h)

Recent Activity

Today

frasercrmck added inline comments to D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.
Tue, Jan 19, 3:12 AM · Restricted Project
frasercrmck updated the diff for D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.
  • rebase on main
  • only custom-lower for legal types
  • improve handling of illegal scalar types and splats thereof
Tue, Jan 19, 3:10 AM · Restricted Project
frasercrmck added inline comments to D94894: [RISCV] Add way to mark CompressPats that should only be used for compressing..
Tue, Jan 19, 1:49 AM · Restricted Project
frasercrmck committed rGc81ea9429f8d: [RISCV] Add scalable-vector integer extension patterns (authored by frasercrmck).
[RISCV] Add scalable-vector integer extension patterns
Tue, Jan 19, 1:37 AM
frasercrmck closed D94694: [RISCV] Add scalable-vector integer extension patterns.
Tue, Jan 19, 1:36 AM · Restricted Project

Yesterday

frasercrmck added inline comments to D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.
Mon, Jan 18, 8:30 AM · Restricted Project
frasercrmck updated the diff for D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.
  • rebase on main
  • fix conflicts
Mon, Jan 18, 7:51 AM · Restricted Project
frasercrmck updated the diff for D94694: [RISCV] Add scalable-vector integer extension patterns.

add pats for anyext: treat like zext for now

Mon, Jan 18, 7:45 AM · Restricted Project
frasercrmck accepted D94577: [RISCV] Remove addiwu, addwu, subwu, subuw, clmulw, clmulrw, clmulhw to match 0.93 bitmanip spec..

LGTM

Mon, Jan 18, 7:25 AM · Restricted Project
frasercrmck added inline comments to D94694: [RISCV] Add scalable-vector integer extension patterns.
Mon, Jan 18, 7:18 AM · Restricted Project
frasercrmck updated the diff for D94694: [RISCV] Add scalable-vector integer extension patterns.
  • rebase on main
Mon, Jan 18, 3:38 AM · Restricted Project
frasercrmck committed rGac603c8d3850: [RISCV] Add scalable vector truncate patterns (authored by frasercrmck).
[RISCV] Add scalable vector truncate patterns
Mon, Jan 18, 2:25 AM
frasercrmck closed D94796: [RISCV] Add scalable vector truncate patterns.
Mon, Jan 18, 2:25 AM · Restricted Project

Fri, Jan 15

frasercrmck accepted D94628: [RISCV] Add implementation of targetShrinkDemandedConstant to optimize AND immediates..

LGTM. I hadn't come across this function before so thanks for the intro.

Fri, Jan 15, 9:19 AM · Restricted Project
frasercrmck updated the diff for D94694: [RISCV] Add scalable-vector integer extension patterns.
  • fix up bad type mangling in tests (e.g. nx4i8 -> nxv4i8)
Fri, Jan 15, 9:18 AM · Restricted Project
frasercrmck requested review of D94796: [RISCV] Add scalable vector truncate patterns.
Fri, Jan 15, 9:14 AM · Restricted Project
frasercrmck added inline comments to D94628: [RISCV] Add implementation of targetShrinkDemandedConstant to optimize AND immediates..
Fri, Jan 15, 7:51 AM · Restricted Project
frasercrmck accepted D94580: [RISCV] Swap encodings of max and minu to match 0.93 bitmanip spec..

LGTM

Fri, Jan 15, 7:24 AM · Restricted Project
frasercrmck added inline comments to D94577: [RISCV] Remove addiwu, addwu, subwu, subuw, clmulw, clmulrw, clmulhw to match 0.93 bitmanip spec..
Fri, Jan 15, 7:23 AM · Restricted Project
frasercrmck accepted D94568: [RISCV] Rename pcnt->cpop to match 0.93 bitmanip spec..

LGTM from a change point of view. I can't really add to the discussion about how/when to switch from 0.92 to 0.93 so I'm not saying "merge right away" :)

Fri, Jan 15, 7:16 AM · Restricted Project
frasercrmck accepted D94751: [RISCV] Correct alignment settings for vector registers..

Makes sense to me. I think we'll have to handle "misaligned" vectors at some point too, since the DataLayout can only represent the alignment of vectors based on their overall size.

Fri, Jan 15, 7:15 AM · Restricted Project
frasercrmck added inline comments to D94294: [RISCV] Add scalable vector vselect ISel patterns.
Fri, Jan 15, 2:43 AM · Restricted Project
frasercrmck accepted D94750: [NFC][RISCV] Remove useless code in RISCVRegisterInfo.td..

LGTM

Fri, Jan 15, 1:26 AM · Restricted Project

Thu, Jan 14

frasercrmck requested review of D94694: [RISCV] Add scalable-vector integer extension patterns.
Thu, Jan 14, 8:09 AM · Restricted Project
frasercrmck added inline comments to D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.
Thu, Jan 14, 6:40 AM · Restricted Project
frasercrmck updated the diff for D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.
  • replace patterns with custom-lowering
Thu, Jan 14, 6:39 AM · Restricted Project

Wed, Jan 13

frasercrmck requested review of D94615: [RISCV][WIP] Add RVV insertelt/extractelt scalable-vector patterns.
Wed, Jan 13, 10:17 AM · Restricted Project
frasercrmck accepted D94584: [NFC][RISCV] Add double type in RISC-V V CodeGen test cases for RV32..

A few too many changes to look over one-by-one, and my browser is chugging, but from what I've seen: LGTM.

Wed, Jan 13, 6:26 AM · Restricted Project
frasercrmck requested review of D94594: [RISCV] Extend RVV VType info with the type's AVL (NFC).
Wed, Jan 13, 5:46 AM · Restricted Project
frasercrmck requested review of D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.
Wed, Jan 13, 4:38 AM · Restricted Project

Tue, Jan 12

frasercrmck added inline comments to D94501: [SelectionDAG] Support scalable-vector splats in more cases.
Tue, Jan 12, 8:52 AM · Restricted Project
frasercrmck updated subscribers of D94501: [SelectionDAG] Support scalable-vector splats in more cases.

@c-rhodes or @david-arm I've updated the AArch64 tests naively but I thought I'd tag you in case you don't intend to be shifting out all bits.

Tue, Jan 12, 8:15 AM · Restricted Project
frasercrmck requested review of D94501: [SelectionDAG] Support scalable-vector splats in more cases.
Tue, Jan 12, 8:12 AM · Restricted Project
frasercrmck committed rG09db958e37b3: [RISCV] Improve scalable-vector shift tests (NFC) (authored by frasercrmck).
[RISCV] Improve scalable-vector shift tests (NFC)
Tue, Jan 12, 3:47 AM
frasercrmck accepted D94450: [LegalizeDAG][RISCV][PowerPC][AMDGPU][WebAssembly] Improve expansion of SETONE/SETUEQ on targets without SETO/SETUO..

LGTM other than my suggestion.

Tue, Jan 12, 2:37 AM · Restricted Project
frasercrmck accepted D94471: [NFC] Use generic name for scalable vector stack ID..

LGTM

Tue, Jan 12, 1:15 AM · Restricted Project
frasercrmck accepted D94459: [RISCV] Use vmerge.vim for llvm.riscv.vfmerge with a 0.0 scalar operand..

LGTM.

Tue, Jan 12, 1:13 AM · Restricted Project

Mon, Jan 11

frasercrmck committed rG9ecc991c5596: [RISCV] Add scalable vector vselect ISel patterns (authored by frasercrmck).
[RISCV] Add scalable vector vselect ISel patterns
Mon, Jan 11, 2:48 PM
frasercrmck closed D94294: [RISCV] Add scalable vector vselect ISel patterns.
Mon, Jan 11, 2:48 PM · Restricted Project
frasercrmck committed rG7989684a2e4a: [RISCV] Add scalable vector fadd/fsub/fmul/fdiv ISel patterns (authored by frasercrmck).
[RISCV] Add scalable vector fadd/fsub/fmul/fdiv ISel patterns
Mon, Jan 11, 1:26 PM
frasercrmck closed D94408: [RISCV] Add scalable vector fadd/fsub/fmul/fdiv ISel patterns.
Mon, Jan 11, 1:26 PM · Restricted Project
frasercrmck updated the diff for D94294: [RISCV] Add scalable vector vselect ISel patterns.

rebase on main

Mon, Jan 11, 11:52 AM · Restricted Project
frasercrmck updated the diff for D94408: [RISCV] Add scalable vector fadd/fsub/fmul/fdiv ISel patterns.

rebase on main

Mon, Jan 11, 11:47 AM · Restricted Project
frasercrmck committed rG37b41bd0879e: [RISCV] Add scalable vector fcmp ISel patterns (authored by frasercrmck).
[RISCV] Add scalable vector fcmp ISel patterns
Mon, Jan 11, 11:45 AM
frasercrmck closed D94242: [RISCV] Add scalable vector fcmp ISel patterns.
Mon, Jan 11, 11:45 AM · Restricted Project
frasercrmck requested review of D94408: [RISCV] Add scalable vector fadd/fsub/fmul/fdiv ISel patterns.
Mon, Jan 11, 6:17 AM · Restricted Project
frasercrmck updated the summary of D94242: [RISCV] Add scalable vector fcmp ISel patterns.
Mon, Jan 11, 3:50 AM · Restricted Project
frasercrmck added inline comments to D94242: [RISCV] Add scalable vector fcmp ISel patterns.
Mon, Jan 11, 3:48 AM · Restricted Project
frasercrmck updated the diff for D94242: [RISCV] Add scalable vector fcmp ISel patterns.

expand o?(gt|ge) operations
support both vf and fv for all operations

Mon, Jan 11, 3:45 AM · Restricted Project
frasercrmck updated the diff for D94242: [RISCV] Add scalable vector fcmp ISel patterns.
  • rebase on main
  • add optimization for fpimm0
Mon, Jan 11, 2:08 AM · Restricted Project
frasercrmck added inline comments to D94294: [RISCV] Add scalable vector vselect ISel patterns.
Mon, Jan 11, 1:59 AM · Restricted Project
frasercrmck updated the diff for D94294: [RISCV] Add scalable vector vselect ISel patterns.
  • rebase on main
  • add optimization and tests for fp select w/ zero
Mon, Jan 11, 1:47 AM · Restricted Project

Sat, Jan 9

frasercrmck committed rGb02eab9058e5: [RISCV] Add scalable vector icmp ISel patterns (authored by frasercrmck).
[RISCV] Add scalable vector icmp ISel patterns
Sat, Jan 9, 1:02 PM
frasercrmck committed rG41d06095b0d2: [SelectionDAG] Teach isConstOrConstSplat about ISD::SPLAT_VECTOR (authored by frasercrmck).
[SelectionDAG] Teach isConstOrConstSplat about ISD::SPLAT_VECTOR
Sat, Jan 9, 1:02 PM
frasercrmck closed D94168: [RISCV] Add scalable vector icmp ISel patterns.
Sat, Jan 9, 1:02 PM · Restricted Project
frasercrmck committed rGde373ef77988: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR (authored by frasercrmck).
[SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR
Sat, Jan 9, 9:12 AM
frasercrmck closed D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.
Sat, Jan 9, 9:11 AM · Restricted Project
frasercrmck updated the diff for D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.

rebase on main
change std::string to StringRef

Sat, Jan 9, 3:59 AM · Restricted Project
frasercrmck committed rG2c442629f0bd: [RISCV] Add tests for scalable constant-folding (NFC) (authored by frasercrmck).
[RISCV] Add tests for scalable constant-folding (NFC)
Sat, Jan 9, 3:38 AM

Fri, Jan 8

frasercrmck updated the diff for D94168: [RISCV] Add scalable vector icmp ISel patterns.

update comment a little

Fri, Jan 8, 8:10 AM · Restricted Project
frasercrmck added a comment to D94299: [NFC][AsmPrinter] Make comments for spill/reload more precise..

LGTM. The only thing I'd say is that "Unknown size" isn't an adjective like "4-byte" is. I'm not sure if "Unknown-sized" is any better, though.

Fri, Jan 8, 8:07 AM · Restricted Project
frasercrmck updated the diff for D94168: [RISCV] Add scalable vector icmp ISel patterns.
  • fix an infinite loop with setcc + two constant splats
  • add a regression test for it
Fri, Jan 8, 8:06 AM · Restricted Project
frasercrmck requested review of D94294: [RISCV] Add scalable vector vselect ISel patterns.
Fri, Jan 8, 4:23 AM · Restricted Project
frasercrmck added inline comments to D94242: [RISCV] Add scalable vector fcmp ISel patterns.
Fri, Jan 8, 3:22 AM · Restricted Project
frasercrmck updated the diff for D94242: [RISCV] Add scalable vector fcmp ISel patterns.
  • add tests with no-nans attributes
Fri, Jan 8, 3:21 AM · Restricted Project
frasercrmck added a comment to D93766: [VP] ISD helper functions [VE] isel for vp_add, vp_and.

LGTM. Had to double-check that things were #undef...fed at the end of the header.

Fri, Jan 8, 2:57 AM · Restricted Project, Restricted Project, Restricted Project
frasercrmck updated the summary of D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.
Fri, Jan 8, 2:25 AM · Restricted Project
frasercrmck updated the diff for D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.
  • fix immAll(Ones|Zeros)V when used as root
  • use that in RVV patterns
Fri, Jan 8, 2:19 AM · Restricted Project
frasercrmck updated the diff for D94168: [RISCV] Add scalable vector icmp ISel patterns.
  • update type check
  • add scalar/vector fixme to tests
Fri, Jan 8, 1:45 AM · Restricted Project
frasercrmck added inline comments to D94168: [RISCV] Add scalable vector icmp ISel patterns.
Fri, Jan 8, 1:37 AM · Restricted Project
frasercrmck added inline comments to D94242: [RISCV] Add scalable vector fcmp ISel patterns.
Fri, Jan 8, 1:23 AM · Restricted Project
frasercrmck added a comment to D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.

New idea, just pick opcode based on the node value type being a scalable vector.

Note, I had to use std::string because getSDNodeNamed takes a const std::string &. I'll investigate changing it to StringRef. We only ever call it with string literals so it's dumb to force a std::string temporary.

Fri, Jan 8, 1:18 AM · Restricted Project
frasercrmck accepted D94024: [RISCV] Clear isCodeGenOnly flag on VMSGE(U) pseudo instructions. Remove InstAliases that duplicate the asm strings in the pseudos..

Thanks for clarifying. LGTM.

Fri, Jan 8, 1:10 AM · Restricted Project

Thu, Jan 7

frasercrmck requested review of D94242: [RISCV] Add scalable vector fcmp ISel patterns.
Thu, Jan 7, 9:39 AM · Restricted Project
frasercrmck updated the diff for D94168: [RISCV] Add scalable vector icmp ISel patterns.
  • improve test coverage for setcc with VX/VI on LHS
  • cut down on uninteresting VI test cases to compensate
Thu, Jan 7, 8:59 AM · Restricted Project
frasercrmck added a reviewer for D94168: [RISCV] Add scalable vector icmp ISel patterns: c-rhodes.

@c-rhodes, could you possibly check that the changes to the AArch64 tests are okay? The whilelo one is a bit confusing.

Thu, Jan 7, 8:42 AM · Restricted Project
frasercrmck updated the diff for D94168: [RISCV] Add scalable vector icmp ISel patterns.
  • Support SPLAT_VECTOR in llvm::isConstOrConstSplat
  • Adjust RISCV and AArch64 tests accordingly
Thu, Jan 7, 8:40 AM · Restricted Project
frasercrmck added inline comments to D94168: [RISCV] Add scalable vector icmp ISel patterns.
Thu, Jan 7, 7:53 AM · Restricted Project
frasercrmck added a comment to D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.

Ah. I've encountered a hiccup when fixing this up so SPLAT_VECTOR can be used as a root of immAllOnesV and immAllZerosV, e.g.

Thu, Jan 7, 6:40 AM · Restricted Project
frasercrmck added a comment to D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.

This seems to be missing test coverage.

Thu, Jan 7, 4:04 AM · Restricted Project
frasercrmck updated the diff for D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.
  • update documentation
Thu, Jan 7, 4:00 AM · Restricted Project
frasercrmck requested review of D94223: [SelectionDAG] Extend immAll(Ones|Zeros)V to handle ISD::SPLAT_VECTOR.
Thu, Jan 7, 3:50 AM · Restricted Project
frasercrmck added a comment to D94024: [RISCV] Clear isCodeGenOnly flag on VMSGE(U) pseudo instructions. Remove InstAliases that duplicate the asm strings in the pseudos..

Sorry, haven't felt able to review this as I don't get the original problem well enough. Because it looks to me like the aliases permitted matches, e.g. vmsgeu.vx $vd, $va, $rs1 which wasn't matching because it was unmasked? It's just that the comment says the "alias .. prevents matching" which throws me off as that's the opposite of what I thought they were for.

Thu, Jan 7, 2:09 AM · Restricted Project
frasercrmck committed rGc9154e8fa377: [RISCV] Add vector mask arithmetic ISel patterns (authored by frasercrmck).
[RISCV] Add vector mask arithmetic ISel patterns
Thu, Jan 7, 1:49 AM
frasercrmck closed D94078: [RISCV] Add vector mask arithmetic ISel patterns.
Thu, Jan 7, 1:49 AM · Restricted Project
frasercrmck updated the diff for D94078: [RISCV] Add vector mask arithmetic ISel patterns.

rebase onto main

Thu, Jan 7, 12:59 AM · Restricted Project

Wed, Jan 6

frasercrmck updated the diff for D94168: [RISCV] Add scalable vector icmp ISel patterns.

fix an operand class and fix a comment

Wed, Jan 6, 9:12 AM · Restricted Project
frasercrmck updated the diff for D94168: [RISCV] Add scalable vector icmp ISel patterns.
  • clarify comment a little
Wed, Jan 6, 5:04 AM · Restricted Project
frasercrmck added a comment to D94168: [RISCV] Add scalable vector icmp ISel patterns.

I'm perhaps testing too many immediates here and should reduce the testing of edge-cases to those instructions that will actually make use of them.

Wed, Jan 6, 5:01 AM · Restricted Project
frasercrmck requested review of D94168: [RISCV] Add scalable vector icmp ISel patterns.
Wed, Jan 6, 4:56 AM · Restricted Project
frasercrmck committed rG6e6e24bb09c7: [ValueTypes] Fix formatting on scalable vector warning (NFC) (authored by frasercrmck).
[ValueTypes] Fix formatting on scalable vector warning (NFC)
Wed, Jan 6, 3:34 AM
frasercrmck added inline comments to D94078: [RISCV] Add vector mask arithmetic ISel patterns.
Wed, Jan 6, 1:44 AM · Restricted Project
frasercrmck added a comment to D94149: [RISCV] Add a partial test of vector sadd.overflow to demonstrate intrinsics with multiple scalable vector results..

I was actually going to take the time today/tomorrow to push a patch with what I have for setcc for review. Is that all you need to get on your way to better support for the overflow result?

Wed, Jan 6, 1:33 AM · Restricted Project
frasercrmck committed rGe130dea92a8a: [RISCV] Add vector integer mul/mulh/div/rem ISel patterns (authored by frasercrmck).
[RISCV] Add vector integer mul/mulh/div/rem ISel patterns
Wed, Jan 6, 1:30 AM
frasercrmck closed D94073: [RISCV] Add vector integer mul/mulh/div/rem ISel patterns.
Wed, Jan 6, 1:30 AM · Restricted Project
frasercrmck updated the summary of D94073: [RISCV] Add vector integer mul/mulh/div/rem ISel patterns.
Wed, Jan 6, 12:47 AM · Restricted Project
frasercrmck added a comment to D94073: [RISCV] Add vector integer mul/mulh/div/rem ISel patterns.

I think this specific issue on REM should be fixed after 4ef91f5871a3c38bb2324f89b47a2a845e8a33fd

Wed, Jan 6, 12:46 AM · Restricted Project
frasercrmck updated the diff for D94073: [RISCV] Add vector integer mul/mulh/div/rem ISel patterns.
  • rebase and reenable urem tests
Wed, Jan 6, 12:43 AM · Restricted Project

Tue, Jan 5

frasercrmck accepted D94070: [RISCV] Match vmslt(u).vx intrinsics with a small immediate to vmsle(u).vx..

LGTM other than my minor nit.

Tue, Jan 5, 6:37 AM · Restricted Project
frasercrmck added inline comments to D94078: [RISCV] Add vector mask arithmetic ISel patterns.
Tue, Jan 5, 6:33 AM · Restricted Project