void x86_uinst_clear(void) { /* Clear list */ while (list_count(x86_uinst_list)) x86_uinst_free(list_remove_at(x86_uinst_list, 0)); /* Forget occurrence of effective address computation in previous inst */ x86_uinst_effaddr_emitted = 0; }
void uop_free_if_not_queued(struct uop_t *uop) { /* Do not free if 'uop' is still enqueued */ if (uop->in_fetchq || uop->in_uopq || uop->in_iq || uop->in_lq || uop->in_sq || uop->in_rob || uop->in_eventq) { return; } /* Free */ uop->magic = 0; x86_uinst_free(uop->uinst); free(uop); }