Page MenuHomePhabricator

lenary (Sam Elliott)
Senior Compiler Engineer at Arm

Projects

User does not belong to any projects.

User Details

User Since
Nov 21 2016, 2:12 PM (230 w, 1 d)

Recent Activity

Yesterday

lenary resigned from D100769: [RISCV] Refactor an optimization of addition with immediate.
Mon, Apr 19, 11:27 AM · Restricted Project

Mar 3 2021

lenary committed rT6aa6da934c6e: [test-suite] Fix Unit Tests for Code Coverage (authored by lenary).
[test-suite] Fix Unit Tests for Code Coverage
Mar 3 2021, 2:32 AM
lenary closed D97686: [test-suite] Fix Unit Tests for Code Coverage.
Mar 3 2021, 2:32 AM

Mar 2 2021

lenary added a comment to D97686: [test-suite] Fix Unit Tests for Code Coverage.

Hi Sam,

the overall patch looks good to me, I just spot that these macros are explicitly defined into SingleSource/Regression/C/casts.c if PRId64 doesn't exist.
So I wonder if this guarf is needed on some plateform

Mar 2 2021, 2:15 AM

Mar 1 2021

lenary added a comment to D88931: [test-suite] Unit tests to improve code coverage.

Follow-up patch is https://reviews.llvm.org/D97686

Mar 1 2021, 3:04 PM
lenary requested review of D97686: [test-suite] Fix Unit Tests for Code Coverage.
Mar 1 2021, 7:03 AM
lenary added a comment to D94949: [AArch64][RegAllocFast] Add findSpillBefore to TargetRegisterInfo.

Some comments below, in addition to these questions

Mar 1 2021, 7:00 AM · Restricted Project

Feb 24 2021

lenary added a comment to D88931: [test-suite] Unit tests to improve code coverage.

Cool, I have a patch to update to the right specifiers, and to update the reference output where it has changed (005 and 007 have unsigned numbers being printed as signed, and showing up in the current output as negative).

Feb 24 2021, 9:36 AM

Feb 23 2021

lenary added a comment to D88931: [test-suite] Unit tests to improve code coverage.

@afd Some nits about changing the printfs. I have so far presumed that where a number is unsigned, you want me to print it as unsigned (using "%u" or equivalent via inttypes.h), and where it is signed, you want me to print it using "%i" (or equivalent). It raised some questions, below.

Feb 23 2021, 1:30 PM
lenary added a comment to D88931: [test-suite] Unit tests to improve code coverage.

I'll commit a fix that uses the inttypes macros.

Feb 23 2021, 12:55 PM

Feb 19 2021

lenary added a comment to D88931: [test-suite] Unit tests to improve code coverage.

Yeah, I can land this for you, I'll try and do that today.

Feb 19 2021, 1:56 AM

Feb 15 2021

lenary updated lenary.
Feb 15 2021, 3:05 AM

Feb 13 2021

lenary added a comment to D92842: [RFC][SelectionDAG] Add Target-Independent Compiler Barrier.

@lenary Do you need to update something? There are three tests fail according to the log.

Feb 13 2021, 5:44 AM · Restricted Project
lenary accepted D96521: [test-suite] Remove GCC-C-execute-eeprof-1.

I did a quick look for what had caused this, and it seems it's related to the switch to the new pass manager, and a commit that was marked NFC and wasn't. I've asked the relevant part of the commit to be reverted.

Feb 13 2021, 5:41 AM
lenary added inline comments to rG3a7b57b7cad3: [NFC][NewPM] Reuse PassBuilder callbacks with -O0.
Feb 13 2021, 5:33 AM

Jan 26 2021

lenary updated subscribers of D82988: [RISCV] Avoid Splitting MBB in RISCVExpandPseudo.

@luismarques @asb @mundaym Please can one of you take over this patch if lowRISC intends to keep working on it? I do realise that we weren't sure what the scheduling/performance payoff would be from this work, and it was showing some pretty obscure bugs.

Jan 26 2021, 1:24 PM · Restricted Project

Jan 19 2021

lenary accepted D94730: [RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if we can prove X is 0/1..
Jan 19 2021, 8:40 AM · Restricted Project
lenary added a comment to D94730: [RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if we can prove X is 0/1..

LGTM

Jan 19 2021, 8:40 AM · Restricted Project

Jan 18 2021

lenary committed rGb42ff9fb0382: [RISCV][NFC] Increase test coverage of Zbt extension (authored by mundaym).
[RISCV][NFC] Increase test coverage of Zbt extension
Jan 18 2021, 9:31 AM
lenary closed D94798: [RISCV][NFC] Increase test coverage of Zbt extension.
Jan 18 2021, 9:31 AM · Restricted Project
lenary accepted D94798: [RISCV][NFC] Increase test coverage of Zbt extension.

LGTM. I'll land this for you today.

Jan 18 2021, 9:09 AM · Restricted Project

Jan 15 2021

lenary added inline comments to D94730: [RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if we can prove X is 0/1..
Jan 15 2021, 8:36 AM · Restricted Project
lenary accepted rGbf1aa5db5c76: [RISCV][NFC] Fix order of parameters in cmov ge/le tests.

Sorry, I meant to accept this before it landed.

Jan 15 2021, 7:42 AM
lenary committed rGbf1aa5db5c76: [RISCV][NFC] Fix order of parameters in cmov ge/le tests (authored by mundaym).
[RISCV][NFC] Fix order of parameters in cmov ge/le tests
Jan 15 2021, 7:37 AM
lenary closed D94729: [RISCV][NFC] Fix order of parameters in cmov ge/le tests.
Jan 15 2021, 7:37 AM · Restricted Project
lenary committed rG141e45b99ca0: [RISCV] Optimize Branch Comparisons (authored by lenary).
[RISCV] Optimize Branch Comparisons
Jan 15 2021, 3:29 AM
lenary closed D94535: [RISCV] Optimize Branch Comparisons.
Jan 15 2021, 3:29 AM · Restricted Project
lenary added inline comments to D70401: [WIP][RISCV] Implement ilp32e ABI.
Jan 15 2021, 1:51 AM · Restricted Project, Restricted Project
lenary updated the diff for D70401: [WIP][RISCV] Implement ilp32e ABI.

Address @jrtc27's Feedback:

Jan 15 2021, 1:43 AM · Restricted Project, Restricted Project
lenary updated the summary of D70401: [WIP][RISCV] Implement ilp32e ABI.
Jan 15 2021, 1:24 AM · Restricted Project, Restricted Project

Jan 14 2021

lenary added inline comments to D70401: [WIP][RISCV] Implement ilp32e ABI.
Jan 14 2021, 4:22 PM · Restricted Project, Restricted Project
lenary updated the diff for D70401: [WIP][RISCV] Implement ilp32e ABI.
  • Add Variadic Testcase
Jan 14 2021, 4:21 PM · Restricted Project, Restricted Project
lenary updated the diff for D70401: [WIP][RISCV] Implement ilp32e ABI.
  • Provide correct datalayout
  • Add clang support and tests
  • Modify fp reservation code so we don't always use a frame pointer, even if we conservatively reserve it when using ilp32e + D extension.
Jan 14 2021, 3:54 PM · Restricted Project, Restricted Project
lenary committed rG8a53a7375a86: [RISCV][NFC] Regenerate Calling Convention Tests (authored by lenary).
[RISCV][NFC] Regenerate Calling Convention Tests
Jan 14 2021, 2:37 PM
lenary accepted D94546: [RISCV] Optimize select_cc after fp compare expansion.

LGTM! Thanks!

Jan 14 2021, 1:23 PM · Restricted Project
lenary resigned from D94591: [VE] Support VE in libunwind.
Jan 14 2021, 11:42 AM · Restricted Project, Restricted Project, Restricted Project
lenary resigned from D92403: [LSan][RISCV] Enable LSan for RISCV64.
Jan 14 2021, 11:40 AM · Restricted Project, Restricted Project
lenary resigned from D91931: [RISCV][GlobalISel] Select add i32, i32.
Jan 14 2021, 11:39 AM · Restricted Project
lenary resigned from D90574: [Sanitizer][RISCV] Fix FastUnwindTest.
Jan 14 2021, 11:39 AM · Restricted Project
lenary resigned from D75683: [NFC][RISCV][GlobalISel] Move test file into irtranslator subdirectory.
Jan 14 2021, 11:33 AM · Restricted Project
lenary resigned from D71387: pass -mabi to LTO linker only in RISC-V targets, enable RISC-V LTO.
Jan 14 2021, 11:33 AM · Restricted Project
lenary resigned from D92464: [compiler-rt][builtins][RISCV] Port __clear_cache to RISC-V baremetal.
Jan 14 2021, 11:32 AM · Restricted Project
lenary resigned from D70426: [DAGCombiner][RISCV] Avoid FCOPYSIGN folding of legalizing operand casts.
Jan 14 2021, 11:08 AM · Restricted Project
lenary resigned from D67661: [RISCV] Headers: Add Bitmanip extension Clang header files and rvintrin.h.
Jan 14 2021, 11:07 AM · Restricted Project, Restricted Project
lenary resigned from D69808: [RISCV GlobalISel] Add lowerReturn for calling conv..
Jan 14 2021, 11:07 AM · Restricted Project
lenary resigned from D70064: [DAGCombiner][TargetLowering] FCOPYSIGN mixed types legality.
Jan 14 2021, 11:07 AM · Restricted Project
lenary resigned from D66479: [RISCV] Add LLVM intrinsics for the Bit Manipulation extension.
Jan 14 2021, 10:27 AM · Restricted Project
lenary resigned from D66340: [RISCV] Support NonLazyBind.
Jan 14 2021, 10:26 AM · Restricted Project
lenary resigned from D73643: [RISCV] Macro Fusion for RISC-V.
Jan 14 2021, 10:10 AM · Restricted Project
lenary resigned from D74977: [WIP][RISCV][GlobalISel] Add lowerFormalArguments for calling convention.
Jan 14 2021, 10:10 AM · Restricted Project
lenary resigned from D75023: [WIP][RISCV][GlobalISel] Add lowerCall for calling convention.
Jan 14 2021, 10:10 AM · Restricted Project
lenary resigned from D76051: [WIP][RISCV][GlobalISel] Select register banks for GPR ALU instructions.
Jan 14 2021, 10:10 AM · Restricted Project
lenary resigned from D76354: [WIP][RISCV][GlobalISel] Legalize types for ALU operations.
Jan 14 2021, 10:10 AM · Restricted Project
lenary accepted D88931: [test-suite] Unit tests to improve code coverage.

There's one warning to fix (which should be trivial), and then I'm happy for this to land. Given the warning, the fix will hopefully be obvious?

Jan 14 2021, 10:09 AM
lenary resigned from D81391: [RISC-V] Do not crash when using -ftrapping-math.
Jan 14 2021, 10:00 AM · Restricted Project
lenary resigned from D80690: [RISCV] Support libunwind for riscv32.
Jan 14 2021, 10:00 AM · Restricted Project, Restricted Project
lenary resigned from D79492: [RISCV] Improve constant materialization.
Jan 14 2021, 9:59 AM · Restricted Project
lenary resigned from D78702: [RFC][RISCV][MC/Objdump] Extend llvm-objdump output to support more instruction patterns.
Jan 14 2021, 9:59 AM · Restricted Project
lenary edited reviewers for D78035: [PoC][RISCV] enable LTO/ThinLTO on RISCV, added: asb, luismarques; removed: lenary.
Jan 14 2021, 9:56 AM · Restricted Project, Restricted Project
lenary resigned from D81946: [WIP][RISCV] Enable multilib support even without a detected GCC install.
Jan 14 2021, 9:50 AM · Restricted Project
lenary resigned from D83229: [RISCV][WIP] Improve RV32 constant materialization.
Jan 14 2021, 9:49 AM · Restricted Project
lenary resigned from D86195: [RISC-V] Add support for AddressSanitizer on RISC-V GCC.
Jan 14 2021, 9:49 AM
lenary resigned from D86198: llvm enable sanitizer (RISCV64).
Jan 14 2021, 9:49 AM
lenary accepted D89621: Link libm in the complex-5.c testcase.
Jan 14 2021, 9:46 AM
lenary resigned from D90853: [RISCV] Add DAG nodes to represent read/write CSR.
Jan 14 2021, 9:46 AM · Restricted Project
lenary resigned from D90854: [RISCV] Custom lowering of FLT_ROUNDS_.
Jan 14 2021, 9:46 AM · Restricted Project
lenary accepted D91052: [WebAssembly] Fix NaN handling when converting FP types.

The reasoning behind this seems solid, but I'd like someone from the webassembly backend to chime in.

Jan 14 2021, 9:45 AM · Restricted Project
lenary resigned from D91242: [RISCV] Custom lowering of SET_ROUNDING.
Jan 14 2021, 9:44 AM · Restricted Project
lenary resigned from D91717: [RISCV][compiler-rt] Add support for save-restore.
Jan 14 2021, 9:44 AM · Restricted Project
lenary resigned from D91719: [RISCV] Add support for using -msave-restore with tailcalls.
Jan 14 2021, 9:43 AM · Restricted Project
lenary resigned from D92105: [RISCV] Add pre-emit pass to make more instructions compressible.
Jan 14 2021, 9:43 AM · Restricted Project
lenary accepted D92124: [CMake][compiler-rt][RISCV] Support RISC-V cross-compilation.

LGTM

Jan 14 2021, 9:43 AM · Restricted Project
lenary resigned from D92228: [RISCV] Add MIR tests exposing missed InstAliases.
Jan 14 2021, 9:42 AM · Restricted Project
lenary resigned from D92479: [RISCV] remove redundant instruction when eliminate frame index.
Jan 14 2021, 9:42 AM · Restricted Project
lenary added inline comments to D93804: [RISCV] Spilling for RISC-V V extension..
Jan 14 2021, 9:42 AM · Restricted Project
lenary added inline comments to D94546: [RISCV] Optimize select_cc after fp compare expansion.
Jan 14 2021, 9:38 AM · Restricted Project
lenary resigned from D94628: [RISCV] Add implementation of targetShrinkDemandedConstant to optimize AND immediates..
Jan 14 2021, 9:28 AM · Restricted Project
lenary resigned from D94582: [RISCV] Rename mnemonics slliu.w->slli.uw and addu.w->add.uw to match 0.93 bitmanip spec..
Jan 14 2021, 9:26 AM · Restricted Project, Restricted Project
lenary resigned from D94580: [RISCV] Swap encodings of max and minu to match 0.93 bitmanip spec..
Jan 14 2021, 9:25 AM · Restricted Project
lenary resigned from D94579: [RISCV] add the MC layer support of P extension.
Jan 14 2021, 9:25 AM · Restricted Project
lenary resigned from D94577: [RISCV] Remove addiwu, addwu, subwu, subuw, clmulw, clmulrw, clmulhw to match 0.93 bitmanip spec..
Jan 14 2021, 9:25 AM · Restricted Project
lenary resigned from D94568: [RISCV] Rename pcnt->cpop to match 0.93 bitmanip spec..
Jan 14 2021, 9:25 AM · Restricted Project
lenary resigned from D94617: [RISCV] Add Zba feature and move add.uw and slli.uw to it..
Jan 14 2021, 9:23 AM · Restricted Project, Restricted Project
lenary resigned from D94637: [RISCV] Add SH*ADD(.UW) instructions to Zba extension based on 0.93 bitmanip spec..
Jan 14 2021, 9:22 AM · Restricted Project
lenary resigned from D94652: [RISCV] Move Shift Ones instructions from Zbb to Zbp to match 0.93 bitmanip spec..
Jan 14 2021, 9:22 AM · Restricted Project
lenary resigned from D94653: [RISCV] Rename Zbs instructions to start with just 'b' instead of 'sb' to match 0.93 bitmanip spec..
Jan 14 2021, 9:21 AM · Restricted Project
lenary resigned from D93767: [RISCV] Legalize select when Zbt extension available.
Jan 14 2021, 8:48 AM · Restricted Project
lenary reopened D93767: [RISCV] Legalize select when Zbt extension available.

We've found some issues in testing, so for the moment I've reverted this patch in rG7c9c2a2ea5e3760d7310309c96c9a4ce41fa4d9b.

Jan 14 2021, 8:47 AM · Restricted Project
lenary added a reverting change for rG71ed4b6ce57d: [RISCV] Legalize select when Zbt extension available: rG7c9c2a2ea5e3: Revert "[RISCV] Legalize select when Zbt extension available".
Jan 14 2021, 8:45 AM
lenary committed rG7c9c2a2ea5e3: Revert "[RISCV] Legalize select when Zbt extension available" (authored by lenary).
Revert "[RISCV] Legalize select when Zbt extension available"
Jan 14 2021, 8:45 AM
lenary added a reverting change for D93767: [RISCV] Legalize select when Zbt extension available: rG7c9c2a2ea5e3: Revert "[RISCV] Legalize select when Zbt extension available".
Jan 14 2021, 8:45 AM · Restricted Project

Jan 13 2021

lenary added a comment to D53291: add riscv32e to the llvm.

Are you have plans to promote the codegen of rv32e, if not, I want to try it

It was my plan to work on it further, but that won't happen. The place to start is with support for the ilp32e ABI, and then add rv32e support after that.

Jan 13 2021, 4:50 AM · Restricted Project

Jan 12 2021

lenary added inline comments to D94535: [RISCV] Optimize Branch Comparisons.
Jan 12 2021, 2:11 PM · Restricted Project
lenary updated the diff for D94535: [RISCV] Optimize Branch Comparisons.
  • Add comments in line with review feedback.
Jan 12 2021, 2:11 PM · Restricted Project
lenary committed rG71ed4b6ce57d: [RISCV] Legalize select when Zbt extension available (authored by mundaym).
[RISCV] Legalize select when Zbt extension available
Jan 12 2021, 1:25 PM
lenary closed D93767: [RISCV] Legalize select when Zbt extension available.
Jan 12 2021, 1:24 PM · Restricted Project
lenary accepted D93767: [RISCV] Legalize select when Zbt extension available.

I'm going to look into removing more of the xori … 1 which are used by the selects in some of these cases.

Jan 12 2021, 1:13 PM · Restricted Project
lenary added a comment to D94546: [RISCV] Optimize select_cc after fp compare expansion.

For a moment I thought this was doing what D94535 is, but more elegantly, but I now see it's for SELECT, not brcond.

Jan 12 2021, 12:52 PM · Restricted Project
lenary added a comment to D92842: [RFC][SelectionDAG] Add Target-Independent Compiler Barrier.

@arsenm Please may you clarify why you think the scope is still useful to represent this late?

Jan 12 2021, 12:32 PM · Restricted Project
lenary requested review of D94535: [RISCV] Optimize Branch Comparisons.
Jan 12 2021, 11:22 AM · Restricted Project