functions.c
// Add IR_CALL_ARG_REG instructions that don't do anything, but ensure
// that the interference graph and register selection code create
// a live range for the interval between the function register assignment and
// the function call. Without this, there is a chance that function call
// registers are used as temporaries during the code instructions
// emitted above.
Add IR_CALL_ARG_REG instructions that don't do anything, but ensure
that the interference graph and register selection code create
a live range for the interval between the function register assignment and
the function call. Without this, there is a chance that function call
registers are used as temporaries during the code instructions
emitted above.
Add IR_CALL_ARG_REG instructions that don ' t do anything but ensure that the interference graph and register selection code create a live range for the interval between the function register assignment and the function call . Without this there is a chance that function call registers are used as temporaries during the code instructions emitted above .
static void add_ir_call_reg_instructions(Tac *ir, Value **function_call_values, int count) {
    for (int i = 0; i < count; i++)
        if (function_call_values[i])
            insert_instruction_from_operation(ir, IR_CALL_ARG_REG, 0, function_call_values[i], 0, 1);
}
static void add_ir_call_reg_instructions ( Tac * ir , Value * * function_call_values , int count ) { for ( int i = 0 ; i < count ; i ++ ) if ( function_call_values [ i ] ) insert_instruction_from_operation ( ir , IR_CALL_ARG_REG , 0 , function_call_values [ i ] , 0 , 1 ) ; }
Add IR_CALL_ARG_REG instructions that don't do anything, but ensure
that the interference graph and register selection code create
a live range for the interval between the function register assignment and
the function call.
Add IR_CALL_ARG_REG instructions that don ' t do anything but ensure that the interference graph and register selection code create a live range for the interval between the function register assignment and the function call .