Lines Matching refs:ready
972 ready_lastpos (struct ready_list *ready) in ready_lastpos() argument
974 gcc_assert (ready->n_ready >= 1); in ready_lastpos()
975 return ready->vec + ready->first - ready->n_ready + 1; in ready_lastpos()
982 ready_add (struct ready_list *ready, rtx insn, bool first_p) in ready_add() argument
986 if (ready->first == ready->n_ready) in ready_add()
988 memmove (ready->vec + ready->veclen - ready->n_ready, in ready_add()
989 ready_lastpos (ready), in ready_add()
990 ready->n_ready * sizeof (rtx)); in ready_add()
991 ready->first = ready->veclen - 1; in ready_add()
993 ready->vec[ready->first - ready->n_ready] = insn; in ready_add()
997 if (ready->first == ready->veclen - 1) in ready_add()
999 if (ready->n_ready) in ready_add()
1001 memmove (ready->vec + ready->veclen - ready->n_ready - 1, in ready_add()
1002 ready_lastpos (ready), in ready_add()
1003 ready->n_ready * sizeof (rtx)); in ready_add()
1004 ready->first = ready->veclen - 2; in ready_add()
1006 ready->vec[++(ready->first)] = insn; in ready_add()
1009 ready->n_ready++; in ready_add()
1019 ready_remove_first (struct ready_list *ready) in ready_remove_first() argument
1023 gcc_assert (ready->n_ready); in ready_remove_first()
1024 t = ready->vec[ready->first--]; in ready_remove_first()
1025 ready->n_ready--; in ready_remove_first()
1027 if (ready->n_ready == 0) in ready_remove_first()
1028 ready->first = ready->veclen - 1; in ready_remove_first()
1045 ready_element (struct ready_list *ready, int index) in ready_element() argument
1047 gcc_assert (ready->n_ready && index < ready->n_ready); in ready_element()
1049 return ready->vec[ready->first - index]; in ready_element()
1057 ready_remove (struct ready_list *ready, int index) in ready_remove() argument
1063 return ready_remove_first (ready); in ready_remove()
1064 gcc_assert (ready->n_ready && index < ready->n_ready); in ready_remove()
1065 t = ready->vec[ready->first - index]; in ready_remove()
1066 ready->n_ready--; in ready_remove()
1067 for (i = index; i < ready->n_ready; i++) in ready_remove()
1068 ready->vec[ready->first - i] = ready->vec[ready->first - i - 1]; in ready_remove()
1092 ready_sort (struct ready_list *ready) in ready_sort() argument
1094 rtx *first = ready_lastpos (ready); in ready_sort()
1095 SCHED_SORT (first, ready->n_ready); in ready_sort()
1664 queue_to_ready (struct ready_list *ready) in queue_to_ready() argument
1685 && ready->n_ready > MAX_SCHED_READY_INSNS in queue_to_ready()
1694 ready_add (ready, insn, false); in queue_to_ready()
1703 if (ready->n_ready == 0) in queue_to_ready()
1720 ready_add (ready, insn, false); in queue_to_ready()
1796 early_queue_to_ready (state_t state, struct ready_list *ready) in early_queue_to_ready() argument
1859 ready_add (ready, insn, false); in early_queue_to_ready()
1896 debug_ready_list (struct ready_list *ready) in debug_ready_list() argument
1901 if (ready->n_ready == 0) in debug_ready_list()
1907 p = ready_lastpos (ready); in debug_ready_list()
1908 for (i = 0; i < ready->n_ready; i++) in debug_ready_list()
2078 max_issue (struct ready_list *ready, int *index, int max_points) in max_issue() argument
2089 n_ready = ready->n_ready; in max_issue()
2119 insn = ready_element (ready, i); in max_issue()
2150 (*current_sched_info->print_insn) (ready_element (ready, *index), in max_issue()
2162 choose_ready (struct ready_list *ready) in choose_ready() argument
2168 if (lookahead <= 0 || SCHED_GROUP_P (ready_element (ready, 0))) in choose_ready()
2169 return ready_remove_first (ready); in choose_ready()
2184 insn = ready_element (ready, 0); in choose_ready()
2186 return ready_remove_first (ready); in choose_ready()
2192 for (i = 0, n = ready->n_ready; i < n; i++) in choose_ready()
2197 x = ready_element (ready, i); in choose_ready()
2234 for (i = 1; i < ready->n_ready; i++) in choose_ready()
2236 insn = ready_element (ready, i); in choose_ready()
2249 if (max_issue (ready, &index, max_points) == 0) in choose_ready()
2250 return ready_remove_first (ready); in choose_ready()
2252 return ready_remove (ready, index); in choose_ready()
2263 struct ready_list ready; in schedule_block() local
2293 readyp = &ready; in schedule_block()
2294 ready.vec = NULL; in schedule_block()
2301 ready.first = ready.veclen - 1; in schedule_block()
2302 ready.n_ready = 0; in schedule_block()
2308 targetm.sched.md_init (sched_dump, sched_verbose, ready.veclen); in schedule_block()
2334 if (!reload_completed && ready.n_ready > MAX_SCHED_READY_INSNS) in schedule_block()
2336 ready_sort (&ready); in schedule_block()
2339 for (i = MAX_SCHED_READY_INSNS; i < ready.n_ready; i++) in schedule_block()
2340 if (!SCHED_GROUP_P (ready_element (&ready, i))) in schedule_block()
2346 ";;\t\tReady list on entry: %d insns\n", ready.n_ready); in schedule_block()
2352 while (i < ready.n_ready) in schedule_block()
2353 queue_insn (ready_remove (&ready, i), 1); in schedule_block()
2379 queue_to_ready (&ready); in schedule_block()
2381 gcc_assert (ready.n_ready); in schedule_block()
2386 debug_ready_list (&ready); in schedule_block()
2395 ready_sort (&ready); in schedule_block()
2400 debug_ready_list (&ready); in schedule_block()
2407 && (ready.n_ready == 0 in schedule_block()
2408 || !SCHED_GROUP_P (ready_element (&ready, 0)))) in schedule_block()
2411 ready_lastpos (&ready), in schedule_block()
2412 &ready.n_ready, clock_var); in schedule_block()
2428 debug_ready_list (&ready); in schedule_block()
2431 if (ready.n_ready == 0 in schedule_block()
2441 if (early_queue_to_ready (temp_state, &ready)) in schedule_block()
2442 ready_sort (&ready); in schedule_block()
2445 if (ready.n_ready == 0 || !can_issue_more in schedule_block()
2453 insn = choose_ready (&ready); in schedule_block()
2458 insn = ready_remove_first (&ready); in schedule_block()
2476 ready_add (&ready, insn, true); in schedule_block()
2591 if (ready.n_ready > 0) in schedule_block()
2592 ready_sort (&ready); in schedule_block()
2595 && (ready.n_ready == 0 in schedule_block()
2596 || !SCHED_GROUP_P (ready_element (&ready, 0)))) in schedule_block()
2600 ready.n_ready in schedule_block()
2601 ? ready_lastpos (&ready) : NULL, in schedule_block()
2602 &ready.n_ready, clock_var); in schedule_block()
2611 debug_ready_list (&ready); in schedule_block()
2617 gcc_assert (!q_size && !ready.n_ready); in schedule_block()
2621 for (i = ready.n_ready - 1; i >= 0; i--) in schedule_block()
2625 x = ready_element (&ready, i); in schedule_block()
2700 free (ready.vec); in schedule_block()