/* This call is used in place of a gen_rtx_INSN_LIST. If there is a cached node available, we'll use it, otherwise a call to gen_rtx_INSN_LIST is made. */ rtx alloc_INSN_LIST (rtx val, rtx next) { rtx r; if (unused_insn_list) { r = unused_insn_list; unused_insn_list = XEXP (r, 1); XEXP (r, 0) = val; XEXP (r, 1) = next; PUT_REG_NOTE_KIND (r, VOIDmode); } else r = gen_rtx_INSN_LIST (VOIDmode, val, next); return r; }
/* This call is used in place of a gen_rtx_INSN_LIST. If there is a cached node available, we'll use it, otherwise a call to gen_rtx_INSN_LIST is made. */ rtx_insn_list * alloc_INSN_LIST (rtx val, rtx next) { rtx_insn_list *r; if (unused_insn_list) { r = as_a <rtx_insn_list *> (unused_insn_list); unused_insn_list = r->next (); XEXP (r, 0) = val; XEXP (r, 1) = next; PUT_REG_NOTE_KIND (r, VOIDmode); gcc_assert (GET_CODE (r) == INSN_LIST); } else r = gen_rtx_INSN_LIST (VOIDmode, val, next); return r; }