Introduce rtx_alloca, alloca_raw_REG and alloca_rtx_fmt_*
authorIlya Leoshkevich <iii@linux.ibm.com>
Mon, 30 Sep 2019 14:56:33 +0000 (14:56 +0000)
committerIlya Leoshkevich <iii@gcc.gnu.org>
Mon, 30 Sep 2019 14:56:33 +0000 (14:56 +0000)
commit20fa157e674d0175f8c2717683462cdaded4d5be
tree352896fb14df54a2a599b18e2707299ae6055830
parent9343bf99b5e36fa11b723aafa282fd5900a5e525
Introduce rtx_alloca, alloca_raw_REG and alloca_rtx_fmt_*

When one passes short-lived fake rtxes to backends in order to test
their capabilities, it might be beneficial to allocate these rtxes on
stack in order to reduce the load on GC.

Provide macro counterparts of some of the gen_* functions for that
purpose.

gcc/ChangeLog:

2019-09-30  Ilya Leoshkevich  <iii@linux.ibm.com>

* emit-rtl.c (init_raw_REG): New function.
(gen_raw_REG): Use init_raw_REG.
* gengenrtl.c (gendef): Emit init_* functions and alloca_*
macros.
* rtl.c (rtx_alloc_stat_v): Use rtx_init.
* rtl.h (rtx_init): New function.
(rtx_alloca): New function.
(init_raw_REG): New function.
(alloca_raw_REG): New macro.

From-SVN: r276303
gcc/ChangeLog
gcc/emit-rtl.c
gcc/gengenrtl.c
gcc/rtl.c
gcc/rtl.h