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 (50 w, 3 d)

Recent Activity

Fri, Jul 12

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

Thu, Jul 11

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

Rebased

Thu, Jul 11, 7:53 AM · Restricted Project

Fri, Jul 5

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.

Fri, Jul 5, 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?

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

Thu, Jul 4

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.
Thu, Jul 4, 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.
Thu, Jul 4, 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.
Thu, Jul 4, 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.
Thu, Jul 4, 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.

Thu, Jul 4, 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.

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

Wed, Jun 26

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
Wed, Jun 26, 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
Wed, Jun 26, 3:39 AM
lewis-revill closed D62685: [RISCV] Add pseudo instruction for calls with explicit register.
Wed, Jun 26, 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
lewis-revill created D62685: [RISCV] Add pseudo instruction for calls with explicit register.
May 30 2019, 8:57 AM · Restricted Project

May 23 2019

lewis-revill closed D55667: [RISCV] Support assembling TLS LA pseudo instructions.
May 23 2019, 7:51 AM · Restricted Project
lewis-revill added an edge to rL361499: [RISCV] Support assembling TLS LA pseudo instructions: D55667: [RISCV] Support assembling TLS LA pseudo instructions.
May 23 2019, 7:46 AM
lewis-revill added 1 commit(s) for D55667: [RISCV] Support assembling TLS LA pseudo instructions: rL361499: [RISCV] Support assembling TLS LA pseudo instructions.
May 23 2019, 7:46 AM · Restricted Project
lewis-revill committed rG74927554e22b: [RISCV] Support assembling TLS LA pseudo instructions (authored by lewis-revill).
[RISCV] Support assembling TLS LA pseudo instructions
May 23 2019, 7:44 AM
lewis-revill committed rL361499: [RISCV] Support assembling TLS LA pseudo instructions.
[RISCV] Support assembling TLS LA pseudo instructions
May 23 2019, 7:44 AM

May 21 2019

lewis-revill created D62190: [RISCV] Allow shrink wrapping for RISC-V.
May 21 2019, 5:40 AM · Restricted Project
lewis-revill updated the diff for D55305: [RISCV] Add lowering of global TLS addresses.

Add pseudo instructions to getInstSizeInBytes.

May 21 2019, 3:30 AM · Restricted Project
lewis-revill added inline comments to D55305: [RISCV] Add lowering of global TLS addresses.
May 21 2019, 1:32 AM · Restricted Project

May 20 2019

lewis-revill added inline comments to D55305: [RISCV] Add lowering of global TLS addresses.
May 20 2019, 5:56 AM · Restricted Project
Herald added a project to D55305: [RISCV] Add lowering of global TLS addresses: Restricted Project.
May 20 2019, 5:47 AM · Restricted Project
lewis-revill added a comment to D62119: [RISCV] prefer std::set to std::map.

Looks like this has already been addressed in D61412!

May 20 2019, 3:05 AM · Restricted Project

May 14 2019

lewis-revill created D61907: [RISCV] Leave pcrel_hi/pcrel_lo fixup pairs unresolved.
May 14 2019, 8:40 AM · Restricted Project

May 13 2019

lewis-revill updated the diff for D55667: [RISCV] Support assembling TLS LA pseudo instructions.

Rebased.

May 13 2019, 8:11 AM · Restricted Project
lewis-revill updated the diff for D55303: [RISCV] Add lowering of addressing sequences for PIC.

Rebased and modified expandLoadAddress.

May 13 2019, 8:10 AM · Restricted Project

May 9 2019

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

Hi @lewis-revill,

...

Hope these observations help!

Kind regards,

May 9 2019, 1:06 AM · Restricted Project

Apr 29 2019

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

Should the following case be considered for RISC-V? It's impossible to solve with this patch:

Apr 29 2019, 7:47 AM · Restricted Project

Apr 24 2019

lewis-revill updated the diff for D58843: [WIP][MC][RISCV] Allow targets to defer forcing relocations.

Rebased and added documentation comments

Apr 24 2019, 4:01 AM · Restricted Project

Apr 23 2019

lewis-revill added a comment to D60657: [RISCV] Fix evaluation of %pcrel_lo.

Thanks for this. I realize D58843 is a very heavy-handed approach so I'd be happy if we could avoid it cleanly with target-specific changes, however I'm not certain we would be able to cover all the combinations we would need to with patches like this?

Apr 23 2019, 8:01 AM · Restricted Project
lewis-revill committed rGdf3cb477a314: [RISCV] Support assembling %tls_{ie,gd}_pcrel_hi modifiers (authored by lewis-revill).
[RISCV] Support assembling %tls_{ie,gd}_pcrel_hi modifiers
Apr 23 2019, 7:47 AM
lewis-revill committed rL358994: [RISCV] Support assembling %tls_{ie,gd}_pcrel_hi modifiers.
[RISCV] Support assembling %tls_{ie,gd}_pcrel_hi modifiers
Apr 23 2019, 7:44 AM
lewis-revill closed D55342: [RISCV] Support assembling %tls_{ie,gd}_pcrel_hi modifiers.
Apr 23 2019, 7:44 AM · Restricted Project
lewis-revill updated the diff for D55342: [RISCV] Support assembling %tls_{ie,gd}_pcrel_hi modifiers.

Rebased prior to commit.

Apr 23 2019, 7:31 AM · Restricted Project
lewis-revill added inline comments to D58843: [WIP][MC][RISCV] Allow targets to defer forcing relocations.
Apr 23 2019, 7:31 AM · Restricted Project

Apr 4 2019

lewis-revill committed rGaa79a3fe8e09: [RISCV] Support assembling TLS add and associated modifiers (authored by lewis-revill).
[RISCV] Support assembling TLS add and associated modifiers
Apr 4 2019, 7:13 AM
lewis-revill committed rL357698: [RISCV] Support assembling TLS add and associated modifiers.
[RISCV] Support assembling TLS add and associated modifiers
Apr 4 2019, 7:12 AM
lewis-revill closed D55341: [RISCV] Support assembling TLS add and associated modifiers.
Apr 4 2019, 7:12 AM · Restricted Project

Apr 3 2019

lewis-revill committed rG24a74096a494: Test commit: Remove double variable assignment (authored by lewis-revill).
Test commit: Remove double variable assignment
Apr 3 2019, 8:55 AM
lewis-revill committed rL357601: Test commit: Remove double variable assignment.
Test commit: Remove double variable assignment
Apr 3 2019, 8:55 AM