re PR ipa/59008 (ICEs in try_make_edge_direct_simple_call / propagate_controlled_uses)
2014-01-06 Martin Jambor <mjambor@suse.cz> PR ipa/59008 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type to int. * ipa-prop.c (ipa_print_node_params): Fix indentation. testsuite/ * gcc.dg/ipa/pr59008.c: New test. From-SVN: r206361
This commit is contained in:
parent
4dc69bc674
commit
a4e33812b0
@ -1,3 +1,10 @@
|
||||
2014-01-06 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
PR ipa/59008
|
||||
* ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
|
||||
to int.
|
||||
* ipa-prop.c (ipa_print_node_params): Fix indentation.
|
||||
|
||||
2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR debug/59350
|
||||
|
@ -2281,7 +2281,7 @@ ipcp_discover_new_direct_edges (struct cgraph_node *node,
|
||||
{
|
||||
bool agg_contents = ie->indirect_info->agg_contents;
|
||||
bool polymorphic = ie->indirect_info->polymorphic;
|
||||
bool param_index = ie->indirect_info->param_index;
|
||||
int param_index = ie->indirect_info->param_index;
|
||||
struct cgraph_edge *cs = ipa_make_edge_direct_to_target (ie, target);
|
||||
found = true;
|
||||
|
||||
|
@ -3326,6 +3326,7 @@ ipa_print_node_params (FILE *f, struct cgraph_node *node)
|
||||
{
|
||||
int c;
|
||||
|
||||
fprintf (f, " ");
|
||||
ipa_dump_param (f, info, i);
|
||||
if (ipa_is_param_used (info, i))
|
||||
fprintf (f, " used");
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-01-06 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
PR ipa/59008
|
||||
* gcc.dg/ipa/pr59008.c: New test.
|
||||
|
||||
2014-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* gcc.dg/vect/vect.exp: Add clearcap_ldflags to DEFAULT_VECTCFLAGS
|
||||
|
32
gcc/testsuite/gcc.dg/ipa/pr59008.c
Normal file
32
gcc/testsuite/gcc.dg/ipa/pr59008.c
Normal file
@ -0,0 +1,32 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O3" } */
|
||||
|
||||
typedef int (*funct)(int, int, int);
|
||||
|
||||
extern int f(int, int, int);
|
||||
extern int g(int, int, int);
|
||||
extern int h(int, funct, funct);
|
||||
|
||||
static int baz(int x, int y, int z)
|
||||
{
|
||||
return x + y + z;
|
||||
}
|
||||
|
||||
static int bar(int n, funct f1, funct f2)
|
||||
{
|
||||
return h(n, f1, f2) + f1(0, 1, 2);
|
||||
}
|
||||
|
||||
static int foo(int n, funct f1, funct f2)
|
||||
{
|
||||
return bar(n, f1, f2) + f2(0, 1, 2);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return foo(0, f, g)
|
||||
#ifndef ICE2
|
||||
+ foo(0, baz, g)
|
||||
#endif
|
||||
;
|
||||
}
|
Loading…
Reference in New Issue
Block a user