Page MenuHomePhabricator

sfertile (Sean Fertile)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Tue, Sep 15

sfertile updated the diff for D86142: [LLD] Search archives for non-tentative defintions..

Extended the patch so that lazy object files are handled the same as archives, and bitcode files are handled same as native objects, both in archives and as lazy object files.

Tue, Sep 15, 7:31 AM · Restricted Project, Restricted Project

Tue, Sep 1

sfertile accepted D86777: [PowerPC] Fix missing TLS symbol type..

One minor nit, but otherwise LGTM.

Tue, Sep 1, 5:06 PM · Restricted Project
sfertile committed rGfecc27db1110: [PowerPC][AIX] Update save/restore offset for frame and base pointers. (authored by sfertile).
[PowerPC][AIX] Update save/restore offset for frame and base pointers.
Tue, Sep 1, 11:14 AM
sfertile closed D85850: [PowerPC][AIX] Fix frame-pointer and base-pointer save/restore offset..
Tue, Sep 1, 11:14 AM · Restricted Project, Restricted Project

Mon, Aug 31

sfertile added a reviewer for D75059: [PowerPC][NFC] Remove support for VRSAVE save/restore/update.: ZarkoCA.
Mon, Aug 31, 10:26 AM · Restricted Project, Restricted Project
sfertile updated the diff for D75059: [PowerPC][NFC] Remove support for VRSAVE save/restore/update..

Previous patch was not really NFC, since we were inserting VRSAVE pseudos on AIX, then emiting a fatal error in frame lowering. This was because we missed changing the condition gating the vrsave insertion to include the AIX abi.

Mon, Aug 31, 10:26 AM · Restricted Project, Restricted Project
sfertile committed rG84875f694102: [PowerPC][AIX] Add test for returning a vector type. [NFC] (authored by sfertile).
[PowerPC][AIX] Add test for returning a vector type. [NFC]
Mon, Aug 31, 8:26 AM

Fri, Aug 28

sfertile accepted D86706: [LLD][PowerPC] Add a pc-rel based long branch thunk.

One minor nit, but otherwise LGTM. If Nemanja would still like the comment he suggested make sure to address that before committing.

Fri, Aug 28, 7:05 AM · Restricted Project

Thu, Aug 27

sfertile added inline comments to D86706: [LLD][PowerPC] Add a pc-rel based long branch thunk.
Thu, Aug 27, 2:15 PM · Restricted Project
sfertile added inline comments to D86706: [LLD][PowerPC] Add a pc-rel based long branch thunk.
Thu, Aug 27, 7:18 AM · Restricted Project

Mon, Aug 24

sfertile added a comment to D86142: [LLD] Search archives for non-tentative defintions..

I've spent some time reading through the linked thread. Thanks. There is a lot to reply to so I hope I don't miss anything.

Mon, Aug 24, 12:43 PM · Restricted Project, Restricted Project
sfertile added inline comments to D85850: [PowerPC][AIX] Fix frame-pointer and base-pointer save/restore offset..
Mon, Aug 24, 10:14 AM · Restricted Project, Restricted Project
sfertile updated the diff for D85850: [PowerPC][AIX] Fix frame-pointer and base-pointer save/restore offset..
  • Removed now unused local variable.
  • Removed -framepointer=all option in lit test.
  • Fixed formatting of runsteps in new lit test.
Mon, Aug 24, 10:12 AM · Restricted Project, Restricted Project

Aug 18 2020

sfertile added a comment to D85994: [LLD][PowerPC] Add check in LLD to produce an error for missing TLSGD/TLSLD.

I am unable to use the assembly files. The problem is that __tls_get_addr is a special name for the PPC backend and we cannot generate an object file from incorrect assembly. For example:

$ cat GeneralDynamic.s
	.text
GeneralDynamic:                         # @GeneralDynamic
	addis 3, 2, x@got@tlsgd@ha
	addi 3, 3, x@got@tlsgd@l
	bl __tls_get_addr()
	blr

Produces:

$ llvm-mc GeneralDynamic.s --filetype=obj -o /dev/null
GeneralDynamic.s:5:20: error: unknown token in expression
        bl __tls_get_addr()
                          ^
GeneralDynamic.s:5:20: error: invalid TLS call expression
        bl __tls_get_addr()
                          ^
Aug 18 2020, 8:38 AM · Restricted Project
sfertile requested review of D86142: [LLD] Search archives for non-tentative defintions..
Aug 18 2020, 7:21 AM · Restricted Project, Restricted Project

Aug 16 2020

sfertile accepted D85973: [PowerPC] Fix thunk alignment issue when using pc-rel instruction .

LGTM.

Aug 16 2020, 6:01 PM · Restricted Project

Aug 13 2020

sfertile added a comment to D84360: [LLD][PowerPC] Implement GOT to PC-Rel relaxation.

But that's what check_LD_STD_W_PADDI does. Do you mean that I should add checks for the actual values?

Aug 13 2020, 9:32 AM · Restricted Project, Restricted Project
sfertile added a comment to D84360: [LLD][PowerPC] Implement GOT to PC-Rel relaxation.

I believe we can have the optimization relocation on a code sequence like:

paddi ra, sym@pcrel
load/store rt, offset(ra)

If so we should have a test showing we relocate it properly even if we don't optimize it yet.

Aug 13 2020, 8:43 AM · Restricted Project, Restricted Project

Aug 12 2020

sfertile requested review of D85850: [PowerPC][AIX] Fix frame-pointer and base-pointer save/restore offset..
Aug 12 2020, 11:42 AM · Restricted Project, Restricted Project
sfertile added inline comments to D84360: [LLD][PowerPC] Implement GOT to PC-Rel relaxation.
Aug 12 2020, 8:19 AM · Restricted Project, Restricted Project

Aug 7 2020

sfertile added inline comments to D84360: [LLD][PowerPC] Implement GOT to PC-Rel relaxation.
Aug 7 2020, 6:55 AM · Restricted Project, Restricted Project

Aug 6 2020

sfertile added inline comments to D84360: [LLD][PowerPC] Implement GOT to PC-Rel relaxation.
Aug 6 2020, 7:31 PM · Restricted Project, Restricted Project
sfertile added inline comments to D84360: [LLD][PowerPC] Implement GOT to PC-Rel relaxation.
Aug 6 2020, 7:08 PM · Restricted Project, Restricted Project
sfertile accepted D85459: [PowerPC] Add compatibility check for PPC PLT stubs .

LGTM.

Aug 6 2020, 6:31 PM · Restricted Project

Aug 4 2020

sfertile added inline comments to D84360: [LLD][PowerPC] Implement GOT to PC-Rel relaxation.
Aug 4 2020, 6:51 AM · Restricted Project, Restricted Project

Jul 29 2020

sfertile accepted D83669: [PowerPC] Support for R_PPC64_REL24_NOTOC calls where the caller has no TOC and the callee is not DSO local.

LGTM.

Jul 29 2020, 9:47 AM · Restricted Project
sfertile added inline comments to D83669: [PowerPC] Support for R_PPC64_REL24_NOTOC calls where the caller has no TOC and the callee is not DSO local.
Jul 29 2020, 4:59 AM · Restricted Project

Jul 27 2020

sfertile accepted D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values.

LGTM.

Jul 27 2020, 11:28 AM · Restricted Project

Jul 24 2020

sfertile added inline comments to D83669: [PowerPC] Support for R_PPC64_REL24_NOTOC calls where the caller has no TOC and the callee is not DSO local.
Jul 24 2020, 7:00 AM · Restricted Project

Jul 20 2020

sfertile accepted D78929: [AIX][XCOFF]emit extern linkage for the llvm intrinsic symbol.

Hey Digger, sorry for letting this sit for so long. Feel free to ping reviews periodically to get peoples attention back on them.

Jul 20 2020, 8:41 AM · Restricted Project
sfertile added inline comments to D83669: [PowerPC] Support for R_PPC64_REL24_NOTOC calls where the caller has no TOC and the callee is not DSO local.
Jul 20 2020, 7:46 AM · Restricted Project
sfertile accepted D83504: [PowerPC] Implement R_PPC64_REL24_NOTOC local calls. callee has a TOC.

LGTM.

Jul 20 2020, 6:35 AM · Restricted Project

Jul 13 2020

sfertile added inline comments to D83669: [PowerPC] Support for R_PPC64_REL24_NOTOC calls where the caller has no TOC and the callee is not DSO local.
Jul 13 2020, 1:20 PM · Restricted Project
sfertile added inline comments to D83504: [PowerPC] Implement R_PPC64_REL24_NOTOC local calls. callee has a TOC.
Jul 13 2020, 1:03 PM · Restricted Project
sfertile added inline comments to D83504: [PowerPC] Implement R_PPC64_REL24_NOTOC local calls. callee has a TOC.
Jul 13 2020, 9:25 AM · Restricted Project

Jul 9 2020

sfertile accepted D82816: [PowerPC] Implement R_PPC64_REL24_NOTOC local calls, callee also has no TOC.

One comment but otherwise LGTM.

Jul 9 2020, 10:36 AM · Restricted Project

Jul 8 2020

sfertile added a comment to D82816: [PowerPC] Implement R_PPC64_REL24_NOTOC local calls, callee also has no TOC.

I think we are really close now. I would suggest having a second lit test, which we link into either a static exec or pie exec which has calls using the R_PPC64_REL24_NOTOC relocation to symbols with global linkage and default visibility. I think it can be done with a single file (ie define all the callers and callees in the same file, no need for a second input file).

Jul 8 2020, 10:28 AM · Restricted Project
sfertile accepted D82950: [PowerPC] Support PCRelative Callees for R_PPC64_REL24 Relocation.

LGTM.

Jul 8 2020, 8:52 AM · Restricted Project

Jul 3 2020

sfertile committed rG484a36b97ddf: Enable basepointer for AIX. (authored by sfertile).
Enable basepointer for AIX.
Jul 3 2020, 9:40 AM
sfertile closed D82030: [PowerPC][AIX] Enable base-pointer..
Jul 3 2020, 9:39 AM · Restricted Project, Restricted Project
sfertile added inline comments to D82950: [PowerPC] Support PCRelative Callees for R_PPC64_REL24 Relocation.
Jul 3 2020, 7:30 AM · Restricted Project

Jul 2 2020

sfertile added a comment to D82816: [PowerPC] Implement R_PPC64_REL24_NOTOC local calls, callee also has no TOC.

Patch looks very good Victor. I've left a couple minor comments in the implementation. I have a few suggestions in relation to the testing.

Jul 2 2020, 1:31 PM · Restricted Project
sfertile added inline comments to D79625: [PowerPC] Extend .reloc directive on PowerPC.
Jul 2 2020, 9:10 AM · Restricted Project

Jun 30 2020

sfertile accepted D81126: [PowerPC] Fix for PC Relative call protocol.

LGTM. Thank Stefan.

Jun 30 2020, 7:01 AM · Restricted Project

Jun 29 2020

sfertile added inline comments to D81126: [PowerPC] Fix for PC Relative call protocol.
Jun 29 2020, 9:10 AM · Restricted Project

Jun 25 2020

sfertile added inline comments to D81126: [PowerPC] Fix for PC Relative call protocol.
Jun 25 2020, 9:07 AM · Restricted Project

Jun 24 2020

sfertile accepted D82408: [NFC][PPC][AIX] Add stack frame layout diagram to PPCISelLowering.cpp.

LGTM.

Jun 24 2020, 11:55 AM · Restricted Project, Restricted Project
sfertile added inline comments to D81126: [PowerPC] Fix for PC Relative call protocol.
Jun 24 2020, 9:42 AM · Restricted Project
sfertile added a comment to D82408: [NFC][PPC][AIX] Add stack frame layout diagram to PPCISelLowering.cpp.

Looks good Zarko. I think we should either flip this over to show the stack growing down, or keep it as is but add High Memory at the bottom and Low memory at the top to show the stack grows downwards.

Jun 24 2020, 8:04 AM · Restricted Project, Restricted Project

Jun 23 2020

sfertile added inline comments to D79625: [PowerPC] Extend .reloc directive on PowerPC.
Jun 23 2020, 8:31 AM · Restricted Project
sfertile abandoned D81106: [PowerPC][NFC] Don't need to and instruction with inverse of mask..

Abandoning based on the discussion in D81457.

Jun 23 2020, 7:26 AM · Restricted Project, Restricted Project
sfertile accepted D81457: [LLD][PowerPC] Add support for R_PPC64_PCREL34.

LGTM.

Jun 23 2020, 7:26 AM · Restricted Project

Jun 19 2020

sfertile added a comment to D81457: [LLD][PowerPC] Add support for R_PPC64_PCREL34.

Do you want to add a test for overflow of a 34-bit value?

Jun 19 2020, 1:04 PM · Restricted Project
sfertile accepted D81948: [LLD][PowerPC] Add support for R_PPC64_GOT_PCREL34.

LGTM.

Jun 19 2020, 10:19 AM · Restricted Project

Jun 18 2020

sfertile added inline comments to D81126: [PowerPC] Fix for PC Relative call protocol.
Jun 18 2020, 1:38 PM · Restricted Project
sfertile added inline comments to D81126: [PowerPC] Fix for PC Relative call protocol.
Jun 18 2020, 10:18 AM · Restricted Project

Jun 17 2020

sfertile added inline comments to D81948: [LLD][PowerPC] Add support for R_PPC64_GOT_PCREL34.
Jun 17 2020, 11:18 AM · Restricted Project
sfertile created D82030: [PowerPC][AIX] Enable base-pointer..
Jun 17 2020, 10:45 AM · Restricted Project, Restricted Project

Jun 16 2020

sfertile added inline comments to D81457: [LLD][PowerPC] Add support for R_PPC64_PCREL34.
Jun 16 2020, 7:42 AM · Restricted Project

Jun 15 2020

sfertile added a comment to D81106: [PowerPC][NFC] Don't need to and instruction with inverse of mask..

Shall we mask out the bits (keep existing (read32(loc) & ~mask))? If other relocations don't behave this way, let's fix it. Writing zeros to the bits is a courtesy of the assembly but should we make use of the assumption? PPC64 is a RELA target and for an RELA target the implicit addend should be relied upon. AArch64.cpp masks out the bits as well.

Jun 15 2020, 10:23 AM · Restricted Project, Restricted Project
sfertile added inline comments to D81457: [LLD][PowerPC] Add support for R_PPC64_PCREL34.
Jun 15 2020, 10:23 AM · Restricted Project

Jun 11 2020

sfertile accepted D81082: [PowerPC] Do not add the relocation addend to the instruction encoding.

The CHECK-O section prints out the relocation and then it has symbol+<addend>. Is that what you are looking for?

Yeah, not sure how I missed that the first time. Sorry.

Jun 11 2020, 8:46 AM · Restricted Project
sfertile added inline comments to D81457: [LLD][PowerPC] Add support for R_PPC64_PCREL34.
Jun 11 2020, 8:46 AM · Restricted Project

Jun 5 2020

sfertile accepted D81033: [PowerPC] Fix incorrect PC Relative relocations for Big Endian.

Minor nit not related to this patch is that the test is really noisy. I realize this is the assembly clang emits, but a lit test can be cleaned up to just the needed constructs. Removing the comments, zero padding after the functions, local aliases (.Lexternal$local) and finally the size directives and the labels that are only needed for those directives goes along way in creating a much simpler test that helps to highlight exactly what functionality is being exercised at a glance. After landing this patch can you do an NFC cleanup of the test?

Jun 5 2020, 10:35 AM · Restricted Project

Jun 3 2020

sfertile added inline comments to D81106: [PowerPC][NFC] Don't need to and instruction with inverse of mask..
Jun 3 2020, 1:46 PM · Restricted Project, Restricted Project
sfertile accepted D81081: [PowerPC] Remove extra nop after notoc call.

LGTM.

Jun 3 2020, 9:18 AM · Restricted Project
sfertile created D81106: [PowerPC][NFC] Don't need to and instruction with inverse of mask..
Jun 3 2020, 9:18 AM · Restricted Project, Restricted Project
sfertile added a comment to D81082: [PowerPC] Do not add the relocation addend to the instruction encoding.

Do you already have a test which dumps the relocations and verifies the addend on the relocations? (Do the llvm tools support dumping these new relocations?)

Jun 3 2020, 8:44 AM · Restricted Project

May 29 2020

sfertile added inline comments to D78669: PowerPC: Add emergency stack spill slots for SPE.
May 29 2020, 8:06 AM · Restricted Project

May 26 2020

sfertile committed rG3e62289f42d2: [PowerPC][NFC] Add colon to TODO's and fix indentation. (authored by sfertile).
[PowerPC][NFC] Add colon to TODO's and fix indentation.
May 26 2020, 10:52 AM
sfertile committed rGd6c873628737: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets. (authored by sfertile).
[PowerPC][AIX] Spill CSRs to the ABI specified stack offsets.
May 26 2020, 9:46 AM
sfertile closed D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..
May 26 2020, 9:45 AM · Restricted Project, Restricted Project
sfertile accepted D79977: [ELF][PPC64] Synthesize _savegpr[01]_{14..31} and _restgpr[01]_{14..31}.

One comment but otherwise LGTM.

May 26 2020, 7:00 AM · Restricted Project

May 25 2020

sfertile added inline comments to D78929: [AIX][XCOFF]emit extern linkage for the llvm intrinsic symbol.
May 25 2020, 11:14 AM · Restricted Project

May 21 2020

sfertile added inline comments to D79977: [ELF][PPC64] Synthesize _savegpr[01]_{14..31} and _restgpr[01]_{14..31}.
May 21 2020, 12:59 PM · Restricted Project
sfertile added inline comments to D78929: [AIX][XCOFF]emit extern linkage for the llvm intrinsic symbol.
May 21 2020, 10:47 AM · Restricted Project
sfertile added a comment to D79977: [ELF][PPC64] Synthesize _savegpr[01]_{14..31} and _restgpr[01]_{14..31}.

Thanks for implementing this MaskRay. I've left a couple comments, but still need to go through the testing.

May 21 2020, 9:41 AM · Restricted Project

May 15 2020

sfertile added inline comments to D78929: [AIX][XCOFF]emit extern linkage for the llvm intrinsic symbol.
May 15 2020, 9:45 AM · Restricted Project

May 14 2020

sfertile committed rGce4ebc14a896: [PowerPC] Remove support for SplitCSR. (authored by sfertile).
[PowerPC] Remove support for SplitCSR.
May 14 2020, 7:34 AM
sfertile closed D79018: [PowerPC] Remove support for SplitCSR..
May 14 2020, 7:33 AM · Restricted Project, Restricted Project

May 11 2020

sfertile added inline comments to D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..
May 11 2020, 11:50 AM · Restricted Project, Restricted Project
sfertile updated the diff for D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..

rebased to pick up NFC commit.

May 11 2020, 11:50 AM · Restricted Project, Restricted Project
sfertile committed rG1ea8d58f21a3: [PowerPC][NFC] Convert an if/else to a conditional. (authored by sfertile).
[PowerPC][NFC] Convert an if/else to a conditional.
May 11 2020, 10:13 AM
sfertile updated the diff for D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..
  • Removed extra whitespace.
  • Removed redundant testing (of fprs saves)
May 11 2020, 9:39 AM · Restricted Project, Restricted Project

May 8 2020

sfertile added inline comments to D78929: [AIX][XCOFF]emit extern linkage for the llvm intrinsic symbol.
May 8 2020, 9:05 AM · Restricted Project

May 7 2020

sfertile added a comment to D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..

ping.

May 7 2020, 10:47 AM · Restricted Project, Restricted Project
sfertile added a comment to D79018: [PowerPC] Remove support for SplitCSR..

ping.

May 7 2020, 10:47 AM · Restricted Project, Restricted Project

May 6 2020

sfertile added a reviewer for D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets.: ZarkoCA.
May 6 2020, 9:07 AM · Restricted Project, Restricted Project
sfertile updated subscribers of D78929: [AIX][XCOFF]emit extern linkage for the llvm intrinsic symbol.

👍 Thanks for trying this out Digger, I think this approach is the right one to take. I've had an initial look and left a few comments inline. I'll need to spend some time understanding ExternalSymbolSDNodes a bit better before being able to review the patch thoroughly enough to approve.

May 6 2020, 9:07 AM · Restricted Project

May 4 2020

sfertile committed rG47f9e71ac70a: [PowerPC][AIX][NFC] Remove spills and reloads from arg passing test. (authored by sfertile).
[PowerPC][AIX][NFC] Remove spills and reloads from arg passing test.
May 4 2020, 11:49 AM
sfertile updated the diff for D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..

Updated aix-calleesaved.ll test.

May 4 2020, 10:43 AM · Restricted Project, Restricted Project
sfertile accepted D79220: [XCOFF] XCOFF constants, MCObjectFileInfo placeholder code for DWARF; NFC.

LGTM.

May 4 2020, 9:37 AM · Restricted Project

May 1 2020

sfertile created D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..
May 1 2020, 5:10 PM · Restricted Project, Restricted Project

Apr 30 2020

sfertile accepted D79136: [XCOFF] Clean-up enum use in BinaryFormat/XCOFF.h; NFC.

LGTM.

Apr 30 2020, 6:46 AM · Restricted Project
sfertile accepted D78431: [ELF][PPC64] Suppress toc-indirect to toc-relative relaxation if R_PPC64_TOC16_LO is seen.

One minor comment but otherwise LGTM. Thanks for fixing this.

Apr 30 2020, 6:46 AM · Restricted Project

Apr 29 2020

sfertile added a comment to D78431: [ELF][PPC64] Suppress toc-indirect to toc-relative relaxation if R_PPC64_TOC16_LO is seen.

@sfertile Your revert does not include Differential Revision: . I guess if it included, the revision would be automatically re-opened, and Commits: would list the associated revert commits.

Apr 29 2020, 10:43 AM · Restricted Project
sfertile added a comment to D78929: [AIX][XCOFF]emit extern linkage for the llvm intrinsic symbol.

Have you considered not transforming ExternalSymbolSDNodes, but instead supporting them for AIX and then creating the symbol and emitting the linkage for the ExternalSymbol machine operand in the ASMPrinter? The approach this patch takes adds complexity to a target independent part of the MC infrastructure. The amount of complexity it adds is not unreasonable, but I think if we can contain the complexity to the PowerPC backend its worth considering strongly even if the implementation there is more difficult.

Apr 29 2020, 9:06 AM · Restricted Project
sfertile added a comment to D78431: [ELF][PPC64] Suppress toc-indirect to toc-relative relaxation if R_PPC64_TOC16_LO is seen.

I had to pull this as it breaks the PPC mutlistage LLD bot. Consider the following input:

Apr 29 2020, 8:33 AM · Restricted Project
sfertile committed rGf9106e85c424: Revert "[ELF][PPC64] Don't perform toc-indirect to toc-relative relax... " (authored by sfertile).
Revert "[ELF][PPC64] Don't perform toc-indirect to toc-relative relax... "
Apr 29 2020, 8:01 AM
sfertile added a reverting change for rG03ffe5860549: [ELF][PPC64] Don't perform toc-indirect to toc-relative relaxation for…: rGf9106e85c424: Revert "[ELF][PPC64] Don't perform toc-indirect to toc-relative relax... ".
Apr 29 2020, 8:01 AM