Skip to content

Enable inline stack probes on PowerPC and SystemZ #102328

New issue

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

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

Already on GitHub? # to your account

Merged
merged 1 commit into from
Sep 29, 2022

Conversation

cuviper
Copy link
Member

@cuviper cuviper commented Sep 26, 2022

The LLVM PowerPC and SystemZ targets have both supported "probe-stack"="inline-asm" for longer than our current minimum LLVM 13 requirement, so we can turn this on for all powerpc, powerpc64, powerpc64le, and s390x targets in Rust. These are all tier-2 or lower, so CI does not run their tests, but I have confirmed that their linux-gnu variants do pass on RHEL.

cc #43241

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Sep 26, 2022
@rust-highfive
Copy link
Contributor

r? @fee1-dead

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive
Copy link
Contributor

⚠️ Warning ⚠️

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 26, 2022
@fee1-dead
Copy link
Member

r? rust-lang/compiler

@rust-highfive rust-highfive assigned nagisa and unassigned fee1-dead Sep 27, 2022

#[no_mangle]
pub fn foo() {
// CHECK: @foo() unnamed_addr #0
Copy link
Member

Choose a reason for hiding this comment

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

welp

Copy link
Member Author

Choose a reason for hiding this comment

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

A little history on that -- commit cd25807 changed this test from checking "__rust_probestack" to "inline-asm", but then db4c544 fully dropped that check instead of changing it back.

@nagisa
Copy link
Member

nagisa commented Sep 28, 2022

@bors r+

@bors
Copy link
Collaborator

bors commented Sep 28, 2022

📌 Commit ad8f519 has been approved by nagisa

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 Sep 28, 2022
@bors
Copy link
Collaborator

bors commented Sep 29, 2022

⌛ Testing commit ad8f519 with merge 8a497b7...

@bors
Copy link
Collaborator

bors commented Sep 29, 2022

☀️ Test successful - checks-actions
Approved by: nagisa
Pushing 8a497b7 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Sep 29, 2022
@bors bors merged commit 8a497b7 into rust-lang:master Sep 29, 2022
@rustbot rustbot added this to the 1.66.0 milestone Sep 29, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (8a497b7): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean1 range count2
Regressions ❌
(primary)
2.0% [2.0%, 2.0%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-0.8%, -0.8%] 1
Improvements ✅
(secondary)
-3.5% [-3.5%, -3.5%] 1
All ❌✅ (primary) 0.6% [-0.8%, 2.0%] 2

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean1 range count2
Regressions ❌
(primary)
6.3% [6.3%, 6.3%] 1
Regressions ❌
(secondary)
2.8% [2.7%, 2.8%] 2
Improvements ✅
(primary)
-2.4% [-2.4%, -2.3%] 2
Improvements ✅
(secondary)
-3.1% [-3.7%, -2.6%] 2
All ❌✅ (primary) 0.5% [-2.4%, 6.3%] 3

Footnotes

  1. the arithmetic mean of the percent change 2

  2. number of relevant changes 2

@cuviper cuviper deleted the ibm-stack-probes branch October 15, 2022 00:13
Aaron1011 pushed a commit to Aaron1011/rust that referenced this pull request Jan 6, 2023
Enable inline stack probes on PowerPC and SystemZ

The LLVM PowerPC and SystemZ targets have both supported `"probe-stack"="inline-asm"` for longer than our current minimum LLVM 13 requirement, so we can turn this on for all `powerpc`, `powerpc64`, `powerpc64le`, and `s390x` targets in Rust. These are all tier-2 or lower, so CI does not run their tests, but I have confirmed that their `linux-gnu` variants do pass on RHEL.

cc rust-lang#43241
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
merged-by-bors This PR was explicitly merged by bors. 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.

7 participants