Optimise hash_table::empty
authorRichard Sandiford <richard.sandiford@arm.com>
Sat, 16 Jan 2016 11:03:18 +0000 (11:03 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sat, 16 Jan 2016 11:03:18 +0000 (11:03 +0000)
commit677cb11df0d67bb9590eefd61aebd8851872e2ae
tree735d4ab3ae87c19e68d98349fe4ca7d2e98347e6
parentb62df3bfc5a32eadd99a274186a23427a6369d5b
Optimise hash_table::empty

Calling redirect_edge_var_map_empty after each pass was slowing things
down because hash_table::empty () cleared all slots even if the hash
table was already empty.

Tested on x86_64-linux-gnu, where it gives a 1% compile time improvement
for fold-const.ii at -O and -O2.

gcc/
* hash-table.h (hash_table::empty): Turn into an inline wrapper
that checks whether the table is already empty.  Rename the
original implementation to...
(hash_table::empty_slot): ...this new private function.

From-SVN: r232467
gcc/ChangeLog
gcc/hash-table.h