2015-08-03 Richard Biener <rguenther@suse.de>
commit5a0909a38ff0064310ac903621471428edbc57de
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 3 Aug 2015 07:39:12 +0000 (3 07:39 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 3 Aug 2015 07:39:12 +0000 (3 07:39 +0000)
tree4200f65c79eb8b2ac1763c11afa220d75f6f2931
parentf11d6df83ed14111301c146d3803948c2667cbe6
2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
New hash-map to record equivalent transforms.
(dt_node::analyze): Populate the equivalent transforms hash-map.
(dt_simplify::info): Add reference to hash-map entry.
(dt_simplify::gen): If we have split out a function for the
transform, generate a call to it.
(sinfo_hashmap_traits::hash): New function.
(compare_op): New helper function for ...
(sinfo_hashmap_traits::equal_keys): ... this new function.
(decision_tree::gen): Split out common equivalent transforms
into functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226490 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/genmatch.c