11use rustc_abi:: { BackendRepr , Float , Integer , Primitive , RegKind } ;
22use rustc_attr_parsing:: InstructionSetAttr ;
33use rustc_hir:: def_id:: DefId ;
4- use rustc_middle:: mir:: mono:: { Linkage , MonoItem , MonoItemData , Visibility } ;
4+ use rustc_middle:: mir:: mono:: { Linkage , MonoItemData , Visibility } ;
55use rustc_middle:: mir:: { InlineAsmOperand , START_BLOCK } ;
66use rustc_middle:: ty:: layout:: { FnAbiOf , LayoutOf , TyAndLayout } ;
77use rustc_middle:: ty:: { Instance , Ty , TyCtxt , TypeVisitableExt } ;
@@ -12,18 +12,18 @@ use rustc_target::spec::WasmCAbi;
1212
1313use crate :: common;
1414use crate :: mir:: AsmCodegenMethods ;
15- use crate :: traits:: { GlobalAsmOperandRef , MiscCodegenMethods } ;
15+ use crate :: traits:: GlobalAsmOperandRef ;
1616
1717pub ( crate ) fn codegen_naked_asm <
1818 ' a ,
1919 ' tcx ,
2020 Cx : LayoutOf < ' tcx , LayoutOfResult = TyAndLayout < ' tcx > >
2121 + FnAbiOf < ' tcx , FnAbiOfResult = & ' tcx FnAbi < ' tcx , Ty < ' tcx > > >
22- + AsmCodegenMethods < ' tcx >
23- + MiscCodegenMethods < ' tcx > ,
22+ + AsmCodegenMethods < ' tcx > ,
2423> (
2524 cx : & ' a Cx ,
2625 instance : Instance < ' tcx > ,
26+ item_data : MonoItemData ,
2727) {
2828 assert ! ( !instance. args. has_infer( ) ) ;
2929 let mir = cx. tcx ( ) . instance_mir ( instance. def ) ;
@@ -44,7 +44,6 @@ pub(crate) fn codegen_naked_asm<
4444 let operands: Vec < _ > =
4545 operands. iter ( ) . map ( |op| inline_to_global_operand :: < Cx > ( cx, instance, op) ) . collect ( ) ;
4646
47- let item_data = cx. codegen_unit ( ) . items ( ) . get ( & MonoItem :: Fn ( instance) ) . unwrap ( ) ;
4847 let name = cx. mangled_name ( instance) ;
4948 let fn_abi = cx. fn_abi_of_instance ( instance, ty:: List :: empty ( ) ) ;
5049 let ( begin, end) = prefix_and_suffix ( cx. tcx ( ) , instance, & name, item_data, fn_abi) ;
@@ -139,7 +138,7 @@ fn prefix_and_suffix<'tcx>(
139138 tcx : TyCtxt < ' tcx > ,
140139 instance : Instance < ' tcx > ,
141140 asm_name : & str ,
142- item_data : & MonoItemData ,
141+ item_data : MonoItemData ,
143142 fn_abi : & FnAbi < ' tcx , Ty < ' tcx > > ,
144143) -> ( String , String ) {
145144 use std:: fmt:: Write ;
0 commit comments