Merge commit 'de5d652373
' into sync_cg_clif-2024-04-23
This commit is contained in:
commit
3d682cfb66
23 changed files with 189 additions and 195 deletions
|
@ -2,12 +2,14 @@
|
|||
|
||||
use cranelift_codegen::ir::UserFuncName;
|
||||
use cranelift_codegen::CodegenError;
|
||||
use cranelift_frontend::{FunctionBuilder, FunctionBuilderContext};
|
||||
use cranelift_module::ModuleError;
|
||||
use rustc_ast::InlineAsmOptions;
|
||||
use rustc_index::IndexVec;
|
||||
use rustc_middle::ty::adjustment::PointerCoercion;
|
||||
use rustc_middle::ty::layout::FnAbiOf;
|
||||
use rustc_middle::ty::print::with_no_trimmed_paths;
|
||||
use rustc_middle::ty::TypeVisitableExt;
|
||||
use rustc_monomorphize::is_call_from_compiler_builtins_to_upstream_monomorphization;
|
||||
|
||||
use crate::constant::ConstantCx;
|
||||
|
@ -823,7 +825,13 @@ fn codegen_stmt<'tcx>(
|
|||
};
|
||||
let data = codegen_operand(fx, data);
|
||||
let meta = codegen_operand(fx, meta);
|
||||
let ptr_val = CValue::pointer_from_data_and_meta(data, meta, layout);
|
||||
assert!(data.layout().ty.is_unsafe_ptr());
|
||||
assert!(layout.ty.is_unsafe_ptr());
|
||||
let ptr_val = if meta.layout().is_zst() {
|
||||
data.cast_pointer_to(layout)
|
||||
} else {
|
||||
CValue::by_val_pair(data.load_scalar(fx), meta.load_scalar(fx), layout)
|
||||
};
|
||||
lval.write_cvalue(fx, ptr_val);
|
||||
}
|
||||
Rvalue::Aggregate(ref kind, ref operands) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue