Page MenuHomePhabricator

lewis-revill (Lewis Revill)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 31 2018, 10:55 AM (55 w, 3 d)

Recent Activity

Thu, Aug 22

lewis-revill added inline comments to D66210: [RFC/WIP][RISCV] Enable the machine outliner for RISC-V.
Thu, Aug 22, 2:43 AM · Restricted Project
lewis-revill updated the diff for D66210: [RFC/WIP][RISCV] Enable the machine outliner for RISC-V.

Rebased and addressed a couple of comments.

Thu, Aug 22, 2:43 AM · Restricted Project

Tue, Aug 20

lewis-revill updated the diff for D62190: [RISCV] Allow shrink wrapping for RISC-V.

Rebased, and modified the logic to find the insertion point for the epilogue code.

Tue, Aug 20, 4:42 AM · Restricted Project
lewis-revill updated the diff for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Rebased.

Tue, Aug 20, 4:42 AM · Restricted Project

Mon, Aug 19

lewis-revill added inline comments to D66210: [RFC/WIP][RISCV] Enable the machine outliner for RISC-V.
Mon, Aug 19, 4:49 AM · Restricted Project

Fri, Aug 16

lewis-revill committed rGd3f774d33cd1: [RISCV] Allow parsing of bare symbols with offsets (authored by lewis-revill).
[RISCV] Allow parsing of bare symbols with offsets
Fri, Aug 16, 5:04 AM
lewis-revill committed rL369097: [RISCV] Allow parsing of bare symbols with offsets.
[RISCV] Allow parsing of bare symbols with offsets
Fri, Aug 16, 5:03 AM
lewis-revill closed D57332: [RISCV] Allow parsing of bare symbols with offsets.
Fri, Aug 16, 5:03 AM · Restricted Project
lewis-revill closed D54296: [RISCV] Lower inline asm constraint A for RISC-V.

Committed (ill formed commit message so phabricator did not pick it up)

Fri, Aug 16, 3:41 AM · Restricted Project
lewis-revill added an edge to rL369095: [RISCV] Lower inline asm constraint A for RISC-V: D54296: [RISCV] Lower inline asm constraint A for RISC-V.
Fri, Aug 16, 3:41 AM
lewis-revill added 1 commit(s) for D54296: [RISCV] Lower inline asm constraint A for RISC-V: rL369095: [RISCV] Lower inline asm constraint A for RISC-V.
Fri, Aug 16, 3:41 AM · Restricted Project
lewis-revill committed rG7abf863f761c: [RISCV] Lower inline asm constraint A for RISC-V (authored by lewis-revill).
[RISCV] Lower inline asm constraint A for RISC-V
Fri, Aug 16, 3:29 AM
lewis-revill committed rL369095: [RISCV] Lower inline asm constraint A for RISC-V.
[RISCV] Lower inline asm constraint A for RISC-V
Fri, Aug 16, 3:28 AM
lewis-revill committed rG1653ebee3f04: [RISCV] Add inline asm constraint A for RISC-V (authored by lewis-revill).
[RISCV] Add inline asm constraint A for RISC-V
Fri, Aug 16, 3:25 AM
lewis-revill committed rL369093: [RISCV] Add inline asm constraint A for RISC-V.
[RISCV] Add inline asm constraint A for RISC-V
Fri, Aug 16, 3:23 AM
lewis-revill closed D54295: [RISCV] Add inline asm constraint A for RISC-V.
Fri, Aug 16, 3:23 AM · Restricted Project, Restricted Project
lewis-revill updated the diff for D54295: [RISCV] Add inline asm constraint A for RISC-V.

Rebased prior to commit.

Fri, Aug 16, 3:06 AM · Restricted Project, Restricted Project

Thu, Aug 15

lewis-revill updated the diff for D54296: [RISCV] Lower inline asm constraint A for RISC-V.

Rebased prior to commit.

Thu, Aug 15, 9:09 AM · Restricted Project

Wed, Aug 14

lewis-revill added a comment to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
In D62686#1571192, @asb wrote:

Hi Lewis, did you evaluate implementing the machine outliner as a more general approach for getting code size savings in this sort of way?

Wed, Aug 14, 3:59 AM · Restricted Project
lewis-revill created D66210: [RFC/WIP][RISCV] Enable the machine outliner for RISC-V.
Wed, Aug 14, 3:55 AM · Restricted Project

Mon, Aug 5

lewis-revill added inline comments to D65649: [RISCV] Add MC encodings and tests of the Bit Manipulation extension.
Mon, Aug 5, 6:09 AM · Restricted Project

Thu, Aug 1

lewis-revill abandoned D58843: [WIP][MC][RISCV] Allow targets to defer forcing relocations.

Abandoned since this is no longer relevant to RISC-V; other individual fixes for issues relating to this problem have been merged since. I will keep D61907 around for discussion even though it's a similar 'big hammer' approach to the problem.

Thu, Aug 1, 8:28 AM · Restricted Project

Wed, Jul 31

lewis-revill added inline comments to D65205: [RISCV] Add Custom Parser for Atomic Memory Operands.
Wed, Jul 31, 3:09 AM · Restricted Project

Mon, Jul 29

lewis-revill added a comment to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
In D62686#1571192, @asb wrote:

Hi Lewis, did you evaluate implementing the machine outliner as a more general approach for getting code size savings in this sort of way?

You should have tests for at least a subset of target-abi {ilp32,lp64}{f,d} and the compiler shouldn't assert in those cases.

Mon, Jul 29, 7:36 AM · Restricted Project

Jul 25 2019

lewis-revill updated the diff for D54296: [RISCV] Lower inline asm constraint A for RISC-V.

Rebased and updated to use '0(' prefix for memory constraints.

Jul 25 2019, 2:15 AM · Restricted Project

Jul 22 2019

lewis-revill added a parent revision for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls: D64751: [RISCV] Add support for lowering floating point inlineasm clobbers.
Jul 22 2019, 7:30 AM · Restricted Project
lewis-revill added a child revision for D64751: [RISCV] Add support for lowering floating point inlineasm clobbers: D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
Jul 22 2019, 7:30 AM · Restricted Project
lewis-revill updated the diff for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Add support for a split save/restore approach when callee saved registers from the floating point ABIs are used.

Jul 22 2019, 7:30 AM · Restricted Project
lewis-revill added inline comments to D54296: [RISCV] Lower inline asm constraint A for RISC-V.
Jul 22 2019, 3:28 AM · Restricted Project

Jul 12 2019

lewis-revill added inline comments to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
Jul 12 2019, 4:15 AM · Restricted Project
lewis-revill added inline comments to D61907: [RISCV] Leave pcrel_hi/pcrel_lo fixup pairs unresolved.
Jul 12 2019, 2:28 AM · Restricted Project

Jul 11 2019

lewis-revill updated the diff for D57332: [RISCV] Allow parsing of bare symbols with offsets.

Rebased

Jul 11 2019, 7:53 AM · Restricted Project

Jul 5 2019

lewis-revill added a comment to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Will do, I can rebase this patch on top of your hard float patch.

Jul 5 2019, 5:43 AM · Restricted Project
lewis-revill added a comment to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
In D62686#1571192, @asb wrote:

Hi Lewis, did you evaluate implementing the machine outliner as a more general approach for getting code size savings in this sort of way?

Jul 5 2019, 5:43 AM · Restricted Project
lewis-revill added inline comments to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
Jul 5 2019, 2:56 AM · Restricted Project

Jul 4 2019

lewis-revill retitled D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls from [WIP][RISCV] Add support for save/restore of callee-saved registers via libcalls to [RISCV] Add support for save/restore of callee-saved registers via libcalls.
Jul 4 2019, 8:10 AM · Restricted Project
lewis-revill retitled D62190: [RISCV] Allow shrink wrapping for RISC-V from [WIP][RISCV] Allow shrink wrapping for RISC-V to [RISCV] Allow shrink wrapping for RISC-V.
Jul 4 2019, 8:10 AM · Restricted Project
lewis-revill added a parent revision for D62190: [RISCV] Allow shrink wrapping for RISC-V: D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
Jul 4 2019, 8:10 AM · Restricted Project
lewis-revill added a child revision for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls: D62190: [RISCV] Allow shrink wrapping for RISC-V.
Jul 4 2019, 8:10 AM · Restricted Project
lewis-revill updated the diff for D62190: [RISCV] Allow shrink wrapping for RISC-V.

I've reworked this patch to safely work around the implementation of save/restore via libcalls. These place constraints on the save/restore points that can be chosen by the shrink wrapping algorithm.

Jul 4 2019, 8:10 AM · Restricted Project
lewis-revill updated the diff for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Rebase, and only use the getUseSaveRestoreLibCalls getter method rather than the useSaveRestoreLibCalls method which does not save its result.

Jul 4 2019, 8:06 AM · Restricted Project
lewis-revill planned changes to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
Jul 4 2019, 7:33 AM · Restricted Project

Jun 26 2019

lewis-revill committed rGcf74881329d3: [RISCV] Add pseudo instruction for calls with explicit register (authored by lewis-revill).
[RISCV] Add pseudo instruction for calls with explicit register
Jun 26 2019, 3:39 AM
lewis-revill committed rL364403: [RISCV] Add pseudo instruction for calls with explicit register.
[RISCV] Add pseudo instruction for calls with explicit register
Jun 26 2019, 3:39 AM
lewis-revill closed D62685: [RISCV] Add pseudo instruction for calls with explicit register.
Jun 26 2019, 3:39 AM · Restricted Project

Jun 19 2019

lewis-revill updated the diff for D62685: [RISCV] Add pseudo instruction for calls with explicit register.

Quick end-of-file newline fix

Jun 19 2019, 8:59 AM · Restricted Project
lewis-revill updated the diff for D62685: [RISCV] Add pseudo instruction for calls with explicit register.

Added additional tests

Jun 19 2019, 8:57 AM · Restricted Project
lewis-revill updated the diff for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Rebased to incorporate the recent CFI additions.

Jun 19 2019, 8:17 AM · Restricted Project
lewis-revill added a comment to D61584: [DebugInfo] Some fields do not need relocations even relax is enabled..

Just a quick comment, I'm assuming this depends on D58335 based on the test file you've modified?

Jun 19 2019, 7:27 AM · Restricted Project
lewis-revill added a comment to D62685: [RISCV] Add pseudo instruction for calls with explicit register.

Should the error change at all? We'll still get 'error: operand must be a bare symbol name' for call foo, bar. I guess this patch doesn't put us in a greate situation now that parseCallSymbol can return NoMatch even though technically we parsed a call symbol...

Jun 19 2019, 6:43 AM · Restricted Project
lewis-revill abandoned D57240: [RISCV] Don't incorrectly force relocation for %pcrel_lo.

Abandoned in favour of D61907

Jun 19 2019, 3:35 AM · Restricted Project
lewis-revill added inline comments to D54296: [RISCV] Lower inline asm constraint A for RISC-V.
Jun 19 2019, 3:30 AM · Restricted Project
lewis-revill committed rG18737e81eb59: [RISCV] Allow parsing immediates that use tilde & exclaim (authored by lewis-revill).
[RISCV] Allow parsing immediates that use tilde & exclaim
Jun 19 2019, 3:25 AM
lewis-revill committed rL363783: [RISCV] Allow parsing immediates that use tilde & exclaim.
[RISCV] Allow parsing immediates that use tilde & exclaim
Jun 19 2019, 3:25 AM
lewis-revill closed D57320: [RISCV] Allow parsing immediates that use tilde & exclaim.
Jun 19 2019, 3:25 AM · Restricted Project
lewis-revill committed rG218aa0edb159: [RISCV] Fix failure to parse parenthesized immediates (authored by lewis-revill).
[RISCV] Fix failure to parse parenthesized immediates
Jun 19 2019, 3:10 AM
lewis-revill committed rL363782: [RISCV] Fix failure to parse parenthesized immediates.
[RISCV] Fix failure to parse parenthesized immediates
Jun 19 2019, 3:10 AM
lewis-revill closed D57319: [RISCV] Fix failure to parse parenthesized immediates.
Jun 19 2019, 3:10 AM · Restricted Project
lewis-revill committed rGaf22e071ca04: [RISCV] Mark TLS as supported (authored by lewis-revill).
[RISCV] Mark TLS as supported
Jun 19 2019, 1:52 AM
lewis-revill committed rL363776: [RISCV] Mark TLS as supported.
[RISCV] Mark TLS as supported
Jun 19 2019, 1:50 AM
lewis-revill closed D57055: [RISCV] Mark TLS as supported.
Jun 19 2019, 1:50 AM · Restricted Project, Restricted Project
lewis-revill committed rG39263ac5d133: [RISCV] Add lowering of global TLS addresses (authored by lewis-revill).
[RISCV] Add lowering of global TLS addresses
Jun 19 2019, 1:41 AM
lewis-revill committed rL363771: [RISCV] Add lowering of global TLS addresses.
[RISCV] Add lowering of global TLS addresses
Jun 19 2019, 1:38 AM
lewis-revill closed D55305: [RISCV] Add lowering of global TLS addresses.
Jun 19 2019, 1:38 AM · Restricted Project
lewis-revill updated the diff for D55305: [RISCV] Add lowering of global TLS addresses.

Updated to address comments

Jun 19 2019, 1:26 AM · Restricted Project

Jun 18 2019

lewis-revill committed rG74c83649547c: [RISCV] Lower calls through PLT (authored by lewis-revill).
[RISCV] Lower calls through PLT
Jun 18 2019, 7:27 AM
lewis-revill committed rL363686: [RISCV] Lower calls through PLT.
[RISCV] Lower calls through PLT
Jun 18 2019, 7:26 AM
lewis-revill closed D55304: [RISCV] Lower calls through PLT.
Jun 18 2019, 7:26 AM · Restricted Project

Jun 17 2019

lewis-revill updated the diff for D55305: [RISCV] Add lowering of global TLS addresses.

Added nounwind to test functions.

Jun 17 2019, 6:00 AM · Restricted Project

Jun 13 2019

lewis-revill added inline comments to D63274: [RISCV] Avoid overflow when determining number of nops for code align.
Jun 13 2019, 8:56 AM · Restricted Project
lewis-revill updated the diff for D55304: [RISCV] Lower calls through PLT.

Rebased and added testing using -relocation-model=pic in 'calls.ll'. Also added a dso_local callee to 'calls.ll' since this affects whether PLT is used for PIC.

Jun 13 2019, 8:49 AM · Restricted Project
lewis-revill updated the diff for D57319: [RISCV] Fix failure to parse parenthesized immediates.

Rebased patch after addition of matchRegisterNameHelper

Jun 13 2019, 6:48 AM · Restricted Project
lewis-revill updated the diff for D54295: [RISCV] Add inline asm constraint A for RISC-V.
Jun 13 2019, 6:30 AM · Restricted Project, Restricted Project
lewis-revill updated the diff for D54296: [RISCV] Lower inline asm constraint A for RISC-V.

Add Constraint_A to account for future modifications to Constraint_m handling. Constraint_A should only ever utilize a single base address without an offset.

Jun 13 2019, 5:58 AM · Restricted Project

Jun 11 2019

lewis-revill committed rGa5240361dd64: [RISCV] Add lowering of addressing sequences for PIC (authored by lewis-revill).
[RISCV] Add lowering of addressing sequences for PIC
Jun 11 2019, 5:57 AM
lewis-revill committed rL363058: [RISCV] Add lowering of addressing sequences for PIC.
[RISCV] Add lowering of addressing sequences for PIC
Jun 11 2019, 5:54 AM
lewis-revill closed D55303: [RISCV] Add lowering of addressing sequences for PIC.
Jun 11 2019, 5:54 AM · Restricted Project
lewis-revill committed rG6970755c58f3: [RISCV][NFC] Add missing test file for D54093 (authored by lewis-revill).
[RISCV][NFC] Add missing test file for D54093
Jun 11 2019, 5:50 AM
lewis-revill committed rL363057: [RISCV][NFC] Add missing test file for D54093.
[RISCV][NFC] Add missing test file for D54093
Jun 11 2019, 5:50 AM
lewis-revill committed rG22196f0f6975: [RISCV][NFC] Add missing test files for D54091 (authored by lewis-revill).
[RISCV][NFC] Add missing test files for D54091
Jun 11 2019, 5:47 AM
lewis-revill committed rL363056: [RISCV][NFC] Add missing test files for D54091.
[RISCV][NFC] Add missing test files for D54091
Jun 11 2019, 5:46 AM
lewis-revill committed rG5665ef3dccf6: [RISCV] Add inline asm constraints I, J & K for RISC-V (authored by lewis-revill).
[RISCV] Add inline asm constraints I, J & K for RISC-V
Jun 11 2019, 5:43 AM
lewis-revill committed rL363055: [RISCV] Add inline asm constraints I, J & K for RISC-V.
[RISCV] Add inline asm constraints I, J & K for RISC-V
Jun 11 2019, 5:41 AM
lewis-revill closed D54091: [RISCV] Add inline asm constraints I, J & K for RISC-V.
Jun 11 2019, 5:40 AM · Restricted Project, Restricted Project
lewis-revill committed rG28a5cadb3ae0: [RISCV] Lower inline asm constraints I, J & K for RISC-V (authored by lewis-revill).
[RISCV] Lower inline asm constraints I, J & K for RISC-V
Jun 11 2019, 5:40 AM
lewis-revill committed rL363054: [RISCV] Lower inline asm constraints I, J & K for RISC-V.
[RISCV] Lower inline asm constraints I, J & K for RISC-V
Jun 11 2019, 5:40 AM
lewis-revill closed D54093: [RISCV] Lower inline asm constraints I, J & K for RISC-V.
Jun 11 2019, 5:40 AM · Restricted Project

Jun 6 2019

lewis-revill updated the diff for D54091: [RISCV] Add inline asm constraints I, J & K for RISC-V.
  • Rebased and fixed test run line
Jun 6 2019, 7:55 AM · Restricted Project, Restricted Project
lewis-revill updated the diff for D54093: [RISCV] Lower inline asm constraints I, J & K for RISC-V.
  • Updated llc test check lines
  • Add invalid constraint test
  • Address use of auto
Jun 6 2019, 7:42 AM · Restricted Project
lewis-revill added inline comments to D62857: [RISCV] Prevent re-ordering some adds after shifts.
Jun 6 2019, 2:39 AM · Restricted Project

Jun 5 2019

lewis-revill updated the diff for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Revert previous change as the information needed to check the size cost was not available.

Jun 5 2019, 6:05 AM · Restricted Project

Jun 4 2019

lewis-revill updated the diff for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Added a basic check to avoid using save/restore libcalls if we know it will make the code size worse.

Jun 4 2019, 7:11 AM · Restricted Project

May 31 2019

lewis-revill updated the diff for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
  • Replaced split fixed/nonfixed vectors by simply interpreting the CSI vector differently depending if save/restore calls will be used or not.
May 31 2019, 5:44 AM · Restricted Project
lewis-revill planned changes to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
May 31 2019, 1:34 AM · Restricted Project

May 30 2019

lewis-revill retitled D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls from [WIP][RISCV] Add support for save/restore of CSRs via libcalls to [WIP][RISCV] Add support for save/restore of callee-saved registers via libcalls.
May 30 2019, 9:14 AM · Restricted Project
lewis-revill added a comment to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

I might need to go through the variable/function names to replace 'CSR' with CalleeSavedRegister or something that doesn't cause confusion with RISC-V 'CSR' meaning 'Control & Status Register'...

May 30 2019, 9:14 AM · Restricted Project
lewis-revill updated the summary of D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
May 30 2019, 9:06 AM · Restricted Project
lewis-revill added a child revision for D62685: [RISCV] Add pseudo instruction for calls with explicit register: D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
May 30 2019, 9:05 AM · Restricted Project
lewis-revill added a parent revision for D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls: D62685: [RISCV] Add pseudo instruction for calls with explicit register.
May 30 2019, 9:05 AM · Restricted Project
lewis-revill created D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.
May 30 2019, 9:04 AM · Restricted Project