Hi, The parameter MAX_PENDING_LIST_LENGTH is set to 32 by default. It seems to me the length of pending list can't be larger than 32. But in sched-deps.c, below code is used: /* Pending lists can't get larger with a readonly context. */ if (!deps->readonly && ((deps->pending_read_list_length + deps->pending_write_list_length) > MAX_PENDING_LIST_LENGTH))
Since we compares it using ">", the list can have 33 instructions at most, which is inconsistent with the parameter name. Well, it's some kind of nit picking. Another question. This parameter is introduced to prevent GCC from running for too long time. I am not clear if the running time is a quadratic function of pending list, or a quadratic function of dependency nodes? If it's the latter, could we use the number of dependency nodes as the parameter directly? Because in some cases like memory initialization, there are more than 32 store instructions in flow, but the dependency are actually very simple. Thanks, bin