*参照元 [#g0356c1e] #backlinks *説明 [#l54b97af] -パス: [[gcc-8.3/gcc/emit-rtl.c]] -FIXME: これは何? --説明 **引数 [#q0de3fb5] -machine_mode mode -- --[[gcc-8.3/gcc/machine_mode]] -unsigned int regno -- **返り値 [#ka60388b] -rtx -- --[[gcc-8.3/gcc/rtx]] **参考 [#rc84e062] *実装 [#m71bb7f5] /* Generate a new REG rtx. Make sure ORIGINAL_REGNO is set properly, and don't attempt to share with the various global pieces of rtl (such as frame_pointer_rtx). */ rtx gen_raw_REG (machine_mode mode, unsigned int regno) { rtx x = rtx_alloc (REG MEM_STAT_INFO); set_mode_and_regno (x, mode, regno); REG_ATTRS (x) = NULL; ORIGINAL_REGNO (x) = regno; return x; } - --[[gcc-8.3/gcc/rtx_alloc()]] --[[gcc-8.3/gcc/set_mode_and_regno()]] --[[gcc-8.3/gcc/REG_ATTRS()]] --[[gcc-8.3/gcc/ORIGINAL_REGNO()]] --つまり、 (x)->u.reg.regno = regno; (x)->u.reg.nregs = 1; //ハードウェアレジスタの場合は 1 以外の値になることもある (x)->u.reg.attrs = NULL; (x)->u2.original_regno = regno; *コメント [#bb921218]