fn do_inlineasm<Bx: BuilderMethods<'a, 'tcx>>(
        &self,
        fx: &mut FunctionCx<'a, 'tcx, Bx>,
        bx: &mut Bx,
        template: &[InlineAsmTemplatePiece],
        operands: &[InlineAsmOperandRef<'tcx, Bx>],
        options: InlineAsmOptions,
        line_spans: &[Span],
        destination: Option<mir::BasicBlock>,
        cleanup: Option<mir::BasicBlock>,
        instance: Instance<'_>,
    ) {
        if let Some(cleanup) = cleanup {
            let ret_llbb = if let Some(target) = destination {
                fx.llbb(target)
            } else {
                fx.unreachable_block()
            };

            bx.codegen_inline_asm(
                template,
                &operands,
                options,
                line_spans,
                instance,
                Some((ret_llbb, self.llblock(fx, cleanup), self.funclet(fx))),
            );
        } else {
            bx.codegen_inline_asm(template, &operands, options, line_spans, instance, None);

            if let Some(target) = destination {
                self.funclet_br(fx, bx, target);
            } else {
                bx.unreachable();
            }
        }
    }
/// Generates inline assembly with optional `destination` and `cleanup`.
Generates inline assembly with optional `destination` and `cleanup`.
Generates inline assembly with optional ` destination ` and ` cleanup ` .
fn do_inlineasm<Bx: BuilderMethods<'a, 'tcx>>(
        &self,
        fx: &mut FunctionCx<'a, 'tcx, Bx>,
        bx: &mut Bx,
        template: &[InlineAsmTemplatePiece],
        operands: &[InlineAsmOperandRef<'tcx, Bx>],
        options: InlineAsmOptions,
        line_spans: &[Span],
        destination: Option<mir::BasicBlock>,
        cleanup: Option<mir::BasicBlock>,
        instance: Instance<'_>,
    ) {
        if let Some(cleanup) = cleanup {
            let ret_llbb = if let Some(target) = destination {
                fx.llbb(target)
            } else {
                fx.unreachable_block()
            };
            bx.codegen_inline_asm(
                template,
                &operands,
                options,
                line_spans,
                instance,
                Some((ret_llbb, self.llblock(fx, cleanup), self.funclet(fx))),
            );
        } else {
            bx.codegen_inline_asm(template, &operands, options, line_spans, instance, None);
            if let Some(target) = destination {
                self.funclet_br(fx, bx, target);
            } else {
                bx.unreachable();
            }
        }
    }
fn do_inlineasm < Bx : BuilderMethods < ' a , ' tcx > > ( & self , fx : & mut FunctionCx < ' a , ' tcx , Bx > , bx : & mut Bx , template : & [ InlineAsmTemplatePiece ] , operands : & [ InlineAsmOperandRef < ' tcx , Bx > ] , options : InlineAsmOptions , line_spans : & [ Span ] , destination : Option < mir :: BasicBlock > , cleanup : Option < mir :: BasicBlock > , instance : Instance < ' _ > , ) { if let Some ( cleanup ) = cleanup { let ret_llbb = if let Some ( target ) = destination { fx . llbb ( target ) } else { fx . unreachable_block ( ) } ; bx . codegen_inline_asm ( template , & operands , options , line_spans , instance , Some ( ( ret_llbb , self . llblock ( fx , cleanup ) , self . funclet ( fx ) ) ) , ) ; } else { bx . codegen_inline_asm ( template , & operands , options , line_spans , instance , None ) ; if let Some ( target ) = destination { self . funclet_br ( fx , bx , target ) ; } else { bx . unreachable ( ) ; } } }
Generates inline assembly with optional `destination` and `cleanup`.
Generates inline assembly with optional ` destination ` and ` cleanup ` .
&self
fx
&mut FunctionCx<'a, 'tcx, Bx>
bx
&mut Bx
template
&[InlineAsmTemplatePiece]
operands
&[InlineAsmOperandRef<'tcx, Bx>]
options
InlineAsmOptions
line_spans
&[Span]
destination
Option<mir::BasicBlock>
cleanup
Option<mir::BasicBlock>
instance
Instance<'_>
&self
fx
&mut FunctionCx<'a, 'tcx, Bx>
bx
&mut Bx
template
&[InlineAsmTemplatePiece]
operands
&[InlineAsmOperandRef<'tcx, Bx>]
options
InlineAsmOptions
line_spans
&[Span]
destination
Option<mir::BasicBlock>
cleanup
Option<mir::BasicBlock>
instance
Instance<'_>