rogfer01 (Roger Ferrer Ibanez)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Yesterday

rogfer01 added inline comments to D34515: [ARM] Materialise some boolean values to avoid a branch.
Thu, Sep 21, 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.
Thu, Sep 21, 8:21 AM

Tue, Sep 19

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

Thu, Sep 14

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

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

Thu, Sep 14, 6:09 AM

Wed, Sep 13

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.

Wed, Sep 13, 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.

Wed, Sep 13, 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
Wed, Sep 13, 1:30 AM

Tue, Sep 12

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.

Tue, Sep 12, 9:41 AM
rogfer01 added inline comments to D34695: _Float16 preprocessor macro definitions.
Tue, Sep 12, 8:56 AM
rogfer01 added inline comments to D34695: _Float16 preprocessor macro definitions.
Tue, Sep 12, 8:32 AM
rogfer01 committed rL313010: [ARM] Fix typo when creating ISD::SUB nodes.
[ARM] Fix typo when creating ISD::SUB nodes
Tue, Sep 12, 12:44 AM
rogfer01 closed D37690: [ARM] Fix typo when creating ISD::SUB nodes by committing rL313010: [ARM] Fix typo when creating ISD::SUB nodes.
Tue, Sep 12, 12:43 AM
rogfer01 committed rL313009: [ARM] Use ADDCARRY / SUBCARRY.
[ARM] Use ADDCARRY / SUBCARRY
Tue, Sep 12, 12:41 AM
rogfer01 updated the diff for D37690: [ARM] Fix typo when creating ISD::SUB nodes.

ChangeLog:

  • Use MVT::i32 instead of VT
Tue, Sep 12, 12:35 AM

Mon, Sep 11

rogfer01 added a comment to D37690: [ARM] Fix typo when creating ISD::SUB nodes.

This blunder of mine caused PR34564.

Mon, Sep 11, 11:57 PM
rogfer01 created D37690: [ARM] Fix typo when creating ISD::SUB nodes.
Mon, Sep 11, 7:45 AM
rogfer01 committed rL312898: [ARM] Use ADDCARRY / SUBCARRY.
[ARM] Use ADDCARRY / SUBCARRY
Mon, Sep 11, 12:39 AM
rogfer01 closed D35192: [ARM] Use ADDCARRY / SUBCARRY by committing rL312898: [ARM] Use ADDCARRY / SUBCARRY.
Mon, Sep 11, 12:39 AM
rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

Thanks for the review Eli!

Mon, Sep 11, 12:31 AM

Fri, Sep 8

rogfer01 updated subscribers of D35192: [ARM] Use ADDCARRY / SUBCARRY.
Fri, Sep 8, 9:50 AM
rogfer01 added inline comments to D35192: [ARM] Use ADDCARRY / SUBCARRY.
Fri, Sep 8, 9:49 AM
rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • Fix problem in S/UMLAL combiner that caused PR34045.
  • New bugpoint-reduced test based on the reproducer of PR34045.
Fri, Sep 8, 9:45 AM

Tue, Aug 29

rogfer01 accepted D33719: Add _Float16 as a C/C++ source language type.

This LGTM now. Wait a couple of days in case @rsmith has more comments.

Tue, Aug 29, 9:00 AM
rogfer01 added a comment to D33719: Add _Float16 as a C/C++ source language type.

There are a few tests checking the precise interaction between __fp16 and _Float16 values but I don't see tests interacting _Float16 and the other standard floating types float, double and long double.

Tue, Aug 29, 7:39 AM

Aug 3 2017

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

Reopening: this is causing PR34045.

Aug 3 2017, 11:45 PM
rogfer01 committed rL309923: [ARM] Use ADDCARRY / SUBCARRY.
[ARM] Use ADDCARRY / SUBCARRY
Aug 3 2017, 12:46 AM
rogfer01 closed D35192: [ARM] Use ADDCARRY / SUBCARRY by committing rL309923: [ARM] Use ADDCARRY / SUBCARRY.
Aug 3 2017, 12:45 AM

Aug 1 2017

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

I plan to submit this tomorrow morning (BST time).

Aug 1 2017, 7:22 AM
rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • clang-format fixes
Aug 1 2017, 7:21 AM

Jul 26 2017

rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • Remove unnecessary combiner for ARMISD::SUBC
  • Refactor a bit the conversion carry to/from boolean
Jul 26 2017, 9:02 AM

Jul 19 2017

rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • Use ISD::SUB instead of ARMISD::SUBC when inverting the borrow / carry.
  • Due to the above, remove now unnecessary target-specific combiner.
Jul 19 2017, 7:42 AM
rogfer01 added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

Hi @efriedma thanks for your suggestion, this way I can avoid one target-specific combiner which I have now removed.

Jul 19 2017, 7:42 AM

Jul 18 2017

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

Hi @efriedma, thanks for the review, please find the updated changes. I was wrongly handling ISD::SUBCARRY because its operand is a borrow while ARMISD::SUBE expects a carry.

Jul 18 2017, 9:36 AM
rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • Correctly handle the second operand of ISD::SUBCARRY. We need to invert its value (i.e. 1-x) before passing it to ARMISD::SUBE, also the result of ARMISD::SUBE has to be inverted again to match what ISD::SUBCARRY means.
  • Fix USUBO lowering as a consequence of the above.
  • Add a combiner for (SUBC 1, (SUBC 1, X)) → X
  • Compute the known bits of (SUBC 1, (ADDE 0, 0, C)) (1 bit) to avoid spurious and instructions.
  • Update the tests for usub_builtin_overflow with the correct code generation.
  • Remove combiners that became pointless after the changes above.
Jul 18 2017, 9:33 AM

Jul 14 2017

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

Thanks again @efriedma.

Jul 14 2017, 2:19 AM
rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • Remove incorrect computation of known bits for an operand that contains a copy of the CPSR and not a boolean.
Jul 14 2017, 2:17 AM

Jul 13 2017

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

Hi @efriedma, thanks again for the comments. I have updated the diff with your suggestions.

Jul 13 2017, 7:23 AM
rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • Use a single file for the new tests instead of scattering them in two files.
  • Fix a bug introduced when ARMTargetLowering::computeKnownBitsForTargetNode was updated.
Jul 13 2017, 7:12 AM

Jul 12 2017

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

Hi @efriedma, thanks for the review. I have updated with your suggestions.

Jul 12 2017, 8:47 AM
rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • Fix combiners so they preserve the arity of the result.
  • Remove bogus combiner.
  • Add new tests for {u,s}{add,sub} overflow for Thumb and Thumb2
Jul 12 2017, 8:45 AM

Jul 10 2017

rogfer01 updated the diff for D35192: [ARM] Use ADDCARRY / SUBCARRY.

ChangeLog:

  • clang-format LowerUnsignedALUO
  • fix FileCheck test
Jul 10 2017, 5:34 AM
rogfer01 updated subscribers of D35192: [ARM] Use ADDCARRY / SUBCARRY.
Jul 10 2017, 3:07 AM
rogfer01 added a comment to D34515: [ARM] Materialise some boolean values to avoid a branch.

Hi Eli,

Jul 10 2017, 2:44 AM
rogfer01 added a dependent revision for D35192: [ARM] Use ADDCARRY / SUBCARRY: D34515: [ARM] Materialise some boolean values to avoid a branch.
Jul 10 2017, 2:43 AM
rogfer01 added a dependency for D34515: [ARM] Materialise some boolean values to avoid a branch: D35192: [ARM] Use ADDCARRY / SUBCARRY.
Jul 10 2017, 2:43 AM
rogfer01 added inline comments to D35192: [ARM] Use ADDCARRY / SUBCARRY.
Jul 10 2017, 2:43 AM
rogfer01 created D35192: [ARM] Use ADDCARRY / SUBCARRY.
Jul 10 2017, 2:40 AM

Jul 7 2017

rogfer01 added a comment to D35108: Fix crash parsing invalid code.

Hi @ogoffart thanks for fixing this.

Jul 7 2017, 12:56 AM

Jul 6 2017

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

thanks for pointing me to the ADDCARRY/SUBCARRY nodes. I tried to use them but I ran into serious problems (maybe due to some inexperience on my side working with SelectionDAG). First if I want to use them I assume I have to make them legal for the ARM back end, this means that I have to lower them somehow. After the short discussion in the list about the semantics of SUBCARRY I made ISD::ADDCARRY to lower to ARMISD::ADDC and ISD::SUBCARRY to lower to ARMISD::SUBC plus doing an extra (ISD::ADD 1, c) to the carry result, to change from borrow semantics (ISD::SUBCARRY semantics) to ARM carry semantics.

Jul 6 2017, 9:55 AM

Jun 30 2017

rogfer01 accepted D34686: [AArch64] ARMV8-A archkind and target defines helper functions.

This LGTM. Thanks for the refactoring and the fix.

Jun 30 2017, 12:31 AM

Jun 28 2017

rogfer01 added a comment to D34686: [AArch64] ARMV8-A archkind and target defines helper functions.

I agree with the spirit of the change but I think you want to use AArch64:: enumerators instead of those in ARM::

Jun 28 2017, 3:13 AM

Jun 23 2017

rogfer01 updated subscribers of D34515: [ARM] Materialise some boolean values to avoid a branch.
Jun 23 2017, 3:12 AM

Jun 22 2017

rogfer01 created D34515: [ARM] Materialise some boolean values to avoid a branch.
Jun 22 2017, 8:41 AM

Jun 16 2017

rogfer01 added a comment to D33676: Place implictly declared functions at block scope.

Thanks Momchil, this looks sensible to me.

Jun 16 2017, 5:48 AM

Jun 15 2017

rogfer01 added inline comments to D33719: Add _Float16 as a C/C++ source language type.
Jun 15 2017, 1:26 AM

Jun 12 2017

rogfer01 committed rL305181: Export the required symbol from DynamicLibraryTests.
Export the required symbol from DynamicLibraryTests
Jun 12 2017, 12:22 AM
rogfer01 closed D33789: Export the required symbol from DynamicLibraryTests by committing rL305181: Export the required symbol from DynamicLibraryTests.
Jun 12 2017, 12:22 AM

Jun 8 2017

rogfer01 added a comment to D33676: Place implictly declared functions at block scope.

Given that we are already considering extensions, maybe you want to add a test for compound statements in expressions.

Jun 8 2017, 1:03 AM

Jun 5 2017

rogfer01 added a comment to D33789: Export the required symbol from DynamicLibraryTests.

This LGTM, @marsupial what do you think?

Jun 5 2017, 4:06 AM
rogfer01 accepted D33413: Add support for #pragma clang section.
Jun 5 2017, 12:46 AM
rogfer01 accepted D33412: Add support for #pragma clang section.
Jun 5 2017, 12:46 AM

Jun 2 2017

rogfer01 committed rL304524: Remove file that I forgot to remove as part of rL304523.
Remove file that I forgot to remove as part of rL304523
Jun 2 2017, 12:21 AM
rogfer01 committed rL304523: Mangle __unaligned in Itanium ABI.
Mangle __unaligned in Itanium ABI
Jun 2 2017, 12:15 AM
rogfer01 closed D33398: Mangle __unaligned in Itanium ABI by committing rL304523: Mangle __unaligned in Itanium ABI.
Jun 2 2017, 12:15 AM

Jun 1 2017

rogfer01 added a comment to D33412: Add support for #pragma clang section.

After the docs update this looks good to me.

Jun 1 2017, 1:33 AM
rogfer01 added a comment to D33413: Add support for #pragma clang section.

This looks good to me.

Jun 1 2017, 1:32 AM
rogfer01 added inline comments to D33398: Mangle __unaligned in Itanium ABI.
Jun 1 2017, 12:58 AM
rogfer01 updated the diff for D33398: Mangle __unaligned in Itanium ABI.

Changelog:

  • Fix formatting.
  • Emit __unaligned in the right order (as defined by the Itanium ABI) when there are Objective-C++ ARC vendor qualifiers.
  • New test for __unaligned and ARC's __weak, __strong and __autorelease
Jun 1 2017, 12:56 AM

May 31 2017

rogfer01 updated the diff for D33398: Mangle __unaligned in Itanium ABI.

Fix formatting of tests.

May 31 2017, 8:46 AM
rogfer01 added inline comments to D33719: Add _Float16 as a C/C++ source language type.
May 31 2017, 6:22 AM

May 30 2017

rogfer01 added a comment to D33676: Place implictly declared functions at block scope.

I think what happens is that the implicit declaration is done in the prototype scope which is not visible later.

May 30 2017, 9:02 AM
rogfer01 added a comment to D33676: Place implictly declared functions at block scope.

I wonder what should we do in C99 for cases like

May 30 2017, 8:04 AM
rogfer01 added reviewers for D33676: Place implictly declared functions at block scope: aaron.ballman, rsmith.
May 30 2017, 7:50 AM
rogfer01 added a comment to D33412: Add support for #pragma clang section.

This clang change looks sensible to me. Can you add documentation in LanguageExtensions.rst describing this new pragma and its semantics? Thanks!

May 30 2017, 3:27 AM
rogfer01 added a comment to D33413: Add support for #pragma clang section.

This supporting LLVM change looks good to me.

May 30 2017, 3:22 AM
rogfer01 updated the diff for D33398: Mangle __unaligned in Itanium ABI.

Thanks @aaron.ballman for the review.

May 30 2017, 1:37 AM

May 26 2017

rogfer01 committed rL304005: Revert "Export the required symbol from DynamicLibraryTests".
Revert "Export the required symbol from DynamicLibraryTests"
May 26 2017, 10:09 AM
rogfer01 added a comment to D33490: Export the required symbol from DynamicLibraryTests.

Ok, I will revert this one. @chill will suggest another solution. Sorry for the fuss.

May 26 2017, 10:04 AM
rogfer01 committed rL303979: Export the required symbol from DynamicLibraryTests.
Export the required symbol from DynamicLibraryTests
May 26 2017, 5:51 AM
rogfer01 closed D33490: Export the required symbol from DynamicLibraryTests by committing rL303979: Export the required symbol from DynamicLibraryTests.
May 26 2017, 5:51 AM

May 23 2017

rogfer01 updated the diff for D33398: Mangle __unaligned in Itanium ABI.

Abandon the old approach which cannot possibly work and just opt to mangle __unaligned.

May 23 2017, 3:41 AM
rogfer01 added inline comments to D33398: Mangle __unaligned in Itanium ABI.
May 23 2017, 12:13 AM

May 22 2017

rogfer01 created D33398: Mangle __unaligned in Itanium ABI.
May 22 2017, 2:39 AM

Apr 24 2017

rogfer01 added inline comments to D31814: Add option to add command-line options and version info to output file.
Apr 24 2017, 7:54 AM

Apr 19 2017

rogfer01 committed rL300686: Avoid assert when a non-static member function is qualified with __unaligned.
Avoid assert when a non-static member function is qualified with __unaligned
Apr 19 2017, 5:36 AM
rogfer01 closed D31976: Avoid assert when a non-static member function is qualified with __unaligned by committing rL300686: Avoid assert when a non-static member function is qualified with __unaligned.
Apr 19 2017, 5:36 AM

Apr 18 2017

rogfer01 added a comment to D31976: Avoid assert when a non-static member function is qualified with __unaligned.

clang::Sema::IsOverload explicitly forbids the __restrict case for the qualifier of non-static member functions. I assume __unaligned is not forbidden because the MSVC ABI does encode this qualifier while the Itanium ABI currently does not.

Apr 18 2017, 12:53 AM

Apr 12 2017

rogfer01 created D31976: Avoid assert when a non-static member function is qualified with __unaligned.
Apr 12 2017, 6:38 AM

Mar 30 2017

rogfer01 added inline comments to D31496: Make -defsym a driver option.
Mar 30 2017, 8:46 AM
rogfer01 added inline comments to D31496: Make -defsym a driver option.
Mar 30 2017, 8:26 AM

Mar 14 2017

rogfer01 added a comment to D30898: Add new -fverbose-asm that enables source interleaving.

A somewhat obvious comment: no chance for this to be accepted without LIT tests. I understand you have your doubts on the best approach to testing -- and it's OK to ask either here or on llvm-dev -- but tests should be added nevertheless.

Mar 14 2017, 1:05 AM

Mar 13 2017

rogfer01 updated the summary of D30897: [WIP] New AsmPrinterHandler that is able to interleave source code.
Mar 13 2017, 9:31 AM
rogfer01 updated the summary of D30897: [WIP] New AsmPrinterHandler that is able to interleave source code.
Mar 13 2017, 9:31 AM
rogfer01 updated the summary of D30898: Add new -fverbose-asm that enables source interleaving.
Mar 13 2017, 9:31 AM
rogfer01 updated the summary of D30898: Add new -fverbose-asm that enables source interleaving.
Mar 13 2017, 9:30 AM
rogfer01 created D30898: Add new -fverbose-asm that enables source interleaving.
Mar 13 2017, 9:28 AM
rogfer01 created D30897: [WIP] New AsmPrinterHandler that is able to interleave source code.
Mar 13 2017, 9:23 AM
rogfer01 committed rL297620: When diagnosing taking address of packed members skip __unaligned-qualified….
When diagnosing taking address of packed members skip __unaligned-qualified…
Mar 13 2017, 6:30 AM
rogfer01 closed D30884: When diagnosing taking address of packed members skip __unaligned-qualified expressions by committing rL297620: When diagnosing taking address of packed members skip __unaligned-qualified….
Mar 13 2017, 6:30 AM