• Matt Turner's avatar
    i965: Relax restriction on scheduling last instruction. · 7b208a73
    Matt Turner authored
    
    
    I think when this code was written, basic blocks were always ended by a
    control flow instruction or an end-of-thread message. That's no longer
    the case, and removing this restriction actually helps things:
    
       instructions in affected programs: 7267 -> 7244 (-0.32%)
       helped: 4
    
       total cycles in shared programs: 66559580 -> 66431900 (-0.19%)
       cycles in affected programs: 28310152 -> 28182472 (-0.45%)
       helped: 9577
       HURT: 879
    
       GAINED: 2
    
    The addition of the is_control_flow() checks is not a functional change,
    since the add_insts_from_block() does not put them in the list of
    instructions to schedule. I plan to change this in a later patch.
    Reviewed-by: Francisco Jerez's avatarFrancisco Jerez <currojerez@riseup.net>
    7b208a73
brw_schedule_instructions.cpp 54.4 KB