functions.c
// Load a scalar in a struct into a register. The scalar can be either a local, global, or lvalue in register
// If it's an lvalue in a register, it is indirected, otherwise moved.
Load a scalar in a struct into a register. The scalar can be either a local, global, or lvalue in register
If it's an lvalue in a register, it is indirected, otherwise moved.
Load a scalar in a struct into a register . The scalar can be either a local global or lvalue in register If it ' s an lvalue in a register it is indirected otherwise moved .
static void load_struct_scalar_into_temp(Function *function, Tac *ir, Value *param, FunctionParamLocation *pl, Type *type, Value *temp, int offset) {
    int lvalue_in_register = param->is_lvalue && param->vreg;
    Value *src1 = dup_value(param);
    src1->type = type;
    src1->offset += pl->stru_offset + offset;
    insert_instruction_from_operation(ir, lvalue_in_register ? IR_INDIRECT : IR_MOVE, temp, src1, 0, 1);
}
static void load_struct_scalar_into_temp ( Function * function , Tac * ir , Value * param , FunctionParamLocation * pl , Type * type , Value * temp , int offset ) { int lvalue_in_register = param -> is_lvalue && param -> vreg ; Value * src1 = dup_value ( param ) ; src1 -> type = type ; src1 -> offset += pl -> stru_offset + offset ; insert_instruction_from_operation ( ir , lvalue_in_register ? IR_INDIRECT : IR_MOVE , temp , src1 , 0 , 1 ) ; }
Load a scalar in a struct into a register.
Load a scalar in a struct into a register .