genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects.
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Tue, 15 Nov 2016 22:10:37 +0000 (22:10 +0000)
committerBernd Edlinger <edlinger@gcc.gnu.org>
Tue, 15 Nov 2016 22:10:37 +0000 (22:10 +0000)
commita8dd133793176fbc022cef752ad654e26256fafa
tree745ce1201ab430be25f2b58578df4d2bb0417aef
parent839984f40444f7ab73ab0d83c94d82577718b657
genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects.

2016-11-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects.
        Clear ATTR_CURR_SIMPLIFIED_P for re-used binary rtx objects.
        Use DEF_ATTR_STRING for string arguments.  Use RTL_HASH for
        integer arguments.  Only set ATTR_PERMANENT_P on newly hashed
        rtx when all sub-rtx are also permanent.
        (attr_eq): Simplify.
        (attr_copy_rtx): Remove.
        (make_canonical, get_attr_value): Use attr_equal_p.
        (copy_boolean): Rehash NOT.
        (simplify_test_exp_in_temp,
        optimize_attrs): Remove call to attr_copy_rtx.
        (attr_alt_intersection, attr_alt_union,
        attr_alt_complement, mk_attr_alt): Rehash EQ_ATTR_ALT.
        (make_automaton_attrs): Use attr_eq.

From-SVN: r242460
gcc/ChangeLog
gcc/genattrtab.c