pub fn finish_fn(fcx: &FunctionContext, last_bcx: &Block) {
    let _icx = push_ctxt("finish_fn");

    let ret_cx = match fcx.llreturn.get() {
        Some(llreturn) => {
            if !last_bcx.terminated.get() {
                Br(last_bcx, llreturn);
            }
            raw_block(fcx, false, llreturn)
        }
        None => last_bcx
    };
    build_return_block(fcx, ret_cx);
    debuginfo::clear_source_location(fcx);
    fcx.cleanup();
}
// Ties up the llstaticallocas -> llloadenv -> lltop edges,
// and builds the return block.
Ties up the llstaticallocas -> llloadenv -> lltop edges,
and builds the return block.
Ties up the llstaticallocas - > llloadenv - > lltop edges and builds the return block .
pub fn finish_fn(fcx: &FunctionContext, last_bcx: &Block) {
    let _icx = push_ctxt("finish_fn");
    let ret_cx = match fcx.llreturn.get() {
        Some(llreturn) => {
            if !last_bcx.terminated.get() {
                Br(last_bcx, llreturn);
            }
            raw_block(fcx, false, llreturn)
        }
        None => last_bcx
    };
    build_return_block(fcx, ret_cx);
    debuginfo::clear_source_location(fcx);
    fcx.cleanup();
}
pub fn finish_fn ( fcx : & FunctionContext , last_bcx : & Block ) { let _icx = push_ctxt ( " " ) ; let ret_cx = match fcx . llreturn . get ( ) { Some ( llreturn ) => { if ! last_bcx . terminated . get ( ) { Br ( last_bcx , llreturn ) ; } raw_block ( fcx , false , llreturn ) } None => last_bcx } ; build_return_block ( fcx , ret_cx ) ; debuginfo :: clear_source_location ( fcx ) ; fcx . cleanup ( ) ; }
Ties up the llstaticallocas -> llloadenv -> lltop edges,
and builds the return block.
Ties up the llstaticallocas - > llloadenv - > lltop edges and builds the return block .
fcx
&FunctionContext
last_bcx
&Block
fcx
&FunctionContext
last_bcx
&Block