This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 11/8/18 9:24 AM, Richard Biener wrote:
On Thu, Nov 8, 2018 at 1:17 PM Aldy Hernandez <aldyh@redhat.com> wrote:This one's rather obvious and does not depend on any get_range_info API change. OK for trunk?Hmm, no - that's broken. IIRC m_equiv are shared bitmaps if you do tem = *old_vr so you modify it in place with equiv_clear().
Good point.
Thus, operator= should be really deleted or mapped to value_range::set() in which case tem = *old_vr would do useless bitmap allocation and copying that you then clear.
Actually, I was thinking that perhaps the assignment and equality operators should disregard the equivalence bitmap. In this case, copy everything EXCEPT the bitmap and set the resulting equivalence bitmap to NULL.
It's also annoying to use ::ignore_equivs_equal_p(). Since that seems to be the predominant way of comparing ranges, perhaps it should be the default.
Aldy
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |