@@ -8,7 +8,6 @@ use crate::traits::*;
88use crate :: MemFlags ;
99
1010use rustc_apfloat:: { ieee, Float , Round , Status } ;
11- use rustc_hir:: lang_items:: LangItem ;
1211use rustc_middle:: mir;
1312use rustc_middle:: ty:: cast:: { CastTy , IntTy } ;
1413use rustc_middle:: ty:: layout:: { HasTyCtxt , LayoutOf } ;
@@ -486,39 +485,13 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
486485 )
487486 }
488487
489- mir:: Rvalue :: NullaryOp ( mir:: NullOp :: Box , content_ty) => {
490- let content_ty = self . monomorphize ( content_ty) ;
491- let content_layout = bx. cx ( ) . layout_of ( content_ty) ;
492- let llsize = bx. cx ( ) . const_usize ( content_layout. size . bytes ( ) ) ;
493- let llalign = bx. cx ( ) . const_usize ( content_layout. align . abi . bytes ( ) ) ;
494- let box_layout = bx. cx ( ) . layout_of ( bx. tcx ( ) . mk_box ( content_ty) ) ;
495- let llty_ptr = bx. cx ( ) . backend_type ( box_layout) ;
496-
497- // Allocate space:
498- let def_id = match bx. tcx ( ) . lang_items ( ) . require ( LangItem :: ExchangeMalloc ) {
499- Ok ( id) => id,
500- Err ( s) => {
501- bx. cx ( ) . sess ( ) . fatal ( & format ! ( "allocation of `{}` {}" , box_layout. ty, s) ) ;
502- }
503- } ;
504- let instance = ty:: Instance :: mono ( bx. tcx ( ) , def_id) ;
505- let r = bx. cx ( ) . get_fn_addr ( instance) ;
506- let ty = bx. type_func ( & [ bx. type_isize ( ) , bx. type_isize ( ) ] , bx. type_i8p ( ) ) ;
507- let call = bx. call ( ty, r, & [ llsize, llalign] , None ) ;
508- let val = bx. pointercast ( call, llty_ptr) ;
509-
510- let operand = OperandRef { val : OperandValue :: Immediate ( val) , layout : box_layout } ;
511- ( bx, operand)
512- }
513-
514488 mir:: Rvalue :: NullaryOp ( null_op, ty) => {
515489 let ty = self . monomorphize ( ty) ;
516490 assert ! ( bx. cx( ) . type_is_sized( ty) ) ;
517491 let layout = bx. cx ( ) . layout_of ( ty) ;
518492 let val = match null_op {
519493 mir:: NullOp :: SizeOf => layout. size . bytes ( ) ,
520494 mir:: NullOp :: AlignOf => layout. align . abi . bytes ( ) ,
521- mir:: NullOp :: Box => unreachable ! ( ) ,
522495 } ;
523496 let val = bx. cx ( ) . const_usize ( val) ;
524497 let tcx = self . cx . tcx ( ) ;
0 commit comments