Page MenuHomePhabricator

stefanp (Stefan Pintilie)
User

Projects

User does not belong to any projects.

User Details

User Since
May 29 2017, 8:02 AM (79 w, 6 d)

Recent Activity

Tue, Dec 4

stefanp committed rC348299: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Tue, Dec 4, 12:18 PM
stefanp committed rL348299: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Tue, Dec 4, 12:18 PM
stefanp closed D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Tue, Dec 4, 12:18 PM
stefanp committed rL348298: [PowerPC] Make no-PIC default to match GCC - LLVM.
[PowerPC] Make no-PIC default to match GCC - LLVM
Tue, Dec 4, 12:18 PM
stefanp closed D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .
Tue, Dec 4, 12:18 PM

Mon, Nov 26

stefanp updated the diff for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

Patch is now only for Little Endian.
Big Endian will remain PIC by default as it was before. This is due to a bug found on BE where -fsanitize=leak is not detecting leaks correctly. As Little Endian is a higher priority we will add that code first and then look at the BE issue at a later date.

Mon, Nov 26, 11:09 AM
stefanp updated the diff for D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

Patch is now only for Little Endian.
Big Endian will remain PIC by default as it was before. This is due to a bug found on BE where -fsanitize=leak is not detecting leaks correctly. As Little Endian is a higher priority we will add that code first and then look at the BE issue at a later date.

Mon, Nov 26, 11:09 AM

Wed, Nov 21

stefanp committed rL347428: [PowerPC][NFC] Split PPCMCCodeEmitter into header and cpp file..
[PowerPC][NFC] Split PPCMCCodeEmitter into header and cpp file.
Wed, Nov 21, 1:26 PM
stefanp committed rL347422: [PowerPC][NFC] Minor Code Cleaup for PPCMCCodeEmitter..
[PowerPC][NFC] Minor Code Cleaup for PPCMCCodeEmitter.
Wed, Nov 21, 12:50 PM

Fri, Nov 16

stefanp reopened D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .
Fri, Nov 16, 12:44 PM
stefanp reopened D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Fri, Nov 16, 12:44 PM
stefanp committed rL347076: Revert "[PowerPC] Make no-PIC default to match GCC - LLVM".
Revert "[PowerPC] Make no-PIC default to match GCC - LLVM"
Fri, Nov 16, 11:27 AM
stefanp committed rC347075: Revert "[PowerPC] Make no-PIC default to match GCC - CLANG".
Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"
Fri, Nov 16, 11:24 AM
stefanp committed rL347075: Revert "[PowerPC] Make no-PIC default to match GCC - CLANG".
Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"
Fri, Nov 16, 11:24 AM
stefanp committed rC347070: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Fri, Nov 16, 10:39 AM
stefanp committed rL347070: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Fri, Nov 16, 10:39 AM
stefanp closed D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Fri, Nov 16, 10:39 AM
stefanp committed rL347069: [PowerPC] Make no-PIC default to match GCC - LLVM.
[PowerPC] Make no-PIC default to match GCC - LLVM
Fri, Nov 16, 10:39 AM
stefanp closed D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .
Fri, Nov 16, 10:39 AM

Nov 2 2018

stefanp updated the diff for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

Added the PIC version to the second test as well.
Removed the third test. It has nothing to do with this change and I should not have modified that test in the first place.

Nov 2 2018, 2:24 PM
stefanp added inline comments to D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Nov 2 2018, 1:42 PM

Oct 25 2018

stefanp added a comment to D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

@joerg
When you say that we produce quite bad position dependent code do you mean in terms of performance or in terms of correctness? At this point I have not seen any issues with the no-PIC code. If you have an example of this bad code please share the test case.
Also, changing the default option to no-PIC does not mean that everything we do will become no-PIC. For example, the way that the TOC is handled on PPC remains position independent. However, going from PIC to no-PIC does offer a number of opportunities (for example in in-lining).
With respect to PIE I'm not sure what the difference is between PIE and static relocation models in terms of code generation. Is there any reason why you would prefer PIE in this case? Do you have an example that shows it to be better than say no-PIC?

Oct 25 2018, 1:06 PM

Oct 24 2018

stefanp added a comment to D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

Generally the way I decided on how to update the test depended on a couple of things:

  1. If the test had this line: ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py it means that we had an auto generate test and if I felt that the test had nothing really to do with PIC or no-PIC I would just regenerate it. For example a number of tests just had addis ld differences.
  2. If the test was not auto generated but it still had nothing to do with PIC / no-PIC I would just add -relocation-model=pic. Changing these tests would not get us very much and it would be a significant amount of work.
  3. For tests that had something to do with PIC / no-PIC I tried to make a judgement call as to what would be more useful to keep (the PIC test or the non-PIC test). If you feel that some of these tests I should have been the other way around let me know. I know you mentioned a couple in your comment and I'll take a look at those.
Oct 24 2018, 1:25 PM
stefanp added inline comments to D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Oct 24 2018, 1:09 PM
stefanp updated the diff for D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

Default on all Power PC platforms is now no-PIC.
If any bugs are exposed by this change we will fix them as they are exposed.

Oct 24 2018, 10:14 AM
stefanp updated the diff for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

Default on all Power PC platforms is now no-PIC.
If any bugs are exposed by this change we will fix them as they are exposed.

Oct 24 2018, 10:13 AM

Oct 23 2018

stefanp committed rL345053: [Power9] Add __float128 support in the backend for bitcast to a i128.
[Power9] Add __float128 support in the backend for bitcast to a i128
Oct 23 2018, 10:13 AM
stefanp closed D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.
Oct 23 2018, 10:13 AM

Oct 22 2018

stefanp updated the diff for D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.

Simplified the code further.

Oct 22 2018, 9:13 AM
stefanp updated the diff for D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

Updated test cases.

Oct 22 2018, 6:33 AM
stefanp updated the diff for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

Test cases updated.

Oct 22 2018, 6:30 AM

Oct 19 2018

stefanp updated the diff for D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.

Simplified some of the conditionals (easier to read) and added an early exit.

Oct 19 2018, 9:01 AM

Oct 17 2018

stefanp added a child revision for D53383: [PowerPC] Make no-PIC default to match GCC - LLVM : D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Oct 17 2018, 12:39 PM
stefanp added a parent revision for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG: D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .
Oct 17 2018, 12:39 PM
stefanp created D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Oct 17 2018, 12:38 PM
stefanp created D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .
Oct 17 2018, 12:36 PM

Oct 10 2018

stefanp updated the diff for D42590: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue (Version 2).

I'm sorry it took so long for me to look at this review.

Oct 10 2018, 1:08 PM

Oct 5 2018

stefanp updated the diff for D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.

Addressed review comments.

Oct 5 2018, 12:16 PM

Oct 4 2018

stefanp updated the diff for D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.

Removed the custom PPCISD node and it simplified the patch considerably.

Oct 4 2018, 11:14 AM

Oct 1 2018

stefanp committed rL343525: [PowerPC] Folding XForm to DForm loads requires alignment for some DForm loads..
[PowerPC] Folding XForm to DForm loads requires alignment for some DForm loads.
Oct 1 2018, 1:18 PM
stefanp closed D51988: [PowerPC] Folding XForm to DForm loads requires alignment for some DForm loads..
Oct 1 2018, 1:18 PM
stefanp updated the diff for D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.

Address Review Comments

Oct 1 2018, 12:24 PM

Sep 28 2018

stefanp updated the diff for D51988: [PowerPC] Folding XForm to DForm loads requires alignment for some DForm loads..

Moved condition to the correct location and added a test case.

Sep 28 2018, 2:33 PM

Sep 24 2018

stefanp committed rL342911: [Power9] [CLANG] Add __float128 exponent GET and SET builtins.
[Power9] [CLANG] Add __float128 exponent GET and SET builtins
Sep 24 2018, 11:16 AM
stefanp committed rC342911: [Power9] [CLANG] Add __float128 exponent GET and SET builtins.
[Power9] [CLANG] Add __float128 exponent GET and SET builtins
Sep 24 2018, 11:16 AM
stefanp closed D48184: [Power9] [CLANG] Add __float128 exponent GET and SET builtins.
Sep 24 2018, 11:16 AM
stefanp committed rL342910: [Power9] [LLVM] Add __float128 exponent GET and SET builtins.
[Power9] [LLVM] Add __float128 exponent GET and SET builtins
Sep 24 2018, 11:16 AM
stefanp closed D48185: [Power9] [LLVM] Add __float128 exponent GET and SET builtins.
Sep 24 2018, 11:16 AM

Sep 12 2018

stefanp created D51988: [PowerPC] Folding XForm to DForm loads requires alignment for some DForm loads..
Sep 12 2018, 7:28 AM

Sep 10 2018

stefanp updated the diff for D48185: [Power9] [LLVM] Add __float128 exponent GET and SET builtins.

Update patch based on reviewer comments.

Sep 10 2018, 1:25 PM

Aug 27 2018

stefanp added a comment to D50987: [Exception Handling] Unwind tables are required for all functions that have an EH personality..

I'm not 100% sure if we can remove the default option -funwind-tables for x86.
I know that using -funwind-tables prevents (or hides) this issue but it may be required for another reason that this fix does not cover. I don't actually know what the initial intention was when that default was added.
I think that someone on the x86 side would be a better judge of this.

Aug 27 2018, 5:43 AM

Aug 24 2018

stefanp committed rL340643: [PowerPC] Emit xscpsgndp instead of xxlor when copying floating point scalar….
[PowerPC] Emit xscpsgndp instead of xxlor when copying floating point scalar…
Aug 24 2018, 1:01 PM
stefanp closed D50004: [PowerPC] Emit xscpsgndp instead of xxlor when copying floating point scalar registers for P9.
Aug 24 2018, 1:01 PM
stefanp committed rL340641: [Exception Handling] Unwind tables are required for all functions that have an….
[Exception Handling] Unwind tables are required for all functions that have an…
Aug 24 2018, 12:40 PM
stefanp closed D50987: [Exception Handling] Unwind tables are required for all functions that have an EH personality..
Aug 24 2018, 12:39 PM
stefanp committed rL340639: [PowerPC] Change Test Options [NFC].
[PowerPC] Change Test Options [NFC]
Aug 24 2018, 12:25 PM
stefanp reopened D50987: [Exception Handling] Unwind tables are required for all functions that have an EH personality..
Aug 24 2018, 11:00 AM
stefanp committed rL340625: Revert "[Exception Handling] Unwind tables are required for all functions that….
Revert "[Exception Handling] Unwind tables are required for all functions that…
Aug 24 2018, 10:28 AM
stefanp added a reverting change for rL340614: [Exception Handling] Unwind tables are required for all functions that have an…: rL340625: Revert "[Exception Handling] Unwind tables are required for all functions that….
Aug 24 2018, 10:28 AM
stefanp committed rL340614: [Exception Handling] Unwind tables are required for all functions that have an….
[Exception Handling] Unwind tables are required for all functions that have an…
Aug 24 2018, 8:52 AM
stefanp closed D50987: [Exception Handling] Unwind tables are required for all functions that have an EH personality..
Aug 24 2018, 8:52 AM

Aug 22 2018

stefanp updated the diff for D50987: [Exception Handling] Unwind tables are required for all functions that have an EH personality..

Sorry about that. I should have added the test cases earlier.

Aug 22 2018, 12:15 PM

Aug 20 2018

stefanp updated the diff for D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.

Added test case.
Address reviewers comments.

Aug 20 2018, 1:46 PM
stefanp created D50987: [Exception Handling] Unwind tables are required for all functions that have an EH personality..
Aug 20 2018, 12:17 PM
stefanp abandoned D50908: [PowerPC] Enable -funwind-tables by default on powerpc.

Determined this is not the correct way to solve this problem.
Going to abandon this change.

Aug 20 2018, 11:38 AM

Aug 17 2018

stefanp added a comment to D50908: [PowerPC] Enable -funwind-tables by default on powerpc.

GCC does call the exception handler correctly for this example. However, it does not (at least not that I can tell) have a default option like the one llvm uses -funwind-tables.

Aug 17 2018, 12:20 PM
stefanp created D50908: [PowerPC] Enable -funwind-tables by default on powerpc.
Aug 17 2018, 9:54 AM
stefanp committed rL340037: [PowerPC] Generate lxsd instead of the ld->mtvsrd sequence for vector loads.
[PowerPC] Generate lxsd instead of the ld->mtvsrd sequence for vector loads
Aug 17 2018, 8:16 AM
stefanp closed D49698: [PowerPC] Generate lxsd instead of the ld->mtvsrd sequence for vector loads.
Aug 17 2018, 8:16 AM

Aug 8 2018

stefanp commandeered D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.
Aug 8 2018, 11:00 AM

Jul 19 2018

stefanp committed rL337488: [Power9] Code Cleanup - Remove needsAggressiveScheduling().
[Power9] Code Cleanup - Remove needsAggressiveScheduling()
Jul 19 2018, 12:39 PM
stefanp closed D48663: [Power9] Code Cleanup - Remove needsAggressiveScheduling().
Jul 19 2018, 12:39 PM

Jul 18 2018

stefanp created D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.
Jul 18 2018, 1:20 PM

Jul 12 2018

stefanp committed rL336940: [PowerPC] [NFC] Update __float128 tests.
[PowerPC] [NFC] Update __float128 tests
Jul 12 2018, 1:24 PM

Jul 10 2018

stefanp abandoned D48526: [Power9] Add six __float128 builtins found in gcc.

We have determined that we do not require these builtin names.

Jul 10 2018, 6:55 PM
stefanp committed rL336754: [Power9] Add remaining __flaot128 builtin support for FMA round to odd.
[Power9] Add remaining __flaot128 builtin support for FMA round to odd
Jul 10 2018, 6:47 PM
stefanp closed D48218: [Power9] Add remaining __flaot128 builtin support for FMA round to odd.
Jul 10 2018, 6:47 PM
stefanp added a comment to D48185: [Power9] [LLVM] Add __float128 exponent GET and SET builtins.

I looked into the naming of those builtins.
GCC does document the overloaded versions of those functions:
scalar_extract_exp for __builtin_vsx_scalar_extract_expq
scalar_insert_exp for __builtin_vsx_scalar_insert_exp_qp

Jul 10 2018, 10:17 AM

Jul 9 2018

stefanp committed rL336601: [Power9] Add __float128 builtins for Rounding Operations.
[Power9] Add __float128 builtins for Rounding Operations
Jul 9 2018, 1:43 PM
stefanp closed D48415: [Power9] Add __float128 builtins for Rounding Operations.
Jul 9 2018, 1:43 PM
stefanp committed rL336596: [Power9] [CLANG] Add __float128 support for trunc to double round to odd.
[Power9] [CLANG] Add __float128 support for trunc to double round to odd
Jul 9 2018, 1:15 PM
stefanp committed rC336596: [Power9] [CLANG] Add __float128 support for trunc to double round to odd.
[Power9] [CLANG] Add __float128 support for trunc to double round to odd
Jul 9 2018, 1:14 PM
stefanp closed D48482: [Power9] [CLANG] Add __float128 support for trunc to double round to odd.
Jul 9 2018, 1:14 PM
stefanp committed rL336595: [Power9] [LLVM] Add __float128 support for trunc to double round to odd.
[Power9] [LLVM] Add __float128 support for trunc to double round to odd
Jul 9 2018, 1:14 PM
stefanp closed D48483: [Power9] [LLVM] Add __float128 support for trunc to double round to odd.
Jul 9 2018, 1:14 PM
stefanp committed rC336579: [Power9] Add __float128 builtins for Round To Odd.
[Power9] Add __float128 builtins for Round To Odd
Jul 9 2018, 11:55 AM
stefanp committed rL336579: [Power9] Add __float128 builtins for Round To Odd.
[Power9] Add __float128 builtins for Round To Odd
Jul 9 2018, 11:55 AM
stefanp closed D47548: [Power9] Add __float128 builtins for Round To Odd.
Jul 9 2018, 11:55 AM
stefanp closed D47548: [Power9] Add __float128 builtins for Round To Odd.
Jul 9 2018, 11:55 AM
stefanp committed rL336578: [Power9] Add __float128 builtins for Round To Odd.
[Power9] Add __float128 builtins for Round To Odd
Jul 9 2018, 11:55 AM
stefanp closed D47550: [Power9] Add __float128 builtins for Round To Odd.
Jul 9 2018, 11:55 AM
stefanp committed rL336548: [Power9] Add __float128 support for compare operations.
[Power9] Add __float128 support for compare operations
Jul 9 2018, 6:41 AM
stefanp closed D48294: [Power9] Add __float128 support for compare operations.
Jul 9 2018, 6:41 AM

Jul 5 2018

stefanp committed rL336406: [Power9] Add __float128 library call for frem.
[Power9] Add __float128 library call for frem
Jul 5 2018, 7:52 PM
stefanp closed D48552: [Power9] Add __float128 library call for frem.
Jul 5 2018, 7:51 PM
stefanp updated the diff for D48294: [Power9] Add __float128 support for compare operations.

Added handling for the select f128.
Unlike the double type, the __float128 type cannot not use the fsel instruction but we should still expand it to something that functions correctly.

Jul 5 2018, 12:38 PM
stefanp closed D45265: [PowerPC] Replace the Post RA List Scheduler with the Machine Scheduler.

Done.
Committed in revision: rL336295

Jul 5 2018, 7:00 AM

Jul 4 2018

stefanp committed rL336295: [PowerPC] Replace the Post RA List Scheduler with the Machine Scheduler.
[PowerPC] Replace the Post RA List Scheduler with the Machine Scheduler
Jul 4 2018, 11:59 AM
stefanp added a comment to D48663: [Power9] Code Cleanup - Remove needsAggressiveScheduling().

Hi Hal, Eric,

Jul 4 2018, 10:48 AM

Jun 29 2018

stefanp added a comment to D48663: [Power9] Code Cleanup - Remove needsAggressiveScheduling().

Hi Eric,

Jun 29 2018, 6:43 AM