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 09/14/2018 08:33 AM, Michael Matz wrote:
Hi, On Fri, 14 Sep 2018, Aldy Hernandez wrote:Is there a subtle reason why we're avoiding unsigned truncating conversions of the form: [X, +INF] If the X fits in the new type, why can't we just build [X, +INF] in the new type?But (uin8_t)((unsigned)[255,+INF]) aka ([255,+INF] & 255) isn't [255,+INF] but rather [0,+INF]. What am I missing? Even considering that the caller must canonicalize, I don't see how that would transform [255,+INF] (which is a normal range) into [0,+INF].
Ughh, yes. You're absolutely right. I was getting confused with how we special handled anti-ranges of pointers which make no sense when you split them up into it's pieces and try to do the math. And it made no sense because I missed that pointers are actually special and we only care about null / non-nullness.
Anyways...ignore the noise. I have a much cleaner patch to the tree-vrp.c conversion code that I'm testing now.
Thanks for your input. Aldy
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |