On 2024-09-08 18:01, Andrew Pinski wrote:
When I was implementing improvements into phiopt I ran into case where
objsz would fail now because we get:
tmp = PHI <CST0, CST1>
ptr = ptr + tmp
where before the pointer plus was inside each branch instead. So my
question is there any progress on implementing objsz with ranger or
has that work been put off?
I filed https://gcc.gnu.org/PR116556 for this. Do you have any start
Sorry I noticed it but couldn't get time to work on it. __bos should
trivially handle this I think, I'm surprised that it doesn't.
As far as using ranger in __bos is concerned, I believe there was strong
opposition to the idea and instead to continue evaluating sizes from
first principles like we currently do in the tree-object-size pass. I
think the concern was that ranger can be more aggressive in evaluation
and assume no undefined behaviour whereas __bos tries to detect
undefined behaviour whenever it can and is more conservative about
computations.
of patches for this so it maybe it could be taken to finish? If not
then I am going to try to implement it since it blocks my work on
phiopt.
I'll be happy to review any changes you make to tree-object-size to fix
this.
Thanks,
Sid