stormy16.c (xstormy16_init_builtins): prevent initialisation of non-existant args[2] element.
* config/stormy16/stormy16.c (xstormy16_init_builtins): prevent initialisation of non-existant args[2] element. Use args[] array not arg[] array to pass arguments to build_function_type_list. From-SVN: r174029
This commit is contained in:
parent
ba7923d19f
commit
15f072f97b
|
@ -1,3 +1,9 @@
|
||||||
|
2011-05-22 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
|
||||||
|
initialisation of non-existant args[2] element. Use args[] array
|
||||||
|
not arg[] array to pass arguments to build_function_type_list.
|
||||||
|
|
||||||
2011-05-22 Ira Rosen <ira.rosen@linaro.org>
|
2011-05-22 Ira Rosen <ira.rosen@linaro.org>
|
||||||
|
|
||||||
PR tree-optimization/49087
|
PR tree-optimization/49087
|
||||||
|
|
|
@ -2266,7 +2266,7 @@ xstormy16_init_builtins (void)
|
||||||
|
|
||||||
gcc_assert (n_args <= (int) ARRAY_SIZE (args));
|
gcc_assert (n_args <= (int) ARRAY_SIZE (args));
|
||||||
|
|
||||||
for (a = n_args; a >= 0; a--)
|
for (a = n_args - 1; a >= 0; a--)
|
||||||
args[a] = NULL_TREE;
|
args[a] = NULL_TREE;
|
||||||
|
|
||||||
for (a = n_args; a >= 0; a--)
|
for (a = n_args; a >= 0; a--)
|
||||||
|
@ -2284,9 +2284,9 @@ xstormy16_init_builtins (void)
|
||||||
else
|
else
|
||||||
args[a-1] = arg;
|
args[a-1] = arg;
|
||||||
}
|
}
|
||||||
ftype = build_function_type_list (ret_type, arg[0], arg[1], NULL_TREE);
|
ftype = build_function_type_list (ret_type, args[0], args[1], NULL_TREE);
|
||||||
add_builtin_function (s16builtins[i].name, ftype,
|
add_builtin_function (s16builtins[i].name, ftype,
|
||||||
i, BUILT_IN_MD, NULL, NULL);
|
i, BUILT_IN_MD, NULL, NULL_TREE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2407,7 +2407,8 @@ combine_bnp (rtx insn)
|
||||||
{
|
{
|
||||||
/* LT and GE conditionals should have a sign extend before
|
/* LT and GE conditionals should have a sign extend before
|
||||||
them. */
|
them. */
|
||||||
for (and_insn = prev_real_insn (insn); and_insn;
|
for (and_insn = prev_real_insn (insn);
|
||||||
|
and_insn != NULL_RTX;
|
||||||
and_insn = prev_real_insn (and_insn))
|
and_insn = prev_real_insn (and_insn))
|
||||||
{
|
{
|
||||||
int and_code = recog_memoized (and_insn);
|
int and_code = recog_memoized (and_insn);
|
||||||
|
@ -2436,7 +2437,8 @@ combine_bnp (rtx insn)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* EQ and NE conditionals have an AND before them. */
|
/* EQ and NE conditionals have an AND before them. */
|
||||||
for (and_insn = prev_real_insn (insn); and_insn;
|
for (and_insn = prev_real_insn (insn);
|
||||||
|
and_insn != NULL_RTX;
|
||||||
and_insn = prev_real_insn (and_insn))
|
and_insn = prev_real_insn (and_insn))
|
||||||
{
|
{
|
||||||
if (recog_memoized (and_insn) == CODE_FOR_andhi3
|
if (recog_memoized (and_insn) == CODE_FOR_andhi3
|
||||||
|
@ -2481,7 +2483,8 @@ combine_bnp (rtx insn)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!and_insn)
|
|
||||||
|
if (and_insn == NULL_RTX)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (load = shift ? prev_real_insn (shift) : prev_real_insn (and_insn);
|
for (load = shift ? prev_real_insn (shift) : prev_real_insn (and_insn);
|
||||||
|
|
Loading…
Reference in New Issue