-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Enable xray support for Mac #140790
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
Enable xray support for Mac #140790
Conversation
These commits modify compiler targets. |
This comment has been minimized.
This comment has been minimized.
Since this affects the Tier 1 @rustbot ping apple |
Hey Apple notification group! This issue or PR could use some Apple-specific (In case it's useful, here are some instructions for tackling these sorts of cc @BlackHoleFox @hkratz @inflation @madsmtm @nvzqz @shepmaster @thomcc |
@rustbot author (test nits) |
Reminder, once the PR becomes ready for a review, use |
Responded to your questions in #140790 (comment). |
I added tests for assembly output, which should be seen as supplementing the previous missing tests for xray. I also added flag stable test, but I still don't think it's necessary. I don't see any other flags have this test, I can only get this from https://github.com/rust-lang/rust/blob/1.87.0/tests/ui/bootstrap/rustc_bootstrap.rs#L36 . @rustbot ready |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, just a nit on the platform support test
Sorry I shouldn't have said "platform stability", I should've said "platform support". @rustbot author |
@bors try |
Enable xray support for Mac #102921 Upstream has supported Mac for a while, let's enable it. I've tested it on M4 and it generates nop sled correctly. * https://maskray.me/blog/2023-06-18-port-llvm-xray-to-apple-systems * https://github.com/llvm/llvm-project/blob/llvmorg-20.1.4/clang/lib/Driver/XRayArgs.cpp#L31 try-job: x86_64-apple-1 try-job: aarch64-apple
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
Oh right, sometimes there are CFI directives |
Ah, aarch64 generate sled in a different style than x86_64. It's always a jmp to ret instruction, not a direct ret. I haven't really tested it so it may still have error. |
@bors try |
Enable xray support for Mac #102921 Upstream has supported Mac for a while, let's enable it. I've tested it on M4 and it generates nop sled correctly. * https://maskray.me/blog/2023-06-18-port-llvm-xray-to-apple-systems * https://github.com/llvm/llvm-project/blob/llvmorg-20.1.4/clang/lib/Driver/XRayArgs.cpp#L31 try-job: x86_64-apple-1 try-job: aarch64-apple
☀️ Try build successful - checks-actions |
@bors r=wesleywiser,jieyouxu |
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 2805e1d (parent) -> d76fe15 (this PR) Test differencesShow 38 test diffsStage 1
Stage 2
Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard d76fe154029e03aeb64af721beafdcef856d576a --output-dir test-dashboard And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
Thanks everyone for help, especially @jieyouxu 🎉 |
Finished benchmarking commit (d76fe15): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary 0.4%, secondary -0.7%)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.
CyclesResults (secondary 3.8%)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.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 778.675s -> 779.351s (0.09%) |
#102921
Upstream has supported Mac for a while, let's enable it.
I've tested it on M4 and it generates nop sled correctly.
try-job: x86_64-apple-1
try-job: aarch64-apple