Page MenuHomePhabricator

rogfer01 (Roger Ferrer Ibanez)
User

Projects

User does not belong to any projects.

User Details

User Since
May 10 2016, 6:42 AM (192 w, 6 d)

Recent Activity

Tue, Jan 14

rogfer01 added a comment to D71989: [OpenMP][IRBuilder][WIP] Prototype `omp task` support.

and we then call the copy constructors like this:

void *local_addr = ...;
for (kmp_uint32 u = 0; u < sizeof_copy_infos; ++u)
  local_addr = copy_wrapper_list[u](copied_obj_list[u], local_addr);
Tue, Jan 14, 11:32 AM · Restricted Project, Restricted Project
rogfer01 updated the diff for D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.

ChangeLog:

  • Rebase
Tue, Jan 14, 12:17 AM · Restricted Project

Mon, Jan 13

rogfer01 added inline comments to D71989: [OpenMP][IRBuilder][WIP] Prototype `omp task` support.
Mon, Jan 13, 11:48 PM · Restricted Project, Restricted Project

Dec 12 2019

rogfer01 accepted D68863: [LNT] Python 3 support: don't assume order of cmake args.

Thanks again @thopre !

Dec 12 2019, 5:40 AM
rogfer01 added a parent revision for D70799: [OpenMP] Lower taskyield using OpenMP IR Builder: D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.
Dec 12 2019, 1:21 AM · Restricted Project, Restricted Project
rogfer01 updated the diff for D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.

ChangeLog:

  • Rebase
Dec 12 2019, 1:21 AM · Restricted Project
rogfer01 added a child revision for D69828: [OpenMP] Lower taskwait using OpenMP IR Builder: D70799: [OpenMP] Lower taskyield using OpenMP IR Builder.
Dec 12 2019, 1:21 AM · Restricted Project
rogfer01 removed a child revision for D69922: [OpenMP] Use the OpenMP-IR-Builder: D70799: [OpenMP] Lower taskyield using OpenMP IR Builder.
Dec 12 2019, 1:21 AM · Restricted Project, Restricted Project
rogfer01 removed a parent revision for D70799: [OpenMP] Lower taskyield using OpenMP IR Builder: D69922: [OpenMP] Use the OpenMP-IR-Builder.
Dec 12 2019, 1:21 AM · Restricted Project, Restricted Project
rogfer01 updated the diff for D70799: [OpenMP] Lower taskyield using OpenMP IR Builder.

ChangeLog:

  • Rebase
Dec 12 2019, 12:53 AM · Restricted Project, Restricted Project
rogfer01 added inline comments to D68863: [LNT] Python 3 support: don't assume order of cmake args.
Dec 12 2019, 12:07 AM

Dec 11 2019

rogfer01 added a comment to D68863: [LNT] Python 3 support: don't assume order of cmake args.

Thanks for the patch @thopre ! I've got a comment above.

Dec 11 2019, 9:01 AM

Nov 28 2019

rogfer01 added inline comments to D69785: [OpenMP] Introduce the OpenMP-IR-Builder.
Nov 28 2019, 11:59 AM · Restricted Project, Restricted Project

Nov 27 2019

rogfer01 added a child revision for D69922: [OpenMP] Use the OpenMP-IR-Builder: D70799: [OpenMP] Lower taskyield using OpenMP IR Builder.
Nov 27 2019, 11:35 PM · Restricted Project, Restricted Project
rogfer01 added a parent revision for D69828: [OpenMP] Lower taskwait using OpenMP IR Builder: D69922: [OpenMP] Use the OpenMP-IR-Builder.
Nov 27 2019, 11:35 PM · Restricted Project
rogfer01 added a parent revision for D70799: [OpenMP] Lower taskyield using OpenMP IR Builder: D69922: [OpenMP] Use the OpenMP-IR-Builder.
Nov 27 2019, 11:35 PM · Restricted Project, Restricted Project
rogfer01 added a child revision for D69922: [OpenMP] Use the OpenMP-IR-Builder: D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.
Nov 27 2019, 11:35 PM · Restricted Project, Restricted Project
rogfer01 created D70799: [OpenMP] Lower taskyield using OpenMP IR Builder.
Nov 27 2019, 11:35 PM · Restricted Project, Restricted Project
rogfer01 added inline comments to D69785: [OpenMP] Introduce the OpenMP-IR-Builder.
Nov 27 2019, 11:11 PM · Restricted Project, Restricted Project
rogfer01 updated the diff for D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.

ChangeLog:

  • Remove unnecessary return of the insertion point and update code accordingly.
Nov 27 2019, 3:34 AM · Restricted Project
rogfer01 retitled D69828: [OpenMP] Lower taskwait using OpenMP IR Builder from [WIP][OpenMP] Lower taskwait using OpenMP IR Builder to [OpenMP] Lower taskwait using OpenMP IR Builder.
Nov 27 2019, 3:17 AM · Restricted Project
rogfer01 added inline comments to D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.
Nov 27 2019, 2:31 AM · Restricted Project
rogfer01 updated the summary of D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.
Nov 27 2019, 2:31 AM · Restricted Project
rogfer01 added a comment to D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.

Also for taskwait inside untied tasks we should be reusing the available global_tid instead of calling __kmpc_global_thread_num again.

FWIW, We will just clean up in a later pass (under review). We have to do that anyway, adding some smarts here is barely worth it and I also removed similar logic from my patches.

Nov 27 2019, 2:31 AM · Restricted Project

Nov 26 2019

rogfer01 updated the diff for D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.

ChangeLog:

  • Enable the new code generation in codegen tests using taskwait
Nov 26 2019, 11:35 AM · Restricted Project
rogfer01 updated the diff for D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.

ChangeLog:

  • Update patch against changes in D69785
Nov 26 2019, 11:08 AM · Restricted Project

Nov 20 2019

rogfer01 removed a reviewer for D70258: [OpenMP][IR-Builder] Introduce the finalization stack: rogfer01.
Nov 20 2019, 8:07 AM · Restricted Project, Restricted Project
rogfer01 removed a reviewer for D70109: [OpenMP][IR-Builder] Introduce "pragma omp parallel" code generation: rogfer01.
Nov 20 2019, 7:57 AM · Restricted Project
rogfer01 removed a reviewer for D70109: [OpenMP][IR-Builder] Introduce "pragma omp parallel" code generation: rogfer01.
Nov 20 2019, 7:57 AM · Restricted Project
rogfer01 added a comment to D70109: [OpenMP][IR-Builder] Introduce "pragma omp parallel" code generation.

Apologies I screwed my Herald rule!

Nov 20 2019, 7:57 AM · Restricted Project
rogfer01 removed a reviewer for D70109: [OpenMP][IR-Builder] Introduce "pragma omp parallel" code generation: rogfer01.
Nov 20 2019, 7:57 AM · Restricted Project
Herald added a reviewer for D70109: [OpenMP][IR-Builder] Introduce "pragma omp parallel" code generation: rogfer01.
Nov 20 2019, 7:57 AM · Restricted Project
Herald added a reviewer for D70258: [OpenMP][IR-Builder] Introduce the finalization stack: rogfer01.
Nov 20 2019, 7:57 AM · Restricted Project, Restricted Project

Nov 18 2019

rogfer01 added a comment to rG2b8115b10b03: [OpenMP] Add implementation and tests of Archer tool.

I'm building clang + openmp like this

Nov 18 2019, 11:58 PM

Nov 15 2019

rogfer01 added a comment to D69987: [RISCV] Assemble/Disassemble v-ext instructions..

Isn't that already done by virtue of the uses of llvm-objdump -d - in the existing tests?

Nov 15 2019, 12:28 PM · Restricted Project
rogfer01 added a comment to D69987: [RISCV] Assemble/Disassemble v-ext instructions..

I think we will want decoding tests as well, at least one for instruction.

Nov 15 2019, 8:45 AM · Restricted Project

Nov 12 2019

rogfer01 added a comment to D69987: [RISCV] Assemble/Disassemble v-ext instructions..

We have started tallying the instructions against the spec. So far we have found the following missing instructions:

Nov 12 2019, 8:27 AM · Restricted Project
rogfer01 added a comment to D69987: [RISCV] Assemble/Disassemble v-ext instructions..

We have started tallying the instructions against the spec. So far we have found the following missing instructions:

  • vdot.vv / vdotu.vv / vfdot.vv
Nov 12 2019, 8:27 AM · Restricted Project

Nov 11 2019

rogfer01 created D70092: [PoC][RISC-V][Vext] Unify masked and unmasked instructions.
Nov 11 2019, 9:45 AM · Restricted Project
rogfer01 added a comment to D69987: [RISCV] Assemble/Disassemble v-ext instructions..

It may be possible to halve the number of instructions if we make use of the IsOptional attribute and we always add a mask operand to the instructions that may have a mask. This way we don't have VADD_VV and VADD_VV_T, only VADD_VV with a mask operand whose register is RISCV::NoRegister if the instruction is not masked.

Nov 11 2019, 9:45 AM · Restricted Project

Nov 8 2019

rogfer01 added a comment to D69987: [RISCV] Assemble/Disassemble v-ext instructions..

Hi, thanks a lot for this.

Nov 8 2019, 1:37 AM · Restricted Project
rogfer01 committed rG41449c58c58e: [RISCV] Fix evaluation of %pcrel_lo (authored by rogfer01).
[RISCV] Fix evaluation of %pcrel_lo
Nov 8 2019, 12:49 AM
rogfer01 closed D60657: [RISCV] Fix evaluation of %pcrel_lo.
Nov 8 2019, 12:49 AM · Restricted Project
rogfer01 added a comment to D60657: [RISCV] Fix evaluation of %pcrel_lo.

Thanks for the review @luismarques . I plan to commit this shortly.

Nov 8 2019, 12:49 AM · Restricted Project

Nov 4 2019

rogfer01 created D69828: [OpenMP] Lower taskwait using OpenMP IR Builder.
Nov 4 2019, 3:21 PM · Restricted Project
rogfer01 added a comment to D69785: [OpenMP] Introduce the OpenMP-IR-Builder.

I made a small experiment lowering a taskwait (which is even simpler than barrier in "lowering" complexity). It was pretty straightforward after all.

Nice, can you share the code? Was it based on the OpenMPIRBuilder (this one or the old one) or somehow separate?

Nov 4 2019, 3:21 PM · Restricted Project, Restricted Project
rogfer01 added a comment to D69785: [OpenMP] Introduce the OpenMP-IR-Builder.

Hi @jdoerfert, thanks a lot for putting this up this initial skeleton and providing an example with barrier.

Nov 4 2019, 12:31 PM · Restricted Project, Restricted Project

Oct 24 2019

rogfer01 added inline comments to D69383: [RISCV] Match GCC `-march`/`-mabi` driver defaults.
Oct 24 2019, 1:25 PM · Restricted Project
rogfer01 added inline comments to D69383: [RISCV] Match GCC `-march`/`-mabi` driver defaults.
Oct 24 2019, 9:48 AM · Restricted Project

Oct 11 2019

rogfer01 updated subscribers of D68685: [RISCV] Scheduler description for Rocket Core.

@javedabsar (or @javed.absar) I seem to recall you have experience with schedulers. If you could give us a hand here that'd be great! :)

Oct 11 2019, 2:23 AM · Restricted Project

Oct 9 2019

rogfer01 added inline comments to D68360: PR41162 Implement LKK remainder and divisibility algorithms [urem].
Oct 9 2019, 12:42 PM · Restricted Project

Oct 7 2019

rogfer01 closed D20561: Warn when taking address of packed member.
Oct 7 2019, 6:49 AM · Restricted Project, Restricted Project

Sep 30 2019

rogfer01 added inline comments to rG61422f96653f: For P0784R7: add support for explicit destructor calls and pseudo-destructor….
Sep 30 2019, 3:27 AM
rogfer01 committed rG5a2a14db0bc4: [TargetLowering] Simplify expansion of S{ADD,SUB}O (authored by rogfer01).
[TargetLowering] Simplify expansion of S{ADD,SUB}O
Sep 30 2019, 1:00 AM
rogfer01 committed rL373187: [TargetLowering] Simplify expansion of S{ADD,SUB}O.
[TargetLowering] Simplify expansion of S{ADD,SUB}O
Sep 30 2019, 1:00 AM
rogfer01 closed D47927: [TargetLowering] Simplify expansion of S{ADD,SUB}O.
Sep 30 2019, 1:00 AM · Restricted Project

Sep 27 2019

rogfer01 accepted D68068: [ScheduleDAG] When a node is cloned, add an edge between the nodes..

Now that you're at it, could you also update the doxygen comments in ScheduleDAGRRList::{AddPredQueued, AddPred, RemovePred} because they don't return a boolean now.

Sep 27 2019, 2:28 PM · Restricted Project

Sep 23 2019

rogfer01 added a comment to D47927: [TargetLowering] Simplify expansion of S{ADD,SUB}O.

IMHO this should land as-is, and setcc folds can be implemented additionally if there are other places where they would be useful. My rationale would be that it is better to directly perform a simpler lowering than a complex lowering that then gets optimized. (Basically: If you can reduce the size of the implementing code and get a better result, then I think we should always be doing that.)

Sep 23 2019, 11:20 PM · Restricted Project
rogfer01 updated the diff for D47927: [TargetLowering] Simplify expansion of S{ADD,SUB}O.

ChangeLog:

  • Refresh RISC-V and X86 tests
Sep 23 2019, 11:17 PM · Restricted Project

Sep 16 2019

rogfer01 committed rL372073: Request commit access for rogfer01.
Request commit access for rogfer01
Sep 16 2019, 10:57 PM
rogfer01 added a comment to D60657: [RISCV] Fix evaluation of %pcrel_lo.

Thanks for the review @jrtc27 and apologies for the delay. I had forgotten I had posted this.

Sep 16 2019, 2:05 AM · Restricted Project
rogfer01 updated the diff for D60657: [RISCV] Fix evaluation of %pcrel_lo.

ChangeLog:

  • Remove unneeded runtime check and turn it into an assertion.
  • Avoid instruction aliases in testcase
  • Strengthen check directives for the NORELAX case.
Sep 16 2019, 2:05 AM · Restricted Project

Sep 13 2019

rogfer01 added inline comments to rL371806: [RISCV] Support stack offset exceed 32-bit for RV64.
Sep 13 2019, 12:49 AM

Sep 10 2019

rogfer01 committed rG93c4d53b0a57: [RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux (authored by rogfer01).
[RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux
Sep 10 2019, 1:17 AM
rogfer01 committed rL371496: [RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux.
[RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux
Sep 10 2019, 1:16 AM
rogfer01 closed D66003: [RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux.
Sep 10 2019, 1:16 AM · Restricted Project, Restricted Project
rogfer01 committed rG8e87396307f0: [RISCV] Default to ilp32d/lp64d in RISC-V Linux (authored by rogfer01).
[RISCV] Default to ilp32d/lp64d in RISC-V Linux
Sep 10 2019, 1:02 AM
rogfer01 committed rL371494: [RISCV] Default to ilp32d/lp64d in RISC-V Linux.
[RISCV] Default to ilp32d/lp64d in RISC-V Linux
Sep 10 2019, 1:02 AM
rogfer01 closed D65634: [RISCV] Default to ilp32d/lp64d in RISC-V Linux.
Sep 10 2019, 1:01 AM · Restricted Project, Restricted Project
rogfer01 added a comment to D66003: [RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux.

Thanks for the review @luismarques

Sep 10 2019, 12:50 AM · Restricted Project, Restricted Project
rogfer01 added a comment to D65634: [RISCV] Default to ilp32d/lp64d in RISC-V Linux.

Thanks for the review @lenary @luismarques

Sep 10 2019, 12:50 AM · Restricted Project, Restricted Project
rogfer01 committed rG60f0a6f6ff99: [RISCV] Move architecture parsing code into its own function (authored by rogfer01).
[RISCV] Move architecture parsing code into its own function
Sep 10 2019, 12:47 AM
rogfer01 committed rL371492: [RISCV] Move architecture parsing code into its own function.
[RISCV] Move architecture parsing code into its own function
Sep 10 2019, 12:46 AM
rogfer01 closed D66002: [RISCV] Move architecture parsing code into its own function.
Sep 10 2019, 12:46 AM · Restricted Project, Restricted Project
rogfer01 added a comment to D66002: [RISCV] Move architecture parsing code into its own function.

Thanks for the review @luismarques

Sep 10 2019, 12:26 AM · Restricted Project, Restricted Project

Aug 30 2019

rogfer01 added a comment to D47927: [TargetLowering] Simplify expansion of S{ADD,SUB}O.

Yes

Aug 30 2019, 5:54 AM · Restricted Project
rogfer01 added inline comments to D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1).
Aug 30 2019, 5:49 AM · Restricted Project

Aug 9 2019

rogfer01 added a comment to D65634: [RISCV] Default to ilp32d/lp64d in RISC-V Linux.

Thanks for the clarification @asb. I've posted D66003 (depending on D66002) for that.

Aug 9 2019, 3:39 AM · Restricted Project, Restricted Project
rogfer01 added parent revisions for D66003: [RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux: D66002: [RISCV] Move architecture parsing code into its own function, D65634: [RISCV] Default to ilp32d/lp64d in RISC-V Linux.
Aug 9 2019, 3:38 AM · Restricted Project, Restricted Project
rogfer01 added a child revision for D65634: [RISCV] Default to ilp32d/lp64d in RISC-V Linux: D66003: [RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux.
Aug 9 2019, 3:38 AM · Restricted Project, Restricted Project
rogfer01 added a child revision for D66002: [RISCV] Move architecture parsing code into its own function: D66003: [RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux.
Aug 9 2019, 3:38 AM · Restricted Project, Restricted Project
rogfer01 created D66003: [RISCV] Make -march=rv{32,64}gc the default in RISC-V Linux.
Aug 9 2019, 3:38 AM · Restricted Project, Restricted Project
rogfer01 created D66002: [RISCV] Move architecture parsing code into its own function.
Aug 9 2019, 3:36 AM · Restricted Project, Restricted Project

Aug 8 2019

rogfer01 added a comment to D47927: [TargetLowering] Simplify expansion of S{ADD,SUB}O.

Hmm, while there, just to point out the obvious, the another approach here would be to teach DAGCombine/TargetLowering::SimplifySetCC() about these folds.
That is explicitly one of a few valid reasons to add optimizations into backend 'instead' of middle-end.

Aug 8 2019, 11:44 PM · Restricted Project
rogfer01 updated the diff for D47927: [TargetLowering] Simplify expansion of S{ADD,SUB}O.

ChangeLog:

  • Combine if-else logic.
  • Adjust subtraction comment to is (non-zero) positive to avoid ambiguity.
Aug 8 2019, 11:40 PM · Restricted Project
rogfer01 updated the diff for D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1).

ChangeLog:

  • Constrain fold to i1.
Aug 8 2019, 11:13 PM · Restricted Project
rogfer01 added inline comments to D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1).
Aug 8 2019, 12:03 AM · Restricted Project
rogfer01 updated the diff for D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1).

ChangeLog:

  • Tighten even more the condition in which the fold is applied
  • Rephrase comments so they mention brcond.
Aug 8 2019, 12:03 AM · Restricted Project

Aug 7 2019

rogfer01 added inline comments to D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1).
Aug 7 2019, 11:20 PM · Restricted Project
rogfer01 updated the diff for D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1).

ChangeLog:

  • Tighten conditions in which the fold is executed
  • Use isBitwiseNot instead of checking for (xor e, 1)
  • Remove TheXor
  • Rephrase comments so they are less confusing by not mentioning br.
Aug 7 2019, 11:13 PM · Restricted Project
rogfer01 added a comment to D65634: [RISCV] Default to ilp32d/lp64d in RISC-V Linux.

Thanks @asb @lenary for the review!

Aug 7 2019, 1:46 AM · Restricted Project, Restricted Project
rogfer01 updated the diff for D65634: [RISCV] Default to ilp32d/lp64d in RISC-V Linux.

ChangeLog:

  • Make ilp32d also the default in 32-bit RISC-V Linux
  • Do not use nested conditional expressions
Aug 7 2019, 1:42 AM · Restricted Project, Restricted Project
rogfer01 abandoned D50634: [RISCV] Add support for local PIC addressing.

Not relevant anymore.

Aug 7 2019, 12:14 AM
rogfer01 committed rG371bdc9b7f25: [RISCV] Remove duplicated logic when determining the target ABI (authored by rogfer01).
[RISCV] Remove duplicated logic when determining the target ABI
Aug 7 2019, 12:09 AM
rogfer01 committed rL368128: [RISCV] Remove duplicated logic when determining the target ABI.
[RISCV] Remove duplicated logic when determining the target ABI
Aug 7 2019, 12:09 AM
rogfer01 closed D48357: [RISCV] Remove duplicated logic when determining the target ABI.
Aug 7 2019, 12:08 AM · Restricted Project
rogfer01 added a comment to D48357: [RISCV] Remove duplicated logic when determining the target ABI.

Thanks @lenary ! I will commit this shortly.

Aug 7 2019, 12:08 AM · Restricted Project

Aug 6 2019

rogfer01 added inline comments to rG629273ec0982: [llvm-ar][test] Add tests failing on Darwin.
Aug 6 2019, 7:28 AM
rogfer01 added a parent revision for D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1): D65801: [NFC] Add tests for boolean comparisons.
Aug 6 2019, 5:49 AM · Restricted Project
rogfer01 added a child revision for D65801: [NFC] Add tests for boolean comparisons: D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1).
Aug 6 2019, 5:49 AM · Restricted Project