On 08/03/14 08:42, Richard Sandiford wrote:
const_rtx_hash_1 had code to hash all elements of a CONST_VECTOR,
but const_rtx_hash also hashes all subrtxes, so we'd end up hashing
the same thing twice.  This looked unintentional so I just removed the
CONST_VECTOR case.  If instead it was a deliberate decision then I think
it deserves a comment.


gcc/
        * varasm.c: Include rtl-iter.h.
        (const_rtx_hash_1): Take a const_rtx rather than an rtx *.
        Remove the pointer to the cumulative hashval_t and just return
        the hash for this rtx instead.  Remove recursive CONST_VECTOR case.
        (const_rtx_hash): Use FOR_EACH_SUBRTX instead of for_each_rtx.
        Accumulate the hashval_ts here instead of const_rtx_hash_1.
This is fine. Though I wonder if it's going to conflict with Andi's work on inchash. If so, consider adjustments to handle Andi's changes pre-approved. Just post the final patch for archival purposes if you need to change it.

Thanks,
jeff

Reply via email to