Commit c8fb20d8 by Yury Gribov Committed by Maxim Ostapenko

re PR ipa/80565 (ICE at -O2 and -O3 in 32-bit mode (not 64-bit) on…

re PR ipa/80565 (ICE at -O2 and -O3 in 32-bit mode (not 64-bit) on x86_64-linux-gnu (in edge_badness, at ipa-inline.c:1028))

2017-06-29  Yury Gribov  <tetra2005@gmail.com>

	PR bootstrap/80565
        * ipa-cp.c (allocate_and_init_ipcp_value): Add initialization
	code.
        * ipa-inline.h
	(edge_growth_cache_entry::edge_growth_cache_entry): New
	function.
        (reset_edge_growth_cache): Update to use constructor.

From-SVN: r249771
parent 1cc6250d
2017-06-29 Yury Gribov <tetra2005@gmail.com>
PR bootstrap/80565
* ipa-cp.c (allocate_and_init_ipcp_value): Add initialization
code.
* ipa-inline.h
(edge_growth_cache_entry::edge_growth_cache_entry): New
function.
(reset_edge_growth_cache): Update to use constructor.
2017-06-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2017-06-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/aarch64/aarch64.h (AARCH64_EXPAND_ALIGNMENT): New. * config/aarch64/aarch64.h (AARCH64_EXPAND_ALIGNMENT): New.
......
...@@ -159,6 +159,10 @@ public: ...@@ -159,6 +159,10 @@ public:
/* Time benefit and size cost that specializing the function for this value /* Time benefit and size cost that specializing the function for this value
can bring about in it's callees (transitively). */ can bring about in it's callees (transitively). */
int prop_time_benefit, prop_size_cost; int prop_time_benefit, prop_size_cost;
ipcp_value_base ()
: local_time_benefit (0), local_size_cost (0),
prop_time_benefit (0), prop_size_cost (0) {}
}; };
/* Describes one particular value stored in struct ipcp_lattice. */ /* Describes one particular value stored in struct ipcp_lattice. */
...@@ -188,6 +192,10 @@ public: ...@@ -188,6 +192,10 @@ public:
/* True if this valye is currently on the topo-sort stack. */ /* True if this valye is currently on the topo-sort stack. */
bool on_stack; bool on_stack;
ipcp_value()
: sources (0), next (0), scc_next (0), topo_next (0),
spec_node (0), dfs (0), low_link (0), on_stack (false) {}
void add_source (cgraph_edge *cs, ipcp_value *src_val, int src_idx, void add_source (cgraph_edge *cs, ipcp_value *src_val, int src_idx,
HOST_WIDE_INT offset); HOST_WIDE_INT offset);
}; };
......
...@@ -28,6 +28,14 @@ struct edge_growth_cache_entry ...@@ -28,6 +28,14 @@ struct edge_growth_cache_entry
sreal time, nonspec_time; sreal time, nonspec_time;
int size; int size;
ipa_hints hints; ipa_hints hints;
edge_growth_cache_entry()
: size (0), hints (0) {}
edge_growth_cache_entry(int64_t time, int64_t nonspec_time,
int size, ipa_hints hints)
: time (time), nonspec_time (nonspec_time), size (size),
hints (hints) {}
}; };
extern vec<edge_growth_cache_entry> edge_growth_cache; extern vec<edge_growth_cache_entry> edge_growth_cache;
...@@ -116,7 +124,7 @@ reset_edge_growth_cache (struct cgraph_edge *edge) ...@@ -116,7 +124,7 @@ reset_edge_growth_cache (struct cgraph_edge *edge)
{ {
if ((int)edge_growth_cache.length () > edge->uid) if ((int)edge_growth_cache.length () > edge->uid)
{ {
struct edge_growth_cache_entry zero = {0, 0, 0, 0}; struct edge_growth_cache_entry zero (0, 0, 0, 0);
edge_growth_cache[edge->uid] = zero; edge_growth_cache[edge->uid] = zero;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment