Page MenuHomePhabricator

sfertile (Sean Fertile)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 24 2016, 8:15 AM (116 w, 6 d)

Recent Activity

Fri, Jan 18

sfertile created D56920: [PPC64] Sort .toc sections accessed with small code model relocs close to the .got.
Fri, Jan 18, 9:56 AM

Thu, Jan 17

sfertile updated the diff for D54720: [PPC64] toc-indirect to toc-relative relaxation..

Fixed look up to handle .toc sections that don't have a relocation for every entry and added a comprehensive test to verify we perform the correct optimization on all access types in this case.

Thu, Jan 17, 10:13 AM

Thu, Jan 10

sfertile committed rL350828: Modify InputSectionBase::getLocation to add section and offset to every loc..
Modify InputSectionBase::getLocation to add section and offset to every loc.
Thu, Jan 10, 7:13 AM
sfertile committed rLLD350828: Modify InputSectionBase::getLocation to add section and offset to every loc..
Modify InputSectionBase::getLocation to add section and offset to every loc.
Thu, Jan 10, 7:13 AM
sfertile closed D56453: Modify InputSectionBase::getLocation to add section and offset to every location string..
Thu, Jan 10, 7:12 AM
sfertile committed rLLD350827: [PPC64] Fix RelType in checkInt and checkAlignment diagnsotics..
[PPC64] Fix RelType in checkInt and checkAlignment diagnsotics.
Thu, Jan 10, 7:12 AM
sfertile committed rL350827: [PPC64] Fix RelType in checkInt and checkAlignment diagnsotics..
[PPC64] Fix RelType in checkInt and checkAlignment diagnsotics.
Thu, Jan 10, 7:12 AM
sfertile closed D56448: [PPC64] Fix RelType in checkInt and checkAlignment diagnsotics..
Thu, Jan 10, 7:12 AM

Tue, Jan 8

sfertile added inline comments to D56453: Modify InputSectionBase::getLocation to add section and offset to every location string..
Tue, Jan 8, 8:12 PM
sfertile created D56453: Modify InputSectionBase::getLocation to add section and offset to every location string..
Tue, Jan 8, 1:30 PM
sfertile added inline comments to D56448: [PPC64] Fix RelType in checkInt and checkAlignment diagnsotics..
Tue, Jan 8, 11:41 AM
sfertile created D56448: [PPC64] Fix RelType in checkInt and checkAlignment diagnsotics..
Tue, Jan 8, 11:01 AM

Mon, Jan 7

sfertile added inline comments to D54720: [PPC64] toc-indirect to toc-relative relaxation..
Mon, Jan 7, 7:12 AM

Thu, Jan 3

sfertile added inline comments to D54720: [PPC64] toc-indirect to toc-relative relaxation..
Thu, Jan 3, 12:14 PM

Mon, Dec 31

sfertile updated the diff for D54720: [PPC64] toc-indirect to toc-relative relaxation..

Forgot to update formatting in one of the tests.

Mon, Dec 31, 9:26 AM
sfertile updated the diff for D54720: [PPC64] toc-indirect to toc-relative relaxation..

Addressed review comments

Mon, Dec 31, 9:19 AM

Thu, Dec 27

sfertile updated the diff for D54720: [PPC64] toc-indirect to toc-relative relaxation..

Moved the toc relaxation logic into the PPC64 target.

Thu, Dec 27, 1:19 PM

Mon, Dec 24

sfertile added a comment to D55498: [PPC64] Support R_PPC64_GOT16 Relocations.

This was already implemented in rL349511 and rL349772.
Thanks @sfertile and sorry for the noise.
I don't know if there are any notes here that are useful. --got-optimize ?

Mon, Dec 24, 7:33 AM

Dec 20 2018

sfertile committed rLLD349772: [PPC64] Add toc-optimizations for got based relocations..
[PPC64] Add toc-optimizations for got based relocations.
Dec 20 2018, 9:05 AM
sfertile committed rL349772: [PPC64] Add toc-optimizations for got based relocations..
[PPC64] Add toc-optimizations for got based relocations.
Dec 20 2018, 9:04 AM
sfertile closed D54907: [PPC64] Support toc-optimization for '@got' relocations.
Dec 20 2018, 9:03 AM

Dec 18 2018

sfertile closed D54859: [PPC64] Support got relocations.

Committed: https://reviews.llvm.org/rLLD349511

Dec 18 2018, 9:46 AM
sfertile committed rL349511: [PPC64] Support got-based relocations..
[PPC64] Support got-based relocations.
Dec 18 2018, 9:38 AM
sfertile committed rLLD349511: [PPC64] Support got-based relocations..
[PPC64] Support got-based relocations.
Dec 18 2018, 9:38 AM
sfertile added a comment to D54859: [PPC64] Support got relocations.

Reminder for committing :)

Dec 18 2018, 7:18 AM
sfertile added inline comments to D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Dec 18 2018, 7:17 AM

Dec 5 2018

sfertile added a comment to D54720: [PPC64] toc-indirect to toc-relative relaxation..

Related to @grimar comment, I am also playing around with doing some of the checking early and mapping toc based relocations that are not-relaxable to got based relocations during scanRelocs. Ideally I'd like to be able to add a separate step for PPC64 once all relocations have been scanned that will iterate over the .toc sections to handle large-code model where any symbols that can't be safely relaxed get added to the .got and all remaining toc based relocations get relaxed. This should hopefully allow me to get rid of the .toc sections in the final binaries, but I'm not familiar enough with large-code model, or gcc and xlc codegen to know if this is feasible yet.

Dec 5 2018, 8:45 AM

Dec 4 2018

sfertile added inline comments to D54720: [PPC64] toc-indirect to toc-relative relaxation..
Dec 4 2018, 7:17 AM
sfertile updated the diff for D54720: [PPC64] toc-indirect to toc-relative relaxation..

Addressed further review comments.

Dec 4 2018, 7:13 AM

Dec 3 2018

sfertile accepted D54868: [PPC][PPC64] PPC_REL14 and PPC64_REL14 relocations.

Other then my one comment it LGTM.

Dec 3 2018, 7:00 AM · lld

Nov 30 2018

sfertile accepted D54925: [NFC] [PowerPC] add an routine in PPCTargetLowering to determine if a global is accessed as got-indirect or not..

LGTM!

Nov 30 2018, 6:40 AM

Nov 29 2018

sfertile added inline comments to D54925: [NFC] [PowerPC] add an routine in PPCTargetLowering to determine if a global is accessed as got-indirect or not..
Nov 29 2018, 10:28 AM

Nov 26 2018

sfertile created D54907: [PPC64] Support toc-optimization for '@got' relocations.
Nov 26 2018, 10:08 AM
sfertile added inline comments to D54859: [PPC64] Support got relocations.
Nov 26 2018, 9:02 AM

Nov 23 2018

sfertile created D54859: [PPC64] Support got relocations.
Nov 23 2018, 6:14 AM

Nov 22 2018

sfertile added inline comments to D54720: [PPC64] toc-indirect to toc-relative relaxation..
Nov 22 2018, 10:46 AM
sfertile updated the diff for D54720: [PPC64] toc-indirect to toc-relative relaxation..

Addressed initial review comments.

Nov 22 2018, 10:44 AM

Nov 19 2018

sfertile updated the diff for D54720: [PPC64] toc-indirect to toc-relative relaxation..

Added full context

Nov 19 2018, 1:23 PM
sfertile added a comment to D54720: [PPC64] toc-indirect to toc-relative relaxation..

Zaara pointed out I am missing the full context, I'll re post the patch with the context fixed shortly.

Nov 19 2018, 1:05 PM
sfertile created D54720: [PPC64] toc-indirect to toc-relative relaxation..
Nov 19 2018, 12:54 PM

Nov 16 2018

sfertile accepted D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

LGTM

Nov 16 2018, 10:23 AM

Nov 14 2018

sfertile committed rLLD346877: [PPC64] Long branch thunks..
[PPC64] Long branch thunks.
Nov 14 2018, 9:59 AM
sfertile committed rLLD346876: [NFC] Change address __tls_getaddr is defined at so it does not need a thunk..
[NFC] Change address __tls_getaddr is defined at so it does not need a thunk.
Nov 14 2018, 9:59 AM
sfertile committed rL346877: [PPC64] Long branch thunks..
[PPC64] Long branch thunks.
Nov 14 2018, 9:59 AM
sfertile closed D53408: [PPC64] Long branch thunks. .
Nov 14 2018, 9:59 AM · lld
sfertile committed rL346876: [NFC] Change address __tls_getaddr is defined at so it does not need a thunk..
[NFC] Change address __tls_getaddr is defined at so it does not need a thunk.
Nov 14 2018, 9:59 AM

Nov 13 2018

sfertile accepted D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

I definitely agree we need to fix the PIC by default behavior, PIC implies we need to produce code suitable for a shared object and that has a number of unneeded limitations. I tried to figure out what we are doing differently between pie and static relocation models but don't see much difference.
For the most part we happen to do the same thing, for example the default isOffsetFoldingLegal depends on position-dependence but the PPCTargetLowering overrides it to always return false, we always produce relative jump-tables for ppc64 regardless of the relocation mode, we always use TOC-pointer relative addressing for module local symbols regardles of relocation model . The one difference I did find is TargetLoweringObjectFile::getKindForGlobal although that line looks wrong to me. Static binaries can still link against shared objects. Globals/functions defined in those will not have their addresses resolved at link time, unless maybe this is only a problem on ppc since we don't use copy relocs? (I believe the original PIC by default change was motivated by this but without a clear example I'm not sure why ...). I don't like using the fact there is (or was) bad codegen for the static relocation model as reasoning for picking pie as the default, that bad codegen comes back if the user adds -fno-pie as an option.

Nov 13 2018, 1:10 PM

Nov 8 2018

sfertile updated the diff for D53408: [PPC64] Long branch thunks. .

Added separate index for use in the branch_lt section and added comment on how we will end up with an empty branch_lt section due removing empty synthetic sections before thunk allocation.

Nov 8 2018, 9:14 AM · lld

Nov 7 2018

sfertile accepted D54200: [PPC64] Use INT32_MIN instead of std::numeric_limits<int32_t>::min().

LGTM

Nov 7 2018, 11:22 AM

Oct 30 2018

sfertile added inline comments to D53601: [GCOV] Add a test for function defined on one line (follow-up of https://reviews.llvm.org/D53600).
Oct 30 2018, 1:20 PM
sfertile committed rL345604: [PPC64] Handle powerpc64 in OUTPUT_FORMAT..
[PPC64] Handle powerpc64 in OUTPUT_FORMAT.
Oct 30 2018, 7:41 AM
sfertile committed rLLD345604: [PPC64] Handle powerpc64 in OUTPUT_FORMAT..
[PPC64] Handle powerpc64 in OUTPUT_FORMAT.
Oct 30 2018, 7:40 AM
sfertile closed D53652: [PPC64] Handle powerpc64 in OUTPUT_FORMAT.
Oct 30 2018, 7:40 AM
sfertile added a comment to D53652: [PPC64] Handle powerpc64 in OUTPUT_FORMAT.

Hi... can you commit

Oct 30 2018, 7:18 AM

Oct 29 2018

sfertile accepted D53821: [ELF][PPC64]Workaround bogus Visual Studio build warning.

Thanks for cleaning this up. LGTM.

Oct 29 2018, 9:56 AM

Oct 25 2018

sfertile added inline comments to D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Oct 25 2018, 6:55 AM

Oct 24 2018

sfertile added inline comments to D53408: [PPC64] Long branch thunks. .
Oct 24 2018, 1:19 PM · lld
sfertile added inline comments to D53408: [PPC64] Long branch thunks. .
Oct 24 2018, 12:42 PM · lld
sfertile added inline comments to D53408: [PPC64] Long branch thunks. .
Oct 24 2018, 12:22 PM · lld
sfertile updated the diff for D53408: [PPC64] Long branch thunks. .

Addressed further review comments and update the formatting in the added tests.

Oct 24 2018, 12:14 PM · lld
sfertile created D53652: [PPC64] Handle powerpc64 in OUTPUT_FORMAT.
Oct 24 2018, 9:10 AM

Oct 23 2018

sfertile added inline comments to D53408: [PPC64] Long branch thunks. .
Oct 23 2018, 12:58 PM · lld
sfertile updated the diff for D53408: [PPC64] Long branch thunks. .

Addressed initial review comments.

Oct 23 2018, 12:43 PM · lld

Oct 18 2018

sfertile abandoned D49795: [PPC64] Position-independent long-branch thunks..

Abandoned in favour of https://reviews.llvm.org/D53408

Oct 18 2018, 12:30 PM
sfertile abandoned D50097: [PPC64] Position-dependent long-branch thunks..

Abandoned in favor of [[ https://reviews.llvm.org/D53408 | [PPC64] Long branch thunks. ]]

Oct 18 2018, 12:29 PM
sfertile created D53408: [PPC64] Long branch thunks. .
Oct 18 2018, 12:27 PM · lld
sfertile committed rLLD344747: [PPC64] Fix offset checks on rel24 call relocations..
[PPC64] Fix offset checks on rel24 call relocations.
Oct 18 2018, 8:46 AM
sfertile committed rL344747: [PPC64] Fix offset checks on rel24 call relocations..
[PPC64] Fix offset checks on rel24 call relocations.
Oct 18 2018, 8:45 AM
sfertile closed D53401: [PPC64] Fix offset checks on rel24 call relocations..
Oct 18 2018, 8:45 AM · lld
sfertile created D53401: [PPC64] Fix offset checks on rel24 call relocations..
Oct 18 2018, 7:57 AM · lld

Oct 16 2018

sfertile committed rLLD344622: Reland "[PPC64] Add split - stack support.".
Reland "[PPC64] Add split - stack support."
Oct 16 2018, 10:16 AM
sfertile committed rL344622: Reland "[PPC64] Add split - stack support.".
Reland "[PPC64] Add split - stack support."
Oct 16 2018, 10:15 AM

Oct 15 2018

sfertile committed rLLD344551: Revert "[PPC64] Add split - stack support.".
Revert "[PPC64] Add split - stack support."
Oct 15 2018, 1:23 PM
sfertile committed rL344551: Revert "[PPC64] Add split - stack support.".
Revert "[PPC64] Add split - stack support."
Oct 15 2018, 1:23 PM
sfertile committed rLLD344544: [PPC64] Add split - stack support..
[PPC64] Add split - stack support.
Oct 15 2018, 12:08 PM
sfertile committed rL344544: [PPC64] Add split - stack support..
[PPC64] Add split - stack support.
Oct 15 2018, 12:08 PM
sfertile closed D52099: [PPC64] Add split-stack support..
Oct 15 2018, 12:07 PM
sfertile added a comment to rL344150: [CodeGenCXX] Treat 'this' as noalias in constructors.

Reverted in https://reviews.llvm.org/rL344526 until we can figure this out.

Oct 15 2018, 8:57 AM
sfertile committed rC344526: Revert "[CodeGenCXX] Treat 'this' as noalias in constructors".
Revert "[CodeGenCXX] Treat 'this' as noalias in constructors"
Oct 15 2018, 8:46 AM
sfertile committed rL344526: Revert "[CodeGenCXX] Treat 'this' as noalias in constructors".
Revert "[CodeGenCXX] Treat 'this' as noalias in constructors"
Oct 15 2018, 8:45 AM

Oct 11 2018

sfertile added a comment to rL344234: clang-cl: Add /showFilenames option (PR31957).

I've reverted this for now.

Oct 11 2018, 11:54 AM
sfertile committed rL344276: Revert "clang-cl: Add /showFilenames option (PR31957)".
Revert "clang-cl: Add /showFilenames option (PR31957)"
Oct 11 2018, 11:42 AM
sfertile committed rC344276: Revert "clang-cl: Add /showFilenames option (PR31957)".
Revert "clang-cl: Add /showFilenames option (PR31957)"
Oct 11 2018, 11:42 AM
sfertile added a comment to rL344234: clang-cl: Add /showFilenames option (PR31957).

This test is failing on the powerpc bots as well as hexagon and s390x:
http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/20815
http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/20534

Oct 11 2018, 10:18 AM

Oct 4 2018

sfertile added a comment to D49795: [PPC64] Position-independent long-branch thunks..

This patch seems a bit too intrusive to me, but I'm not sure if it is unavoidable (and thus this is a straightforward implementation) or there's another way to implement it.

Oct 4 2018, 12:45 PM
sfertile added inline comments to D52099: [PPC64] Add split-stack support..
Oct 4 2018, 9:24 AM
sfertile updated the diff for D52099: [PPC64] Add split-stack support..

Removed extra space in comment, and incorrect assert.

Oct 4 2018, 9:18 AM

Oct 3 2018

sfertile committed rL343729: [PPC64] Test documenting toc-restore after interposable recursive call. [NFC].
[PPC64] Test documenting toc-restore after interposable recursive call. [NFC]
Oct 3 2018, 3:02 PM
sfertile committed rL343728: [PPC64] Add test documenting toc-restore when linking with -Bsymbolic. [NFC].
[PPC64] Add test documenting toc-restore when linking with -Bsymbolic. [NFC]
Oct 3 2018, 3:02 PM
sfertile committed rLLD343729: [PPC64] Test documenting toc-restore after interposable recursive call. [NFC].
[PPC64] Test documenting toc-restore after interposable recursive call. [NFC]
Oct 3 2018, 3:02 PM
sfertile closed D52564: [PPC64] Add test for toc-restore on recursive call..
Oct 3 2018, 3:02 PM · lld
sfertile committed rLLD343728: [PPC64] Add test documenting toc-restore when linking with -Bsymbolic. [NFC].
[PPC64] Add test documenting toc-restore when linking with -Bsymbolic. [NFC]
Oct 3 2018, 3:02 PM
sfertile closed D52523: [PPC64] Add test documenting toc-restore behaviour with -Bsymbolic option. [NFC].
Oct 3 2018, 3:02 PM
sfertile added inline comments to D49795: [PPC64] Position-independent long-branch thunks..
Oct 3 2018, 12:23 PM

Sep 28 2018

sfertile added inline comments to D52564: [PPC64] Add test for toc-restore on recursive call..
Sep 28 2018, 10:10 AM · lld

Sep 26 2018

sfertile added inline comments to D52564: [PPC64] Add test for toc-restore on recursive call..
Sep 26 2018, 1:47 PM · lld
sfertile created D52564: [PPC64] Add test for toc-restore on recursive call..
Sep 26 2018, 11:10 AM · lld

Sep 25 2018

sfertile created D52523: [PPC64] Add test documenting toc-restore behaviour with -Bsymbolic option. [NFC].
Sep 25 2018, 3:46 PM

Sep 19 2018

sfertile committed rL342604: [PPC64] Handle ppc64le triple in getBitcodeMachineKind..
[PPC64] Handle ppc64le triple in getBitcodeMachineKind.
Sep 19 2018, 5:28 PM
sfertile committed rL342603: [PPC64] Helper for offset from a function's global entry to local entry. [NFC].
[PPC64] Helper for offset from a function's global entry to local entry. [NFC]
Sep 19 2018, 5:28 PM