mirror of git://gcc.gnu.org/git/gcc.git
re PR lto/85574 (LTO bootstapped binaries differ)
2019-01-03 Jan Hubicka <hubicka@ucw.cz> PR tree-optimization/85574 * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused structure. (struct ssa_equip_hash_traits): Declare. (val_ssa_equiv): Use custom hash traits using operand_equal_p. From-SVN: r267552
This commit is contained in:
parent
5227609c33
commit
4a62f44193
|
|
@ -1,3 +1,11 @@
|
||||||
|
2019-01-03 Jan Hubicka <hubicka@ucw.cz>
|
||||||
|
|
||||||
|
PR tree-optimization/85574
|
||||||
|
* tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
|
||||||
|
structure.
|
||||||
|
(struct ssa_equip_hash_traits): Declare.
|
||||||
|
(val_ssa_equiv): Use custom hash traits using operand_equal_p.
|
||||||
|
|
||||||
2019-01-03 Jakub Jelinek <jakub@redhat.com>
|
2019-01-03 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR debug/88644
|
PR debug/88644
|
||||||
|
|
|
||||||
|
|
@ -268,21 +268,24 @@ associate_equivalences_with_edges (void)
|
||||||
so with each value we have a list of SSA_NAMEs that have the
|
so with each value we have a list of SSA_NAMEs that have the
|
||||||
same value. */
|
same value. */
|
||||||
|
|
||||||
|
/* Traits for the hash_map to record the value to SSA name equivalences
|
||||||
/* Main structure for recording equivalences into our hash table. */
|
mapping. */
|
||||||
struct equiv_hash_elt
|
struct ssa_equip_hash_traits : default_hash_traits <tree>
|
||||||
{
|
{
|
||||||
/* The value/key of this entry. */
|
static inline hashval_t hash (value_type value)
|
||||||
tree value;
|
{ return iterative_hash_expr (value, 0); }
|
||||||
|
static inline bool equal (value_type existing, value_type candidate)
|
||||||
/* List of SSA_NAMEs which have the same value/key. */
|
{ return operand_equal_p (existing, candidate, 0); }
|
||||||
vec<tree> equivalences;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef hash_map<tree, auto_vec<tree>,
|
||||||
|
simple_hashmap_traits <ssa_equip_hash_traits,
|
||||||
|
auto_vec <tree> > > val_ssa_equiv_t;
|
||||||
|
|
||||||
/* Global hash table implementing a mapping from invariant values
|
/* Global hash table implementing a mapping from invariant values
|
||||||
to a list of SSA_NAMEs which have the same value. We might be
|
to a list of SSA_NAMEs which have the same value. We might be
|
||||||
able to reuse tree-vn for this code. */
|
able to reuse tree-vn for this code. */
|
||||||
static hash_map<tree, auto_vec<tree> > *val_ssa_equiv;
|
val_ssa_equiv_t *val_ssa_equiv;
|
||||||
|
|
||||||
static void uncprop_into_successor_phis (basic_block);
|
static void uncprop_into_successor_phis (basic_block);
|
||||||
|
|
||||||
|
|
@ -476,7 +479,7 @@ pass_uncprop::execute (function *fun)
|
||||||
associate_equivalences_with_edges ();
|
associate_equivalences_with_edges ();
|
||||||
|
|
||||||
/* Create our global data structures. */
|
/* Create our global data structures. */
|
||||||
val_ssa_equiv = new hash_map<tree, auto_vec<tree> > (1024);
|
val_ssa_equiv = new val_ssa_equiv_t (1024);
|
||||||
|
|
||||||
/* We're going to do a dominator walk, so ensure that we have
|
/* We're going to do a dominator walk, so ensure that we have
|
||||||
dominance information. */
|
dominance information. */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue