Merge commit '49cd5dd454
' into sync_cg_clif-2024-06-30
This commit is contained in:
commit
9ec6a02ab3
23 changed files with 441 additions and 292 deletions
|
@ -247,7 +247,6 @@ pub(crate) fn type_sign(ty: Ty<'_>) -> bool {
|
|||
|
||||
pub(crate) fn create_wrapper_function(
|
||||
module: &mut dyn Module,
|
||||
unwind_context: &mut UnwindContext,
|
||||
sig: Signature,
|
||||
wrapper_name: &str,
|
||||
callee_name: &str,
|
||||
|
@ -280,7 +279,6 @@ pub(crate) fn create_wrapper_function(
|
|||
bcx.finalize();
|
||||
}
|
||||
module.define_function(wrapper_func_id, &mut ctx).unwrap();
|
||||
unwind_context.add_function(wrapper_func_id, &ctx, module.isa());
|
||||
}
|
||||
|
||||
pub(crate) struct FunctionCx<'m, 'clif, 'tcx: 'm> {
|
||||
|
@ -395,6 +393,7 @@ impl<'tcx> FunctionCx<'_, '_, 'tcx> {
|
|||
// FIXME Don't force the size to a multiple of <abi_align> bytes once Cranelift gets
|
||||
// a way to specify stack slot alignment.
|
||||
size: (size + abi_align - 1) / abi_align * abi_align,
|
||||
align_shift: 4,
|
||||
});
|
||||
Pointer::stack_slot(stack_slot)
|
||||
} else {
|
||||
|
@ -405,6 +404,7 @@ impl<'tcx> FunctionCx<'_, '_, 'tcx> {
|
|||
// FIXME Don't force the size to a multiple of <abi_align> bytes once Cranelift gets
|
||||
// a way to specify stack slot alignment.
|
||||
size: (size + align) / abi_align * abi_align,
|
||||
align_shift: 4,
|
||||
});
|
||||
let base_ptr = self.bcx.ins().stack_addr(self.pointer_type, stack_slot, 0);
|
||||
let misalign_offset = self.bcx.ins().urem_imm(base_ptr, i64::from(align));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue