Page MenuHomePhabricator

cebowleratibm (Chris Bowler)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 17 2019, 7:18 AM (65 w, 5 d)

Recent Activity

Jul 29 2020

cebowleratibm committed rGd5776f250fbc: [NFC][PPC][AIX] Add test coverage for _Complex return values (authored by cebowleratibm).
[NFC][PPC][AIX] Add test coverage for _Complex return values
Jul 29 2020, 8:00 AM
cebowleratibm closed D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values.
Jul 29 2020, 8:00 AM · Restricted Project

Jul 22 2020

cebowleratibm added inline comments to D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values.
Jul 22 2020, 9:50 AM · Restricted Project
cebowleratibm added inline comments to D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values.
Jul 22 2020, 9:44 AM · Restricted Project

Jul 21 2020

cebowleratibm added a comment to D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values.

added some commentary notes for the review.

Jul 21 2020, 4:05 PM · Restricted Project
cebowleratibm updated the diff for D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values.

Modified the tests to work at opt. Replaced initialization of return values with literals to simplify the IR.

Jul 21 2020, 3:59 PM · Restricted Project

Jul 20 2020

cebowleratibm updated the diff for D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values.

Formatted the RUN steps.

Jul 20 2020, 9:31 AM · Restricted Project
cebowleratibm added a comment to D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values.

I'll format the RUN steps as suggested but with respect to the other suggestions, I prefer to keep the test as-is.

Jul 20 2020, 9:16 AM · Restricted Project

Jul 17 2020

Herald added a project to D84069: [NFC][PPC][AIX] Add test coverage for _Complex return values: Restricted Project.
Jul 17 2020, 1:24 PM · Restricted Project

May 8 2020

cebowleratibm added inline comments to D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..
May 8 2020, 11:48 AM · Restricted Project, Restricted Project
cebowleratibm added inline comments to D79252: [PowerPC][AIX] Spill CSRs to the ABI specified stack offsets..
May 8 2020, 11:48 AM · Restricted Project, Restricted Project

Apr 20 2020

cebowleratibm committed rGff048af2e31d: [NFC] [AIX] [PowerPC] Add missing instruction to AIX byval test (authored by cebowleratibm).
[NFC] [AIX] [PowerPC] Add missing instruction to AIX byval test
Apr 20 2020, 12:28 PM

Apr 16 2020

cebowleratibm accepted D78263: [PowerPC][AIX] ByVal formal argument support: passing on the stack.

I think the review title "ByVal formal argument support: passing on the stack" implies that it covers the reg/stack split case. I noted you described it better in the review description. I think a slightly more descriptive abstract would be useful for the commit message.

Apr 16 2020, 1:23 PM · Restricted Project, Restricted Project

Apr 15 2020

cebowleratibm committed rGbee6c234ed28: [AIX][PowerPC] Implement caller byval arguments in stack memory (authored by cebowleratibm).
[AIX][PowerPC] Implement caller byval arguments in stack memory
Apr 15 2020, 3:28 PM
cebowleratibm closed D77578: [AIX][PPC] Implement caller byval arguments in stack memory.
Apr 15 2020, 3:28 PM · Restricted Project

Apr 14 2020

cebowleratibm updated the diff for D77578: [AIX][PPC] Implement caller byval arguments in stack memory.

Added MIR expect output for tests that expect calls to memcpy to ensure the memcpy calls are generated independently from caller register setup.

Apr 14 2020, 2:05 PM · Restricted Project

Apr 13 2020

cebowleratibm added inline comments to D77578: [AIX][PPC] Implement caller byval arguments in stack memory.
Apr 13 2020, 8:47 PM · Restricted Project
cebowleratibm updated the diff for D77578: [AIX][PPC] Implement caller byval arguments in stack memory.

Addressed unnecessary iterator check while looping on expect byval argument registers.

Apr 13 2020, 1:34 PM · Restricted Project

Apr 12 2020

cebowleratibm updated the diff for D77578: [AIX][PPC] Implement caller byval arguments in stack memory.

Rebased to account for changes committed in D76902.

Apr 12 2020, 6:42 PM · Restricted Project

Apr 7 2020

cebowleratibm accepted D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers.

My comments are only suggestions/discussion and can be addressed as you see fit on the commit.

Apr 7 2020, 12:31 PM · Restricted Project, Restricted Project
cebowleratibm added a comment to D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers.

I had intended to move the 5-8 byte byval callee cases out of aix64-cc-byval.ll and put them here. I don't want aix64-cc-byval.ll to exist when we're done. If the 5-8 byte tests aren't useful for the callee I'd rather delete them. They were of interest to the caller handling to make sure that we implement the left justification correctly.

Apr 7 2020, 12:31 PM · Restricted Project, Restricted Project

Apr 6 2020

cebowleratibm created D77578: [AIX][PPC] Implement caller byval arguments in stack memory.
Apr 6 2020, 12:30 PM · Restricted Project
cebowleratibm committed rGd6ea82d11c62: [AIX][PPC] Implement by-val caller arguments in multiple registers (authored by cebowleratibm).
[AIX][PPC] Implement by-val caller arguments in multiple registers
Apr 6 2020, 8:07 AM
cebowleratibm closed D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.
Apr 6 2020, 8:07 AM · Restricted Project
cebowleratibm committed rG982202408bb0: [NFC][PPC][AIX] Test updates for byval args that fit in a single register (authored by cebowleratibm).
[NFC][PPC][AIX] Test updates for byval args that fit in a single register
Apr 6 2020, 7:34 AM
cebowleratibm closed D76875: [NFC] [PPC] [AIX] Test improvements for byval arguments that fit in a single register.
Apr 6 2020, 7:33 AM · Restricted Project
cebowleratibm committed rG44773439939f: test commit (authored by cebowleratibm).
test commit
Apr 6 2020, 7:00 AM

Apr 2 2020

cebowleratibm updated the diff for D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.

Fixed expected output for 64-byte byval arg test.

Apr 2 2020, 10:17 AM · Restricted Project
cebowleratibm added inline comments to D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.
Apr 2 2020, 10:17 AM · Restricted Project

Apr 1 2020

cebowleratibm added inline comments to D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers.
Apr 1 2020, 7:37 PM · Restricted Project, Restricted Project
cebowleratibm updated the diff for D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.

Added a test for the homogeneous float stuct Sean suggested.

Apr 1 2020, 7:04 PM · Restricted Project

Mar 31 2020

cebowleratibm updated the diff for D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.

Tweaked the lambda capture on GetLoad.

Mar 31 2020, 4:33 PM · Restricted Project
cebowleratibm updated the diff for D76875: [NFC] [PPC] [AIX] Test improvements for byval arguments that fit in a single register.

Discussion ensued post-approval regarding use of CHECK-DAG on the ADJSTACKDOWN lines so I thought I'd post the final version before committing.

Mar 31 2020, 4:33 PM · Restricted Project

Mar 29 2020

cebowleratibm added inline comments to D76875: [NFC] [PPC] [AIX] Test improvements for byval arguments that fit in a single register.
Mar 29 2020, 5:40 PM · Restricted Project

Mar 27 2020

cebowleratibm added inline comments to D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers.
Mar 27 2020, 10:16 AM · Restricted Project, Restricted Project
cebowleratibm added inline comments to D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers.
Mar 27 2020, 9:50 AM · Restricted Project, Restricted Project
cebowleratibm updated the diff for D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.

Clang format.

Mar 27 2020, 8:45 AM · Restricted Project
cebowleratibm added inline comments to D76875: [NFC] [PPC] [AIX] Test improvements for byval arguments that fit in a single register.
Mar 27 2020, 8:12 AM · Restricted Project

Mar 26 2020

cebowleratibm retitled D76875: [NFC] [PPC] [AIX] Test improvements for byval arguments that fit in a single register from [PPC][AIX] Test improvements for byval arguments that fit in a single register to [NFC] [PPC] [AIX] Test improvements for byval arguments that fit in a single register.
Mar 26 2020, 12:29 PM · Restricted Project
cebowleratibm updated the diff for D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.

Forgot the 64 byte byval test.

Mar 26 2020, 12:29 PM · Restricted Project
cebowleratibm added inline comments to D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.
Mar 26 2020, 12:29 PM · Restricted Project
cebowleratibm updated the diff for D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.

I split out some of the suggested test improvements to https://reviews.llvm.org/D76875

Mar 26 2020, 11:59 AM · Restricted Project
cebowleratibm created D76875: [NFC] [PPC] [AIX] Test improvements for byval arguments that fit in a single register.
Mar 26 2020, 11:55 AM · Restricted Project

Mar 24 2020

cebowleratibm accepted D76401: [PowerPC][AIX] ByVal formal argument support: single register..
Mar 24 2020, 4:07 PM · Restricted Project, Restricted Project

Mar 23 2020

cebowleratibm added a comment to D76401: [PowerPC][AIX] ByVal formal argument support: single register..

Summary:
-Test tidy ups
-FYI that I noted a 32-bit 8 byte aligned by-val (struct S { double d; }) that will need special handling in future
-Requested some comments in the code / tests to explain the suboptimal codegen, which otherwise looks odd.

Mar 23 2020, 8:09 PM · Restricted Project, Restricted Project

Mar 20 2020

cebowleratibm added a comment to D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.

I still have to update the tests as per Sean's suggestion but I'll post the updated code for now.

Mar 20 2020, 1:34 PM · Restricted Project
cebowleratibm updated the diff for D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.

Updated code to address comments.

Mar 20 2020, 1:34 PM · Restricted Project
cebowleratibm added inline comments to D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.
Mar 20 2020, 8:38 AM · Restricted Project
cebowleratibm added inline comments to D76401: [PowerPC][AIX] ByVal formal argument support: single register..
Mar 20 2020, 7:00 AM · Restricted Project, Restricted Project

Mar 18 2020

cebowleratibm created D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers.
Mar 18 2020, 12:29 PM · Restricted Project

Mar 17 2020

cebowleratibm updated the diff for D75863: [AIX] Implement by-val caller arguments in a single register.

Addressed Sean's comments:
-General test tidy up, remove an unnecessary assertion, tweaked a variable rename.

Mar 17 2020, 5:51 PM · Restricted Project
cebowleratibm planned changes to D75863: [AIX] Implement by-val caller arguments in a single register.
Mar 17 2020, 5:51 PM · Restricted Project
cebowleratibm updated the diff for D75863: [AIX] Implement by-val caller arguments in a single register.

-Added skipping of 0 size by val args.
-Tidied up tests.

Mar 17 2020, 1:29 PM · Restricted Project
cebowleratibm planned changes to D75863: [AIX] Implement by-val caller arguments in a single register.

-Add CC_AIX logic to pass over 0 size by-val arguments.
-Tidy the by val tests added.
-Some expected output changes required in aix-cc-byval.ll related to use of ZEXTLOAD now that I've added the run step.

Mar 17 2020, 10:10 AM · Restricted Project
cebowleratibm updated the diff for D75863: [AIX] Implement by-val caller arguments in a single register.

Added the missing run steps to aix-cc-byval.ll

Mar 17 2020, 7:57 AM · Restricted Project
cebowleratibm planned changes to D75863: [AIX] Implement by-val caller arguments in a single register.
Mar 17 2020, 7:57 AM · Restricted Project

Mar 16 2020

cebowleratibm updated the diff for D75863: [AIX] Implement by-val caller arguments in a single register.

-Use ZEXTLOAD rather than EXTLOAD. This changed expected output because we're able to use rotate left word immediate with mask form instructions.
-Split byval cc tests into new test files.

Mar 16 2020, 10:52 AM · Restricted Project
cebowleratibm planned changes to D75863: [AIX] Implement by-val caller arguments in a single register.
  1. Split byval cc tests into a separate file.
  2. Use ZEXTLOAD
Mar 16 2020, 10:20 AM · Restricted Project

Mar 10 2020

cebowleratibm added inline comments to D75863: [AIX] Implement by-val caller arguments in a single register.
Mar 10 2020, 8:06 AM · Restricted Project

Mar 9 2020

cebowleratibm created D75863: [AIX] Implement by-val caller arguments in a single register.
Mar 9 2020, 10:46 AM · Restricted Project

Mar 5 2020

cebowleratibm updated the diff for D75126: [AIX] Extend integer arguments to register width when passed in stack memory..

One comment update. Should be ready to commit.

Mar 5 2020, 7:08 AM · Restricted Project

Mar 4 2020

cebowleratibm added inline comments to D75126: [AIX] Extend integer arguments to register width when passed in stack memory..
Mar 4 2020, 7:52 AM · Restricted Project
cebowleratibm updated the diff for D75126: [AIX] Extend integer arguments to register width when passed in stack memory..

Some of the prior test changes have been committed as NFC patches. I've updated the diff and readers can now see the instruction changes for widening arguments to register width before writing to the stack.

Mar 4 2020, 5:06 AM · Restricted Project

Feb 26 2020

cebowleratibm added a comment to D74225: [AIX] Implement formal arguments passed in stack memory.

I think we need some changes to ensure frame objects are created with their proper size and not word size. i64 is passed as two i32s but we should coalesce these into a single 8-byte object. Like-wise arguments smaller than word size are generating frame objects that are word size.

Feb 26 2020, 10:34 AM · Restricted Project
cebowleratibm added a comment to D75126: [AIX] Extend integer arguments to register width when passed in stack memory..

It would be better if the test cleanup was done in a separate patch to make it clearer what the expected output of the patch. But that said, it's not difficult to find added testcase and it would be ok with me to leave the modified test cases.

Feb 26 2020, 4:46 AM · Restricted Project

Feb 25 2020

cebowleratibm created D75126: [AIX] Extend integer arguments to register width when passed in stack memory..
Feb 25 2020, 8:39 AM · Restricted Project

Feb 24 2020

cebowleratibm added inline comments to D74225: [AIX] Implement formal arguments passed in stack memory.
Feb 24 2020, 8:49 AM · Restricted Project
cebowleratibm added inline comments to D74349: [PowerPC][AIX] Spill and restore the non-volatile condition register bits..
Feb 24 2020, 5:01 AM · Restricted Project

Feb 20 2020

cebowleratibm added a comment to D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate.

Patch LGTM as far a formatting/naming/testing etc. C++ specifics is outside my wheelhouse though, so I can't confirm things like the tail padding rules are correct for AIX. Because of that I'm not comfortable being the one to accept the patch.

Feb 20 2020, 4:52 AM · Restricted Project, Restricted Project

Feb 19 2020

cebowleratibm added a comment to D74225: [AIX] Implement formal arguments passed in stack memory.

All minor comments except for the concern on whether or not a truncation node is needed when ValSize < LocSize.

Feb 19 2020, 7:18 AM · Restricted Project

Feb 18 2020

cebowleratibm added a comment to D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate.

From my perspective, the only issue holding this up is settling on the name. I'd like to hammer that out and get this committed.

Feb 18 2020, 9:02 AM · Restricted Project, Restricted Project
cebowleratibm added a comment to D74349: [PowerPC][AIX] Spill and restore the non-volatile condition register bits..

I believe the current patch is sound and correct. I had one test suggestion and one suggestion to use a lambda to reuse some of the cr spill logic.

Feb 18 2020, 9:02 AM · Restricted Project

Feb 13 2020

cebowleratibm added a comment to D74225: [AIX] Implement formal arguments passed in stack memory.

Code semantics look ok. If you can post a revision to address the minor concerns I need to have one more pass-through of the test updates in detail.

Feb 13 2020, 9:01 AM · Restricted Project

Feb 12 2020

cebowleratibm added a comment to D74349: [PowerPC][AIX] Spill and restore the non-volatile condition register bits..

I would like to see some test coverage for the AIX CRSave assembly, whether we adapt the tests you've already updated or add a separate test. It seems 64-bit PPC Linux has a better way of handling a single CR save. If we choose not to use the same approach on AIX I'd like to understand why.

Feb 12 2020, 6:50 AM · Restricted Project
cebowleratibm added a comment to D74015: [AIX][Frontend] C++ ABI customizations for AIX boilerplate.

Looks fine, but we need to settle on the name for the ABI. My preference would be "XLC++11", or perhaps "XLCXX11" (I propose the latter because of the common reference CXXABI.)

Feb 12 2020, 4:50 AM · Restricted Project, Restricted Project

Feb 10 2020

cebowleratibm added a comment to D74225: [AIX] Implement formal arguments passed in stack memory.

This concludes my initial review. Mostly tidy up comments. The logic seems correct so semantically I think it's ok (for the incremental support that it adds.) I'll see if I can break it on the next round.

Feb 10 2020, 5:43 AM · Restricted Project
cebowleratibm added a comment to D74225: [AIX] Implement formal arguments passed in stack memory.

Did a passthrough of the test changes with a number of comments. I expect you wanted to make some test updates, nonetheless I thought I'd document what I'd like to see in the test coverage. Will review code changes next.

Feb 10 2020, 4:53 AM · Restricted Project
cebowleratibm added a comment to D74225: [AIX] Implement formal arguments passed in stack memory.

There's some trailing whitespace that emits warnings when I apply the patch. Probably a good idea to tidy it up. I'll continue to review the content of that patch.

Feb 10 2020, 4:35 AM · Restricted Project

Feb 5 2020

cebowleratibm updated the diff for D73209: [AIX] Implement caller arguments passed in stack memory.

Used custom mem to tag memLocs for float args that also pass in register so the LowerFormalArguments_AIX can skip them easily.

Feb 5 2020, 7:35 AM · Restricted Project
cebowleratibm added a comment to D73209: [AIX] Implement caller arguments passed in stack memory.

Addressed Sean's comments. Notable change: when a float arg passes in FPR as well as PSA memory we will mark the memLoc custom. LowerFormalArguments_AIX can ignore custom memLoc. If a float arg passes in PSA memory and there was no FPR available, then the memLoc will be normal (non-custom.) I've updated LowerFormalArguments_AIX such that it will pass over custom memloc but continue to report_fatal_error on non-custom memloc. Zarko will have a patch coming to remove the report_fatal_error and implement memLoc for LowerFormalArguments_AIX.

Feb 5 2020, 7:07 AM · Restricted Project

Feb 3 2020

cebowleratibm added a comment to D72454: [AIX] Enable frame pointer for AIX and add related test suite.

Only minor test questions / requests. The change looks ok. I think we should explain the stack adj differences with the XL compiler before committing, specifically: do we need to allocate the PSA for the current frame even if there are no calls?

Feb 3 2020, 2:57 PM · Restricted Project

Jan 29 2020

cebowleratibm added a comment to D72454: [AIX] Enable frame pointer for AIX and add related test suite.

Some early issues. I need more time to go through the AIX assembly in detail to ensure it's correct.

Jan 29 2020, 12:08 PM · Restricted Project
cebowleratibm added inline comments to D73209: [AIX] Implement caller arguments passed in stack memory.
Jan 29 2020, 7:31 AM · Restricted Project

Jan 28 2020

cebowleratibm updated the diff for D73209: [AIX] Implement caller arguments passed in stack memory.

Added a test for a double that passes in fpr and 2 gpr.

Jan 28 2020, 7:36 AM · Restricted Project

Jan 27 2020

cebowleratibm added inline comments to D73209: [AIX] Implement caller arguments passed in stack memory.
Jan 27 2020, 10:18 AM · Restricted Project

Jan 23 2020

cebowleratibm added inline comments to D72454: [AIX] Enable frame pointer for AIX and add related test suite.
Jan 23 2020, 5:26 AM · Restricted Project

Jan 22 2020

cebowleratibm created D73209: [AIX] Implement caller arguments passed in stack memory.
Jan 22 2020, 9:09 AM · Restricted Project

Jan 21 2020

cebowleratibm added a comment to D72454: [AIX] Enable frame pointer for AIX and add related test suite.

Preliminary comments. I still need to go through the test changes more thoroughly.

Jan 21 2020, 6:40 AM · Restricted Project

Jan 10 2020

cebowleratibm updated the diff for D71013: [AIX] Allow vararg calls when all arguments reside in registers..

Already approved but I've addressed the nits and posted the final commit here because I'll need someone to commit it for me.

Jan 10 2020, 7:55 AM · Restricted Project

Jan 9 2020

cebowleratibm updated the diff for D71013: [AIX] Allow vararg calls when all arguments reside in registers..

Rewrote comments in aix-cc-altivec.ll test, fixed the vector diagnostic bug Zarko pointed out and addressed small nits.

Jan 9 2020, 4:33 AM · Restricted Project
cebowleratibm added inline comments to D71013: [AIX] Allow vararg calls when all arguments reside in registers..
Jan 9 2020, 4:18 AM · Restricted Project

Jan 8 2020

cebowleratibm added inline comments to D71013: [AIX] Allow vararg calls when all arguments reside in registers..
Jan 8 2020, 5:12 AM · Restricted Project

Jan 7 2020

cebowleratibm updated the diff for D71013: [AIX] Allow vararg calls when all arguments reside in registers..

I've decided to use custom regs for all gpr inits for float varargs. I discovered that f64 passing in 64-bit gpr was missing a required bitcast to int to handle the initialization. The new logic ensures the bitcast occurs for any custom handling. Custom handling is only expected for gpr inits of float args.

Jan 7 2020, 7:52 AM · Restricted Project

Dec 17 2019

cebowleratibm planned changes to D71013: [AIX] Allow vararg calls when all arguments reside in registers..

Recent problems have come up generating the GPR initializations for floating point args, which may require some rework. Hold off on review until revision is posted.

Dec 17 2019, 6:49 AM · Restricted Project
cebowleratibm added inline comments to D71013: [AIX] Allow vararg calls when all arguments reside in registers..
Dec 17 2019, 4:35 AM · Restricted Project

Dec 16 2019

cebowleratibm added inline comments to D71013: [AIX] Allow vararg calls when all arguments reside in registers..
Dec 16 2019, 5:35 AM · Restricted Project

Dec 13 2019

cebowleratibm added inline comments to D71013: [AIX] Allow vararg calls when all arguments reside in registers..
Dec 13 2019, 9:00 PM · Restricted Project
cebowleratibm added inline comments to D71013: [AIX] Allow vararg calls when all arguments reside in registers..
Dec 13 2019, 7:38 AM · Restricted Project

Dec 12 2019

cebowleratibm added a comment to D71013: [AIX] Allow vararg calls when all arguments reside in registers..

Minor tweaks and test upates to come. I'll add an assembly test to validate that we don't need to store to memory to initiailze the two GPRs for f64 in PPC32 mode on newer hardware.

Dec 12 2019, 9:00 AM · Restricted Project

Dec 6 2019

cebowleratibm updated the diff for D71013: [AIX] Allow vararg calls when all arguments reside in registers..

Clang formatted the change and updated the float reg to use LocVT.

Dec 6 2019, 7:34 AM · Restricted Project