Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ABI: Pass aggregates by value on AIX #131208

Merged
merged 3 commits into from
Oct 11, 2024
Merged

Conversation

mustartt
Copy link
Contributor

@mustartt mustartt commented Oct 3, 2024

On AIX we pass aggregates byval. Adds new ABI for AIX for powerpc64.

https://github.com/llvm/llvm-project/blob/313ad85dfa40a18f2edefd7ce2edc0528d5a554a/clang/lib/CodeGen/Targets/PPC.cpp#L216

Fixes the following 2 testcases on AIX:

tests/ui/abi/extern/extern-pass-TwoU16s.rs
tests/ui/abi/extern/extern-pass-TwoU8s.rs

@rustbot
Copy link
Collaborator

rustbot commented Oct 3, 2024

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @davidtwco (or someone else) some time within the next two weeks.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 3, 2024
@rust-log-analyzer

This comment has been minimized.

@jieyouxu jieyouxu added A-ABI Area: Concerning the application binary interface (ABI) O-aix OS: Big Blue's Advanced Interactive eXecutive.. labels Oct 3, 2024
@Noratrieb
Copy link
Member

Noratrieb commented Oct 3, 2024

@ecnelises @bzEq as target maintainers

@mustartt
Copy link
Contributor Author

mustartt commented Oct 4, 2024

This patch and #131116 are from @bzEq downstream. We are picking up their work now.

@bzEq
Copy link
Contributor

bzEq commented Oct 5, 2024

I think we should add a regression test like #128643.

Copy link
Member

@davidtwco davidtwco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me with a test

@mustartt
Copy link
Contributor Author

mustartt commented Oct 8, 2024

@rustbot review

Updated with a test. The ppc asm sequence is Compiler Explorer

@mustartt mustartt requested a review from davidtwco October 8, 2024 14:00
@bzEq
Copy link
Contributor

bzEq commented Oct 9, 2024

LGTM now. I believe additional codegen test of llvm IR is not needed since it's covered by the tests mentioned in the PR description.

@mustartt
Copy link
Contributor Author

@bors r=davidtwco

@bors
Copy link
Contributor

bors commented Oct 10, 2024

@mustartt: 🔑 Insufficient privileges: Not in reviewers

@davidtwco
Copy link
Member

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Oct 11, 2024

📌 Commit e502a7f has been approved by davidtwco

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 11, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 11, 2024
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#129079 (Create `_imp__` symbols also when doing ThinLTO)
 - rust-lang#131208 (ABI: Pass aggregates by value on AIX)
 - rust-lang#131394 (fix(rustdoc): add space between struct fields and their descriptions)
 - rust-lang#131519 (Use Default visibility for rustc-generated C symbol declarations)
 - rust-lang#131541 (compiletest: Extract auxiliary-crate properties to their own module/struct)
 - rust-lang#131542 (next-solver: remove outdated FIXMEs)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit fc81a7c into rust-lang:master Oct 11, 2024
6 checks passed
@rustbot rustbot added this to the 1.83.0 milestone Oct 11, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Oct 11, 2024
Rollup merge of rust-lang#131208 - mustartt:aix-call-abi, r=davidtwco

ABI: Pass aggregates by value on AIX

On AIX we pass aggregates byval. Adds new ABI for AIX for powerpc64.

https://github.com/llvm/llvm-project/blob/313ad85dfa40a18f2edefd7ce2edc0528d5a554a/clang/lib/CodeGen/Targets/PPC.cpp#L216

Fixes the following 2 testcases on AIX:
```
tests/ui/abi/extern/extern-pass-TwoU16s.rs
tests/ui/abi/extern/extern-pass-TwoU8s.rs
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-ABI Area: Concerning the application binary interface (ABI) O-aix OS: Big Blue's Advanced Interactive eXecutive.. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants