gcc-8.3/gcc/alter_subregs()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#vc23dc5e]
#backlinks
*説明 [#ec04806b]
-パス: [[gcc-8.3/gcc/lra-spills.c]]
-FIXME: これは何?
--説明
**引数 [#t9a35109]
-rtx *loc
--
--[[gcc-8.3/gcc/rtx]]
-bool final_p
--
**返り値 [#f5d62cd8]
-bool
--
**参考 [#g688eb53]
*実装 [#f26d827c]
/* Apply alter_subreg for subregs of regs in *LOC. Use ...
alter_subreg calls. Return true if any subreg of reg is
processed. */
static bool
alter_subregs (rtx *loc, bool final_p)
{
int i;
rtx x = *loc;
bool res;
const char *fmt;
enum rtx_code code;
-
--[[gcc-8.3/gcc/rtx]]
--[[gcc-8.3/gcc/rtx_code]]
if (x == NULL_RTX)
return false;
code = GET_CODE (x);
if (code == SUBREG && REG_P (SUBREG_REG (x)))
{
lra_assert (REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_...
alter_subreg (loc, final_p);
return true;
}
-
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/REG_P()]]
--[[gcc-8.3/gcc/SUBREG_REG()]]
--[[gcc-8.3/gcc/lra_assert()]]
--[[gcc-8.3/gcc/REGNO()]]
--[[gcc-8.3/gcc/alter_subreg()]]
fmt = GET_RTX_FORMAT (code);
res = false;
for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
{
if (fmt[i] == 'e')
{
if (alter_subregs (&XEXP (x, i), final_p))
res = true;
}
else if (fmt[i] == 'E')
{
int j;
for (j = XVECLEN (x, i) - 1; j >= 0; j--)
if (alter_subregs (&XVECEXP (x, i, j), final_p))
res = true;
}
}
-
--[[gcc-8.3/gcc/GET_RTX_FORMAT()]]
--[[gcc-8.3/gcc/GET_RTX_LENGTH()]]
--[[gcc-8.3/gcc/XEXP()]]
--[[gcc-8.3/gcc/XVECLEN()]]
--[[gcc-8.3/gcc/XVECEXP()]]
return res;
}
*コメント [#jd29c92c]
終了行:
*参照元 [#vc23dc5e]
#backlinks
*説明 [#ec04806b]
-パス: [[gcc-8.3/gcc/lra-spills.c]]
-FIXME: これは何?
--説明
**引数 [#t9a35109]
-rtx *loc
--
--[[gcc-8.3/gcc/rtx]]
-bool final_p
--
**返り値 [#f5d62cd8]
-bool
--
**参考 [#g688eb53]
*実装 [#f26d827c]
/* Apply alter_subreg for subregs of regs in *LOC. Use ...
alter_subreg calls. Return true if any subreg of reg is
processed. */
static bool
alter_subregs (rtx *loc, bool final_p)
{
int i;
rtx x = *loc;
bool res;
const char *fmt;
enum rtx_code code;
-
--[[gcc-8.3/gcc/rtx]]
--[[gcc-8.3/gcc/rtx_code]]
if (x == NULL_RTX)
return false;
code = GET_CODE (x);
if (code == SUBREG && REG_P (SUBREG_REG (x)))
{
lra_assert (REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_...
alter_subreg (loc, final_p);
return true;
}
-
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/REG_P()]]
--[[gcc-8.3/gcc/SUBREG_REG()]]
--[[gcc-8.3/gcc/lra_assert()]]
--[[gcc-8.3/gcc/REGNO()]]
--[[gcc-8.3/gcc/alter_subreg()]]
fmt = GET_RTX_FORMAT (code);
res = false;
for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
{
if (fmt[i] == 'e')
{
if (alter_subregs (&XEXP (x, i), final_p))
res = true;
}
else if (fmt[i] == 'E')
{
int j;
for (j = XVECLEN (x, i) - 1; j >= 0; j--)
if (alter_subregs (&XVECEXP (x, i, j), final_p))
res = true;
}
}
-
--[[gcc-8.3/gcc/GET_RTX_FORMAT()]]
--[[gcc-8.3/gcc/GET_RTX_LENGTH()]]
--[[gcc-8.3/gcc/XEXP()]]
--[[gcc-8.3/gcc/XVECLEN()]]
--[[gcc-8.3/gcc/XVECEXP()]]
return res;
}
*コメント [#jd29c92c]
ページ名: