aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto/ChangeLog
diff options
context:
space:
mode:
authorak <ak@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-25 13:39:05 +0000
committerak <ak@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-25 13:39:05 +0000
commit6b214d097a9e11d2b7ea9e141f21796baa0e39af (patch)
tree4511c17b40b5c5e380fd3e722d314ee3a4201b6c /gcc/lto/ChangeLog
parentab6e5665c356663d99a529db9e38bd79cecc8c35 (diff)
Add an abstract incremental hash data type
Some files in gcc, like lto or tree, do large scale incremential hashing. The current jhash implementation of this could be likely improved by using an incremential hash that does not do a full rehashing for every new value added. This patch adds a new "inchash" class that abstracts the internal state of the hash. This makes it easier to plug in new hashes and also cleans up the code a bit. Right now it is just implemented in the same way as the old iterative hash in tree.c. The previous iterative hash code from tree.c moved into a new separate file. Also I fixed up all users to include the new header. It should not really significantly change any hashing by itself, it's mostly a cleanup at this point. v2: Remove begin. Add commutative interface. Add merge hash interface. Add add_flag. gcc/: 2014-07-25 Andi Kleen <ak@linux.intel.com> * Makefile.in (OBJS): Add inchash.o. (PLUGIN_HEADERS): Add inchash.h. * ipa-devirt.c: Include inchash.h. * lto-streamer-out.c: Dito. * tree-ssa-dom.c: Dito. * tree-ssa-pre.c: Dito. * tree-ssa-sccvn.c: Dito. * tree-ssa-tail-merge.c: Dito. * asan.c: Dito. * tree.c (iterative_hash_hashval_t): Move to ... (iterative_hash_host_wide_int): Move to ... * inchash.c: Here. New file. * tree.h (iterative_hash_hashval_t): Move to ... (iterative_hash_host_wide_int): Move to ... * inchash.h: Here. New file. gcc/lto/: 2014-07-25 Andi Kleen <ak@linux.intel.com> * lto.c: Include inchash.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213054 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto/ChangeLog')
-rw-r--r--gcc/lto/ChangeLog4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 8fd21ea828f..0510a12b0ea 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,7 @@
+2014-07-25 Andi Kleen <ak@linux.intel.com>
+
+ * lto.c: Include inchash.h
+
2014-07-14 Jan Hubicka <hubicka@ucw.cz>
* lto.c (mentions_vars_p_decl_non_common): Skip