Skip to content

Add a codegen test for rust-lang/rust#96152 #101395

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
Nov 7, 2022

Conversation

saethlin
Copy link
Member

@saethlin saethlin commented Sep 3, 2022

This is a regression test for #96152, it is intended to check that our codegen for a particular strict provenance pattern is always as good as the ptr2int2ptr/provenance-ignoring style.

r? @nikic

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 3, 2022
@nikic
Copy link
Contributor

nikic commented Nov 4, 2022

@bors r+ rollup=never because assembly test

@bors
Copy link
Collaborator

bors commented Nov 4, 2022

📌 Commit f2e97c21c4c5364a24bcd3d1690b976894481f52 has been approved by nikic

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 Nov 4, 2022
@bors
Copy link
Collaborator

bors commented Nov 5, 2022

⌛ Testing commit f2e97c21c4c5364a24bcd3d1690b976894481f52 with merge d87f187062fd52f04dee9598c20ebfbcd76d48ed...

@bors
Copy link
Collaborator

bors commented Nov 5, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 5, 2022
@rust-log-analyzer

This comment has been minimized.

@nikic
Copy link
Contributor

nikic commented Nov 5, 2022

@bors retry looks spurious

@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 Nov 5, 2022
@bors
Copy link
Collaborator

bors commented Nov 5, 2022

⌛ Testing commit f2e97c21c4c5364a24bcd3d1690b976894481f52 with merge 3a1734e1819fd9f8ec3b0f87fb4945262907d9b8...

@bors
Copy link
Collaborator

bors commented Nov 5, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 5, 2022
@rust-log-analyzer

This comment has been minimized.

@saethlin
Copy link
Member Author

saethlin commented Nov 5, 2022

The tests pass on Linux and I have no idea how to debug the problem here. At a guess the Windows linker is misbehaving.

@nikic
Copy link
Contributor

nikic commented Nov 6, 2022

This is just a difference in calling convention. With the sysv ABI, the first argument is passed in rdi, with ms abi it is passed in rcx. You could either use a wildcard like movq %{{.*}}, %rax or ignore the test on Windows.

@saethlin saethlin force-pushed the strict-provenance-codegen branch from f2e97c2 to b97ec85 Compare November 6, 2022 21:57
@saethlin
Copy link
Member Author

saethlin commented Nov 6, 2022

I really wish the error message indicated that it was just one instruction off. When I read over it, I thought two of the functions were missing from the assembly.

@nikic
Copy link
Contributor

nikic commented Nov 6, 2022

@bors r+

@bors
Copy link
Collaborator

bors commented Nov 6, 2022

📌 Commit b97ec85 has been approved by nikic

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 Nov 6, 2022
@bors
Copy link
Collaborator

bors commented Nov 7, 2022

⌛ Testing commit b97ec85 with merge 3ea51b569dc3de3f39b0a71bab72d4e61038543a...

@bors
Copy link
Collaborator

bors commented Nov 7, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 7, 2022
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-apple-1 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
      Memory: 14 GB
      System Firmware Version: VMW71.00V.13989454.B64.1906190538
      Apple ROM Info: [MS_VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7]Welcome to the Virtual Machine
      SMC Version (system): 2.8f0
      Serial Number (system): VM6d+qU2ShCJ
      Provisioning UDID: 4203018E-580F-C1B5-9525-B745CECA79EB

hw.ncpu: 3
hw.byteorder: 1234
---
[TIMING] test::RustcBook { compiler: Compiler { stage: 2, host: x86_64-apple-darwin } } -- 0.000
Generating lint docs (x86_64-apple-darwin)
[TIMING] doc::RustcBook { compiler: Compiler { stage: 2, host: x86_64-apple-darwin }, target: x86_64-apple-darwin, validate: true } -- 19.783
[TIMING] test::LintDocs { compiler: Compiler { stage: 2, host: x86_64-apple-darwin }, target: x86_64-apple-darwin } -- 0.000
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/doc/search-index1.67.0.js:1
var searchIndex = JSON.parse('{\
SyntaxError: Invalid or unexpected token
SyntaxError: Invalid or unexpected token
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1084:15)
    at Module._compile (node:internal/modules/cjs/loader:1119:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
    at Module.load (node:internal/modules/cjs/loader:1033:32)
    at Function.Module._load (node:internal/modules/cjs/loader:868:12)
    at Module.require (node:internal/modules/cjs/loader:1057:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at loadSearchJS (/Users/runner/work/rust/rust/src/tools/rustdoc-js/tester.js:311:25)
    at main (/Users/runner/work/rust/rust/src/tools/rustdoc-js/tester.js:394:26)

@nikic
Copy link
Contributor

nikic commented Nov 7, 2022

@bors retry

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

bors commented Nov 7, 2022

⌛ Testing commit b97ec85 with merge 391ba78...

@bors
Copy link
Collaborator

bors commented Nov 7, 2022

☀️ Test successful - checks-actions
Approved by: nikic
Pushing 391ba78 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 7, 2022
@bors bors merged commit 391ba78 into rust-lang:master Nov 7, 2022
@rustbot rustbot added this to the 1.67.0 milestone Nov 7, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (391ba78): comparison URL.

Overall result: ❌ regressions - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.7% [0.6%, 0.7%] 2
Regressions ❌
(secondary)
1.4% [1.3%, 1.6%] 6
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.7% [0.6%, 0.7%] 2

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.

mean range count
Regressions ❌
(primary)
2.0% [1.0%, 3.1%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.5% [-3.1%, -0.4%] 7
Improvements ✅
(secondary)
-4.2% [-4.8%, -3.5%] 2
All ❌✅ (primary) -0.7% [-3.1%, 3.1%] 9

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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.9% [-1.9%, -1.9%] 1
All ❌✅ (primary) - - 0

@rustbot rustbot added the perf-regression Performance regression. label Nov 7, 2022
@Kobzol
Copy link
Contributor

Kobzol commented Nov 7, 2022

Obviously noise, as this PR didn't actually modify any compiler code.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Nov 7, 2022
@saethlin saethlin deleted the strict-provenance-codegen branch March 15, 2023 00:34
# 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. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants