Page MenuHomePhabricator
Feed Advanced Search

Yesterday

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

One comment but otherwise LGTM.

Thu, Jul 9, 10:36 AM · Restricted Project

Wed, Jul 8

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).

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

LGTM.

Wed, Jul 8, 8:52 AM · Restricted Project

Fri, Jul 3

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

Thu, Jul 2

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.

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

Tue, Jun 30

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

LGTM. Thank Stefan.

Tue, Jun 30, 7:01 AM · Restricted Project

Mon, Jun 29

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

Thu, Jun 25

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

Wed, Jun 24

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

LGTM.

Wed, Jun 24, 11:55 AM · Restricted Project, Restricted Project
sfertile added inline comments to D81126: [PowerPC] Fix for PC Relative call protocol.
Wed, Jun 24, 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.

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

Tue, Jun 23

sfertile added inline comments to D79625: [PowerPC] Extend .reloc directive on PowerPC.
Tue, Jun 23, 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.

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

LGTM.

Tue, Jun 23, 7:26 AM · Restricted Project

Fri, Jun 19

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?

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

LGTM.

Fri, Jun 19, 10:19 AM · Restricted Project

Thu, Jun 18

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

Wed, Jun 17

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

Tue, Jun 16

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

Mon, Jun 15

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.

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

Thu, Jun 11

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.

Thu, Jun 11, 8:46 AM · Restricted Project
sfertile added inline comments to D81457: [LLD][PowerPC] Add support for R_PPC64_PCREL34.
Thu, Jun 11, 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

Apr 28 2020

sfertile committed rG2a3cf5e58343: [PowerPC][AIX] Pass ByVal formal args that span registers and stack. (authored by sfertile).
[PowerPC][AIX] Pass ByVal formal args that span registers and stack.
Apr 28 2020, 12:24 PM
sfertile closed D78515: [PowerPC][AIX] Pass ByVal formal arguments that span registers and stack..
Apr 28 2020, 12:24 PM · Restricted Project, Restricted Project
sfertile created D79018: [PowerPC] Remove support for SplitCSR..
Apr 28 2020, 9:38 AM · Restricted Project, Restricted Project
sfertile accepted D78431: [ELF][PPC64] Suppress toc-indirect to toc-relative relaxation if R_PPC64_TOC16_LO is seen.

LGTM. Unfortunately a more general solution looks to be quite difficult/intrusive and I'm not sure if it is worth it.

Apr 28 2020, 7:28 AM · Restricted Project

Apr 27 2020

sfertile added inline comments to D78515: [PowerPC][AIX] Pass ByVal formal arguments that span registers and stack..
Apr 27 2020, 11:17 AM · Restricted Project, Restricted Project
sfertile added a comment to D78431: [ELF][PPC64] Suppress toc-indirect to toc-relative relaxation if R_PPC64_TOC16_LO is seen.
In D78431#2000967, @agl wrote:

Sorry about delocate. It is profoundly weird, motivated purely by compliance with FIPS regulations, and we don't want it to cause any problems.

Apr 27 2020, 8:01 AM · Restricted Project

Apr 22 2020

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

Thanks. I'm reading through the docs you linked and will have a look at the delocate tool.

Apr 22 2020, 9:12 AM · Restricted Project

Apr 21 2020

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

Interesting. I wasn't aware that taking the address of a toc entry was allowed when I implemented the toc-optimizations 😦 . I'm not sure we can peek at just the next relocation though to see if we can optimize or not. For example consider:

Apr 21 2020, 12:26 PM · Restricted Project
sfertile committed rGcd8e9e8fcd3c: [PowerPC][AIX][NFC] Fix use of FileCheck variable in lit test. (authored by sfertile).
[PowerPC][AIX][NFC] Fix use of FileCheck variable in lit test.
Apr 21 2020, 8:04 AM
sfertile added inline comments to rG8541a3cc9dca: [PowerPC][AIX] Use a file check variable for register used in addressing..
Apr 21 2020, 8:04 AM

Apr 20 2020

sfertile created D78515: [PowerPC][AIX] Pass ByVal formal arguments that span registers and stack..
Apr 20 2020, 1:00 PM · Restricted Project, Restricted Project
sfertile committed rG8541a3cc9dca: [PowerPC][AIX] Use a file check variable for register used in addressing. (authored by sfertile).
[PowerPC][AIX] Use a file check variable for register used in addressing.
Apr 20 2020, 10:17 AM
sfertile committed rGd52bb6d099d3: [PowerPC][AIX] ByVal formal argument support: passing on the stack. (authored by sfertile).
[PowerPC][AIX] ByVal formal argument support: passing on the stack.
Apr 20 2020, 9:12 AM
sfertile closed D78263: [PowerPC][AIX] ByVal formal argument support: passing on the stack.
Apr 20 2020, 9:11 AM · Restricted Project, Restricted Project

Apr 17 2020

sfertile accepted D77101: [AIX] Return the correct set of callee saved regs.

LGTM.

Apr 17 2020, 10:14 AM · Restricted Project

Apr 16 2020

sfertile updated the diff for D78263: [PowerPC][AIX] ByVal formal argument support: passing on the stack.

Fix unintended white space change.

Apr 16 2020, 6:43 AM · Restricted Project, Restricted Project

Apr 15 2020

sfertile created D78263: [PowerPC][AIX] ByVal formal argument support: passing on the stack.
Apr 15 2020, 6:46 PM · Restricted Project, Restricted Project
sfertile accepted D77578: [AIX][PPC] Implement caller byval arguments in stack memory.

Thanks for the test updates. LGTM.

Apr 15 2020, 10:56 AM · Restricted Project

Apr 14 2020

sfertile added inline comments to D77578: [AIX][PPC] Implement caller byval arguments in stack memory.
Apr 14 2020, 7:27 AM · Restricted Project
sfertile added inline comments to D76360: [PPC][AIX] Emit correct Vaarg for 32BIT-AIX in clang.
Apr 14 2020, 7:27 AM · Restricted Project

Apr 13 2020

sfertile added inline comments to D77578: [AIX][PPC] Implement caller byval arguments in stack memory.
Apr 13 2020, 10:44 AM · Restricted Project
sfertile added a comment to D77101: [AIX] Return the correct set of callee saved regs.

M

Apr 13 2020, 8:34 AM · Restricted Project
sfertile accepted D76360: [PPC][AIX] Emit correct Vaarg for 32BIT-AIX in clang.

LGTM.

Apr 13 2020, 7:29 AM · Restricted Project

Apr 9 2020

sfertile added a comment to D76360: [PPC][AIX] Emit correct Vaarg for 32BIT-AIX in clang.

A couple minor comments, but patch is almost ready otherwise.

Apr 9 2020, 12:35 PM · Restricted Project
sfertile committed rGb393fc6850a2: [PowerPC][NFC] Add more check directives in only cxx_fast_tlscc lit test. (authored by sfertile).
[PowerPC][NFC] Add more check directives in only cxx_fast_tlscc lit test.
Apr 9 2020, 7:35 AM
sfertile added inline comments to D76360: [PPC][AIX] Emit correct Vaarg for 32BIT-AIX in clang.
Apr 9 2020, 7:01 AM · Restricted Project

Apr 8 2020

sfertile accepted D77624: [PowerPC] Update alignment for ReuseLoadInfo in LowerFP_TO_INTForReuse.

LGTM now, but pls hold on for some days in case others have more comments.

LGTM too. Not a bad idea, but maybe give a days grace instead of a few days.

Apr 8 2020, 11:24 AM · Restricted Project
sfertile committed rGd0b57b41f4ad: [PowerPC][AIX][NFC] Replace deprecated getByValAlign call. (authored by sfertile).
[PowerPC][AIX][NFC] Replace deprecated getByValAlign call.
Apr 8 2020, 10:52 AM
sfertile committed rG8abfd2c3bb0d: [PowerPC][AIX] Enable passing byval formal arguments in multiple registers. (authored by sfertile).
[PowerPC][AIX] Enable passing byval formal arguments in multiple registers.
Apr 8 2020, 8:40 AM
sfertile closed D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers.
Apr 8 2020, 8:40 AM · Restricted Project, Restricted Project
sfertile added inline comments to D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers.
Apr 8 2020, 8:39 AM · Restricted Project, Restricted Project

Apr 7 2020

sfertile added a comment to D77578: [AIX][PPC] Implement caller byval arguments in stack memory.

Can you make this dependent on https://reviews.llvm.org/D76902and rebase/repost.

Apr 7 2020, 8:07 AM · Restricted Project

Apr 6 2020

sfertile updated the diff for D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers.
  • rebase to pick up landed dependencies.
  • Moved assertion that loop index was still valid to top of loop.
  • added a test that exercise fatal error for args split between registers and stack.
Apr 6 2020, 2:43 PM · Restricted Project, Restricted Project
sfertile accepted D77564: [PowerPC] Do not attempt to reuse load for 64-bit FP_TO_UINT without FPCVT.

Which I think mishandles negative values.

Apr 6 2020, 2:10 PM · Restricted Project
sfertile added a comment to D77564: [PowerPC] Do not attempt to reuse load for 64-bit FP_TO_UINT without FPCVT.

run clang-format, but otherwise for fixing the assertion it LGTM. FWIW I'm not sure the code we produce for the conversion handles negative numbers correctly. For the reduced IR I posted I get:

Apr 6 2020, 1:37 PM · Restricted Project