rogfer01 (Roger Ferrer Ibanez)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Tue, Jan 16

rogfer01 added a comment to D42051: [ARM] Avoid having to schedule a copy between CPSR and GPR in Thumb1 mode.

Hi @efriedma thanks a lot for the suggestions and the testcase. I already considered gluing though it impacts scheduling and the change will be noisy for tests but I'll look into your other suggestions too.

Tue, Jan 16, 3:54 AM

Mon, Jan 15

rogfer01 added a comment to D34515: [ARM] Materialise some boolean values to avoid a branch.

Ping. Modulo the bugs we may find with ADDCARRY / SUBCARRY further thoughts on this?

Mon, Jan 15, 12:30 AM
rogfer01 created D42051: [ARM] Avoid having to schedule a copy between CPSR and GPR in Thumb1 mode.
Mon, Jan 15, 12:25 AM

Fri, Jan 12

rogfer01 accepted D38378: [ARM] Optimize {s,u}{add,sub}.with.overflow..

LGTM. Wait a couple of days before commiting just in case @efriedma has further comments.

Fri, Jan 12, 3:50 AM

Wed, Jan 10

rogfer01 accepted D40922: [ARM] Optimize {s|u}mul.with.overflow..

LGTM. Please wait a couple of days before submitting just in case @efriedma has further comments.

Wed, Jan 10, 10:48 AM
rogfer01 added inline comments to D41775: [ARM] Add codegen for SMMULR, SMMLAR and SMMLSR.
Wed, Jan 10, 12:58 AM

Dec 15 2017

rogfer01 added a comment to D41122: Tests for D34515.

Thanks @efriedma !

Dec 15 2017, 1:26 AM
rogfer01 committed rL320795: [ARM] Add tests for D34515.
[ARM] Add tests for D34515
Dec 15 2017, 1:25 AM
rogfer01 closed D41122: Tests for D34515.
Dec 15 2017, 1:25 AM

Dec 14 2017

rogfer01 updated the diff for D34515: [ARM] Materialise some boolean values to avoid a branch.

ChangeLog

  • New tests in D41122 are now updated in this change to show the change in codegen
Dec 14 2017, 9:29 AM
rogfer01 added a dependent revision for D41122: Tests for D34515: D34515: [ARM] Materialise some boolean values to avoid a branch.
Dec 14 2017, 9:28 AM
rogfer01 added a dependency for D34515: [ARM] Materialise some boolean values to avoid a branch: D41122: Tests for D34515.
Dec 14 2017, 9:28 AM
rogfer01 removed a dependent revision for D34515: [ARM] Materialise some boolean values to avoid a branch: D41122: Tests for D34515.
Dec 14 2017, 9:28 AM
rogfer01 removed a dependency for D41122: Tests for D34515: D34515: [ARM] Materialise some boolean values to avoid a branch.
Dec 14 2017, 9:28 AM
rogfer01 updated the diff for D41122: Tests for D34515.

ChangeLog:

  • New tests before D34515 is applied showing current codegen (and not after like I did the last time)
Dec 14 2017, 9:27 AM

Dec 13 2017

rogfer01 added inline comments to D41179: [Sema] Diagnose template specializations with C linkage.
Dec 13 2017, 11:34 AM
rogfer01 added inline comments to D41179: [Sema] Diagnose template specializations with C linkage.
Dec 13 2017, 8:32 AM
rogfer01 committed rL320567: [DAG] Promote ADDCARRY / SUBCARRY.
[DAG] Promote ADDCARRY / SUBCARRY
Dec 13 2017, 2:46 AM
rogfer01 closed D38942: [DAG] Promote ADDCARRY / SUBCARRY.
Dec 13 2017, 2:46 AM
rogfer01 added a comment to D41122: Tests for D34515.

Oh, that makes a lot of sense. I'll do. Sorry for the misunderstanding.

Dec 13 2017, 1:46 AM
rogfer01 added inline comments to D35635: [ARM] Optimize {s,u}{add,sub}.with.overflow.
Dec 13 2017, 12:28 AM

Dec 12 2017

rogfer01 updated the diff for D34515: [ARM] Materialise some boolean values to avoid a branch.

ChangeLog:

  • I forgot to update the Thumb counterpart of long-setcc.ll in the last update
Dec 12 2017, 10:34 AM
rogfer01 updated the diff for D34515: [ARM] Materialise some boolean values to avoid a branch.

ChangeLog

  • Split tests in D41122
  • Improve test long-setcc.ll
Dec 12 2017, 10:27 AM
rogfer01 added a dependency for D41122: Tests for D34515: D34515: [ARM] Materialise some boolean values to avoid a branch.
Dec 12 2017, 10:26 AM
rogfer01 added a dependent revision for D34515: [ARM] Materialise some boolean values to avoid a branch: D41122: Tests for D34515.
Dec 12 2017, 10:26 AM
rogfer01 created D41122: Tests for D34515.
Dec 12 2017, 10:25 AM
rogfer01 added inline comments to D38942: [DAG] Promote ADDCARRY / SUBCARRY.
Dec 12 2017, 1:43 AM
rogfer01 updated the diff for D38942: [DAG] Promote ADDCARRY / SUBCARRY.

ChangeLog

  • Sign extend operands as we will want to use the higher bits (they could be rubbish in the previous diff). Add a comment.
Dec 12 2017, 1:41 AM

Dec 11 2017

rogfer01 added a comment to D38942: [DAG] Promote ADDCARRY / SUBCARRY.

We want to do here is to calculate the ADDCARRY / SUBCARRY with a wider type and then use that result to compute the carry/borrow. I think that by sign extension of the operands, the carry/borrow of wider operation should exactly be the same as in a narrower type:

Dec 11 2017, 10:15 AM
rogfer01 committed rCXX320363: [libcxx] Define istream_iterator equality comparison operators out-of-line.
[libcxx] Define istream_iterator equality comparison operators out-of-line
Dec 11 2017, 6:01 AM
rogfer01 committed rL320363: [libcxx] Define istream_iterator equality comparison operators out-of-line.
[libcxx] Define istream_iterator equality comparison operators out-of-line
Dec 11 2017, 5:55 AM
rogfer01 closed D40415: [libcxx] Define istream_iterator equality comparison operators out-of-line by committing rL320363: [libcxx] Define istream_iterator equality comparison operators out-of-line.
Dec 11 2017, 5:55 AM
rogfer01 committed rL320355: [ARM] Use ADDCARRY / SUBCARRY.
[ARM] Use ADDCARRY / SUBCARRY
Dec 11 2017, 4:14 AM
rogfer01 closed D35192: [ARM] Use ADDCARRY / SUBCARRY by committing rL320355: [ARM] Use ADDCARRY / SUBCARRY.
Dec 11 2017, 4:14 AM
rogfer01 added a comment to D40415: [libcxx] Define istream_iterator equality comparison operators out-of-line.

Hi @miyuki I can commit it.

Dec 11 2017, 2:29 AM
rogfer01 added inline comments to D40705: Diagnose invalid decl-specifiers in non-type template parameter declarations (original author miyuki!).
Dec 11 2017, 1:43 AM · Restricted Project, Restricted Project

Dec 8 2017

rogfer01 added inline comments to D40922: [ARM] Optimize {s|u}mul.with.overflow..
Dec 8 2017, 10:35 AM
rogfer01 added inline comments to D35635: [ARM] Optimize {s,u}{add,sub}.with.overflow.
Dec 8 2017, 12:44 AM

Dec 7 2017

rogfer01 added a comment to D38942: [DAG] Promote ADDCARRY / SUBCARRY.

The generic combiner DAGCombiner::visitTRUNCATE does this

Dec 7 2017, 11:06 AM
rogfer01 requested review of D35192: [ARM] Use ADDCARRY / SUBCARRY.
Dec 7 2017, 10:41 AM
rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.
  • Fix combiner with addcarry that causes PR35103
  • Add regression test
Dec 7 2017, 10:40 AM
rogfer01 added inline comments to D35635: [ARM] Optimize {s,u}{add,sub}.with.overflow.
Dec 7 2017, 6:23 AM
rogfer01 committed rC320017: Ignore pointers to incomplete types when diagnosing misaligned addresses.
Ignore pointers to incomplete types when diagnosing misaligned addresses
Dec 7 2017, 1:24 AM
rogfer01 committed rL320017: Ignore pointers to incomplete types when diagnosing misaligned addresses.
Ignore pointers to incomplete types when diagnosing misaligned addresses
Dec 7 2017, 1:24 AM
rogfer01 closed D40895: Ignore pointers to incomplete types when diagnosing misaligned addresses by committing rL320017: Ignore pointers to incomplete types when diagnosing misaligned addresses.
Dec 7 2017, 1:24 AM
rogfer01 added a comment to D38378: [ARM] Optimize {s,u}{add,sub}.with.overflow..

This looks sensible to me. Extend the comment in that --E; above at line 2732. If @efriedma or @rengolin do not have further comments I believe this is ready to land.

Dec 7 2017, 1:00 AM

Dec 6 2017

rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

We believe there is a problem here as the generic combiner presumes we're going to use the first result (0) but actually the code is using the second (1)

Dec 6 2017, 10:41 AM
rogfer01 created D40895: Ignore pointers to incomplete types when diagnosing misaligned addresses.
Dec 6 2017, 6:08 AM

Nov 29 2017

rogfer01 added inline comments to D35635: [ARM] Optimize {s,u}{add,sub}.with.overflow.
Nov 29 2017, 10:16 AM
rogfer01 added inline comments to D38378: [ARM] Optimize {s,u}{add,sub}.with.overflow..
Nov 29 2017, 10:14 AM

Nov 15 2017

rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

A combiner kicks in for t33 because it is of the form (add, X, (addcarry Y, 0, C) and then it becomes (addcarry X, Y, C) which looks correct but I think it interacts badly with the nodes t24, t44 and t42 (which also have similar forms).

Nov 15 2017, 10:04 AM
rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

Hmm, scheduling is correct. I was all wrong, the legalized DAG is already wrong.

Nov 15 2017, 9:59 AM

Nov 14 2017

rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

Thanks a lot for the pointer Eli! :-)

Nov 14 2017, 11:51 PM
rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

Uploaded

DAG after isel.

Nov 14 2017, 9:53 AM
rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

I'm trying to understand what went wrong in the following input

Nov 14 2017, 9:46 AM
rogfer01 added inline comments to D38378: [ARM] Optimize {s,u}{add,sub}.with.overflow..
Nov 14 2017, 12:08 AM

Nov 3 2017

rogfer01 added inline comments to D39599: [ARM] Fix incorrect conversion of a tail call to an ordinary call.
Nov 3 2017, 8:22 AM

Nov 2 2017

rogfer01 added a comment to D38362: Mark tests as unsupported in C++98 as well.

Thank you @mclow.lists !

Nov 2 2017, 8:02 AM
rogfer01 committed rL317210: Mark tests as unsupported in C++98 as well.
Mark tests as unsupported in C++98 as well
Nov 2 2017, 8:02 AM
rogfer01 closed D38362: Mark tests as unsupported in C++98 as well by committing rL317210: Mark tests as unsupported in C++98 as well.
Nov 2 2017, 8:02 AM

Nov 1 2017

rogfer01 planned changes to D35192: [ARM] Use ADDCARRY / SUBCARRY.
Nov 1 2017, 7:09 AM
rogfer01 reopened D35192: [ARM] Use ADDCARRY / SUBCARRY.

This is causing PR35103, so reopening after the revert, so I can investigate what is going wrong there.

Nov 1 2017, 7:08 AM
rogfer01 committed rL317092: Revert r313618 "[ARM] Use ADDCARRY / SUBCARRY".
Revert r313618 "[ARM] Use ADDCARRY / SUBCARRY"
Nov 1 2017, 7:07 AM

Oct 16 2017

rogfer01 added inline comments to D38942: [DAG] Promote ADDCARRY / SUBCARRY.
Oct 16 2017, 11:30 PM
rogfer01 added a reviewer for D38942: [DAG] Promote ADDCARRY / SUBCARRY: samparker.
Oct 16 2017, 12:49 AM
rogfer01 added inline comments to D38942: [DAG] Promote ADDCARRY / SUBCARRY.
Oct 16 2017, 12:49 AM
rogfer01 created D38942: [DAG] Promote ADDCARRY / SUBCARRY.
Oct 16 2017, 12:47 AM

Oct 12 2017

rogfer01 updated the diff for D34515: [ARM] Materialise some boolean values to avoid a branch.

ChangeLog:

  • Reinstate the transformation for ARM as well.
Oct 12 2017, 4:05 AM
rogfer01 committed rL315570: Mark test as a long-test.
Mark test as a long-test
Oct 12 2017, 1:46 AM
rogfer01 closed D38452: Mark test as a long-test by committing rL315570: Mark test as a long-test.
Oct 12 2017, 1:46 AM

Oct 10 2017

rogfer01 added a comment to D38452: Mark test as a long-test.

Friendly ping :)

Oct 10 2017, 6:28 AM
rogfer01 committed rL315278: Remove unneeded typename from test.
Remove unneeded typename from test
Oct 10 2017, 12:42 AM
rogfer01 closed D38628: Remove unneeded typename from test by committing rL315278: Remove unneeded typename from test.
Oct 10 2017, 12:42 AM
rogfer01 added a comment to D38628: Remove unneeded typename from test.

Thanks @chill , @mclow.lists and @EricWF !

Oct 10 2017, 12:42 AM
rogfer01 added a comment to D34515: [ARM] Materialise some boolean values to avoid a branch.

@efriedma Ah I see. If I get you right, the initial change was more sensible. Also Sam's concerns were on a file that is explicitly marked as -O0.

Oct 10 2017, 12:23 AM

Oct 9 2017

rogfer01 updated the diff for D38628: Remove unneeded typename from test.
  • Remove another instance of this issue
Oct 9 2017, 12:40 AM

Oct 6 2017

rogfer01 added inline comments to D34515: [ARM] Materialise some boolean values to avoid a branch.
Oct 6 2017, 10:06 AM
rogfer01 added inline comments to D34515: [ARM] Materialise some boolean values to avoid a branch.
Oct 6 2017, 9:50 AM
rogfer01 updated the diff for D38362: Mark tests as unsupported in C++98 as well.

ChangeLog:

  • I wanted to mark two tests but forgot to add one in the previous change
Oct 6 2017, 8:28 AM
rogfer01 created D38628: Remove unneeded typename from test.
Oct 6 2017, 8:26 AM

Oct 5 2017

rogfer01 added inline comments to D34515: [ARM] Materialise some boolean values to avoid a branch.
Oct 5 2017, 9:07 AM
rogfer01 updated the diff for D34515: [ARM] Materialise some boolean values to avoid a branch.

ChangeLog:

  • Reordered combiner and added early exit for non-integers.
  • Constrained the CLZ combiner to T32 because it is not clear whether it is profitable in A32 (where conditional moves are more accessible)
  • Added negative tests to make sure no branches are emitted where we don't want them.
Oct 5 2017, 9:07 AM

Oct 3 2017

rogfer01 added inline comments to rL314735: Improve test runner output for broken configurations..
Oct 3 2017, 9:41 AM

Oct 2 2017

rogfer01 created D38452: Mark test as a long-test.
Oct 2 2017, 3:36 AM

Sep 29 2017

rogfer01 added inline comments to rL314375: Use a BumpPtrAllocator for Loop objects.
Sep 29 2017, 1:37 AM

Sep 28 2017

rogfer01 added inline comments to D34515: [ARM] Materialise some boolean values to avoid a branch.
Sep 28 2017, 9:41 AM
rogfer01 created D38362: Mark tests as unsupported in C++98 as well.
Sep 28 2017, 7:53 AM
rogfer01 added a comment to D34515: [ARM] Materialise some boolean values to avoid a branch.

Friendly ping :)

Sep 28 2017, 7:11 AM

Sep 21 2017

rogfer01 added inline comments to D34515: [ARM] Materialise some boolean values to avoid a branch.
Sep 21 2017, 8:24 AM
rogfer01 updated the diff for D34515: [ARM] Materialise some boolean values to avoid a branch.

ChangeLog:

  • Updated the patch to use ADDCARRY / SUBCARRY nodes.
Sep 21 2017, 8:21 AM

Sep 19 2017

rogfer01 committed rL313618: [ARM] Use ADDCARRY / SUBCARRY.
[ARM] Use ADDCARRY / SUBCARRY
Sep 19 2017, 2:07 AM
rogfer01 closed D35192: [ARM] Use ADDCARRY / SUBCARRY by committing rL313618: [ARM] Use ADDCARRY / SUBCARRY.
Sep 19 2017, 2:07 AM

Sep 14 2017

rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

Ok, Chrome for Linux Arm took a bit to build with a debug compiler but finished successfully.

Sep 14 2017, 6:09 AM

Sep 13 2017

rogfer01 accepted D34695: _Float16 preprocessor macro definitions.

This LGTM, but wait a couple of days before comitting in case @rsmith or @scanon (or others!) have further comments.

Sep 13 2017, 7:57 AM
rogfer01 requested review of D35192: [ARM] Use ADDCARRY / SUBCARRY.

In the second instance of PR34045 what happens is that ADDC is exactly HiAdd, not just a predecessor of the latter.

Sep 13 2017, 1:34 AM
rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • fix for the second instance of PR34045
  • also integrates the changes to fix PR34564, fall-out of the original change, that was reverted as well
Sep 13 2017, 1:30 AM

Sep 12 2017

rogfer01 reopened D35192: [ARM] Use ADDCARRY / SUBCARRY.

We're still hitting PR34045. I also plan integrate the fix in D37690 to ease reverting if needed.

Sep 12 2017, 9:41 AM
rogfer01 added inline comments to D34695: _Float16 preprocessor macro definitions.
Sep 12 2017, 8:56 AM
rogfer01 added inline comments to D34695: _Float16 preprocessor macro definitions.
Sep 12 2017, 8:32 AM
rogfer01 committed rL313010: [ARM] Fix typo when creating ISD::SUB nodes.
[ARM] Fix typo when creating ISD::SUB nodes
Sep 12 2017, 12:44 AM