Page MenuHomePhabricator

sfertile (Sean Fertile)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 24 2016, 8:15 AM (208 w, 18 h)

Recent Activity

Fri, Oct 16

sfertile added inline comments to D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Fri, Oct 16, 12:22 PM · Restricted Project

Tue, Oct 13

sfertile added inline comments to D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Tue, Oct 13, 1:56 PM · Restricted Project
sfertile added inline comments to D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Tue, Oct 13, 8:58 AM · Restricted Project
sfertile added inline comments to D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.
Tue, Oct 13, 7:13 AM · Restricted Project, Restricted Project

Fri, Oct 9

sfertile added inline comments to D87029: [AIX] Implement AIX special bitfield related alignment rules.
Fri, Oct 9, 8:04 AM · Restricted Project

Thu, Oct 8

sfertile added a comment to D89044: [FE][AIX] Emit error for oversized long long bitfield under 32bit mode.

Thanks for splitting this out XiangLing.

Thu, Oct 8, 1:05 PM
sfertile added inline comments to D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.
Thu, Oct 8, 11:05 AM · Restricted Project, Restricted Project
sfertile closed D75059: [PowerPC] Remove support for VRSAVE save/restore/update..

Commited in https://reviews.llvm.org/rGdfb717da1f794c235b81a985a57dc238c82318e6

Thu, Oct 8, 6:22 AM · Restricted Project, Restricted Project

Tue, Oct 6

sfertile added inline comments to D87029: [AIX] Implement AIX special bitfield related alignment rules.
Tue, Oct 6, 2:07 PM · Restricted Project

Mon, Oct 5

sfertile added inline comments to D87029: [AIX] Implement AIX special bitfield related alignment rules.
Mon, Oct 5, 12:43 PM · Restricted Project
sfertile added inline comments to D87029: [AIX] Implement AIX special bitfield related alignment rules.
Mon, Oct 5, 11:45 AM · Restricted Project
sfertile added inline comments to D87029: [AIX] Implement AIX special bitfield related alignment rules.
Mon, Oct 5, 8:01 AM · Restricted Project

Thu, Oct 1

sfertile added a reviewer for D87029: [AIX] Implement AIX special bitfield related alignment rules: sfertile.
Thu, Oct 1, 11:39 AM · Restricted Project
sfertile added inline comments to D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.
Thu, Oct 1, 11:05 AM · Restricted Project, Restricted Project
sfertile added a comment to D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.

More test coverage for this patch:

Thu, Oct 1, 10:55 AM · Restricted Project, Restricted Project
sfertile updated subscribers of D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.
Thu, Oct 1, 10:37 AM · Restricted Project, Restricted Project
sfertile accepted D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

LGTM also.

Thu, Oct 1, 6:53 AM · Restricted Project

Wed, Sep 30

sfertile added inline comments to D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.
Wed, Sep 30, 1:14 PM · Restricted Project
sfertile committed rGdfb717da1f79: [PowerPC] Remove support for VRSAVE save/restore/update. (authored by sfertile).
[PowerPC] Remove support for VRSAVE save/restore/update.
Wed, Sep 30, 7:06 AM

Tue, Sep 29

sfertile retitled D75059: [PowerPC] Remove support for VRSAVE save/restore/update. from [PowerPC][NFC] Remove support for VRSAVE save/restore/update. to [PowerPC] Remove support for VRSAVE save/restore/update..
Tue, Sep 29, 1:26 PM · Restricted Project, Restricted Project
sfertile updated the diff for D75059: [PowerPC] Remove support for VRSAVE save/restore/update..

Rebased.

Tue, Sep 29, 12:42 PM · Restricted Project, Restricted Project
sfertile added a comment to D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.

We are in a poor position since this depends on D75059 which I never commit-ed since as I realized it was not really NFC because we were wrongly inserting VR_SAVE code for AIX. This had the effect of emitting a fatal error if we used vector arguments, return values and I believe if we selected any vector instructions. I never went back and updated it because there was always something higher priority to work on. I have a non-NFC update I haven't posted which relies on the calling convention lowering to emit an error when passing vector arguments, and I add an error when returning vector arguments. I will post that shortly.

Tue, Sep 29, 10:09 AM · Restricted Project

Mon, Sep 28

sfertile added inline comments to D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.
Mon, Sep 28, 7:25 AM · Restricted Project

Fri, Sep 25

sfertile added inline comments to D86142: [LLD] Search archives for non-tentative defintions..
Fri, Sep 25, 12:40 PM · Restricted Project, Restricted Project
sfertile updated the diff for D86142: [LLD] Search archives for non-tentative defintions..
  • Add static on helper functions.
  • Use ## for comments in lit test.
  • Remove redundant parens
  • Ignore locals when looking for overriding symbol def.
Fri, Sep 25, 12:24 PM · Restricted Project, Restricted Project

Thu, Sep 24

sfertile added inline comments to D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.
Thu, Sep 24, 10:07 AM · Restricted Project
sfertile accepted D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.

2 minor comments but otherwise LGTM.

Thu, Sep 24, 6:39 AM · Restricted Project

Wed, Sep 23

sfertile added a comment to D87046: [PPC] Do not emit extswsli in 32BIT mode when using -mcpu=pwr9.

Does PPCMIPeephole::combineSEXTAndSHL have a similar problem that needs to be addressed?

I thought so, but it looks like that function is only called when PPCMIPeephole::simplifyCode sees an RLDICR Opcode which is a 64Bit only instruction. So it looks like we avoid this problem there.

Wed, Sep 23, 2:02 PM · Restricted Project
sfertile updated the diff for D86142: [LLD] Search archives for non-tentative defintions..

Address review comments, switched test to use split-file instead of other inputs and macros, and simplified the test as much as possible.

Wed, Sep 23, 12:02 PM · Restricted Project, Restricted Project

Mon, Sep 21

sfertile added inline comments to D87381: [LLD][PowerPC][test] Update thunk range error report for PPC64PCRelLongBranchThunk.
Mon, Sep 21, 11:21 AM · Restricted Project
sfertile added a comment to D87046: [PPC] Do not emit extswsli in 32BIT mode when using -mcpu=pwr9.

Does PPCMIPeephole::combineSEXTAndSHL have a similar problem that needs to be addressed?

Mon, Sep 21, 10:53 AM · Restricted Project
sfertile added inline comments to D87381: [LLD][PowerPC][test] Update thunk range error report for PPC64PCRelLongBranchThunk.
Mon, Sep 21, 10:30 AM · Restricted Project
sfertile added inline comments to D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.
Mon, Sep 21, 8:46 AM · Restricted Project
sfertile added inline comments to D87381: [LLD][PowerPC][test] Update thunk range error report for PPC64PCRelLongBranchThunk.
Mon, Sep 21, 8:03 AM · Restricted Project

Sep 15 2020

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.

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

Sep 1 2020

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

One minor nit, but otherwise LGTM.

Sep 1 2020, 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.
Sep 1 2020, 11:14 AM
sfertile closed D85850: [PowerPC][AIX] Fix frame-pointer and base-pointer save/restore offset..
Sep 1 2020, 11:14 AM · Restricted Project, Restricted Project

Aug 31 2020

sfertile added a reviewer for D75059: [PowerPC] Remove support for VRSAVE save/restore/update.: ZarkoCA.
Aug 31 2020, 10:26 AM · Restricted Project, Restricted Project
sfertile updated the diff for D75059: [PowerPC] 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.

Aug 31 2020, 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]
Aug 31 2020, 8:26 AM

Aug 28 2020

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.

Aug 28 2020, 7:05 AM · Restricted Project

Aug 27 2020

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

Aug 24 2020

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.

Aug 24 2020, 12:43 PM · Restricted Project, Restricted Project
sfertile added inline comments to D85850: [PowerPC][AIX] Fix frame-pointer and base-pointer save/restore offset..
Aug 24 2020, 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.
Aug 24 2020, 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