Comments (5)
Something peculiar about many of these tests is that transforms seem to create ALLOCs that are not actually referenced by MIR. Is that expected?
In terms of fixing this, the existing approach of picking constants that are endianness-independent doesn't seem very scalable. Maybe it would make sense to have a flag that disables dumping the contents of allocations? I think that for most of these tests they are not relevant (especially as the allocations are unused in the first place).
from rust.
Something peculiar about many of these tests is that transforms seem to create ALLOCs that are not actually referenced by MIR. Is that expected?
This appears to be an intermediate result of the optimization process, such as: https://rust.godbolt.org/z/ohz1YMqez (tests/mir-opt/const_prop/slice_len.rs).
In terms of fixing this, the existing approach of picking constants that are endianness-independent doesn't seem very scalable. Maybe it would make sense to have a flag that disables dumping the contents of allocations? I think that for most of these tests they are not relevant (especially as the allocations are unused in the first place).
There is an option ignore-endian-big
to skip these tests, but I like another option to change the output to be uniformly little-endian.
from rust.
If these tests don't actually care about the raw bytes in their UI comparisons, then they can use normalize-stderr-test
to hide the bytes. There are quite a few tests that already normalize to the string "HEX_DUMP".
from rust.
Rather than trying to normalize output, I'm proposing an option in #126502 to skip the raw bytes altogether.
from rust.
Huh, looks like a new instance has crept in just as the PR was merged. I'm now seeing a new test fail:
---- [mir-opt] tests/mir-opt/dataflow-const-prop/aggregate_copy.rs stdout ----
60 + }
61 +
62 + ALLOC0 (size: 8, align: 4) {
- + 05 00 00 00 03 00 00 00 │ ........
+ + 00 00 00 05 00 00 00 03 │ ........
64 }
from rust.
Related Issues (20)
- Regression in clone impl of enum with variant that has a field with a bivariant substitution HOT 3
- A different case of `implementation of "FnOnce` is not general enough" HOT 2
- ICE compiling internal project
- Weird AVX 512 code generated with std::simd when using -Zbuild-std
- Long ty names written to disk can leak username info in paths
- Unify/streamline long type name written to disk mechanism
- Build to AArch64 errors with "error: fixup value out of range"
- Incorrect relative jump (rjmp) code generation in latest nightly release for AVR toolchain HOT 1
- `unused_qualification` breaks code for older rust versions HOT 1
- We should document the exact minimum versions of build tools required to build a given Rust toolchain
- Rust debugger crashes with error "Library not loaded: @rpath/libunwind.1.dylib" on m1 mac HOT 2
- `--emit metadata` produces less error messages with some targets
- Tracking Issue for `ptr::fn_addr_eq`
- Overly conservative async capture analysis when values are borrowed HOT 4
- Option::get_or_insert(_with) incorrectly documented as experimental HOT 2
- ICE: transmute: called `Result::unwrap()` on an `Err` value: ReferencesError(ErrorGuaranteed(())) HOT 11
- Outdated `static.rust-lang.org` documentation from 2014 HOT 2
- Сompiler can't remove panic locations if they are not used in panic handler HOT 4
- Tracking Issue for `lazy_get`
- [ICE] adding a def'n for node-id NodeId(130468) and def kind AnonConst but a previous def'n exists HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.