Use immediate_backend_type when reading from a const alloc

This commit is contained in:
Ben Kimock 2023-12-09 15:53:41 -05:00
parent 2b399b5275
commit b0a580112b
2 changed files with 16 additions and 1 deletions

View File

@ -155,7 +155,7 @@ impl<'a, 'tcx, V: CodegenObject> OperandRef<'tcx, V> {
Abi::Scalar(s @ abi::Scalar::Initialized { .. }) => {
let size = s.size(bx);
assert_eq!(size, layout.size, "abi::Scalar size does not match layout size");
let val = read_scalar(offset, size, s, bx.backend_type(layout));
let val = read_scalar(offset, size, s, bx.immediate_backend_type(layout));
OperandRef { val: OperandValue::Immediate(val), layout }
}
Abi::ScalarPair(

View File

@ -0,0 +1,15 @@
// This is a regression test for https://github.com/rust-lang/rust/issues/118047
// build-pass
// compile-flags: -Zmir-opt-level=0 -Zmir-enable-passes=+DataflowConstProp
#![crate_type = "lib"]
pub struct State {
inner: bool
}
pub fn make() -> State {
State {
inner: true
}
}