On 11/08/2014 09:11, Roman Gareev wrote:
I am confused. It seems you attached some kind of reduced version of
btCollisionWorld.cpp? How did you obtain it? Did you compile and test
with these versions?
I’ve manually selected parts of code, which produce the scope.
I’ve found out that this bug is most probably caused by absence of
pointer handling. The tree, which is corresponding to P_11 has
pointer type. Furthermore, if we consider the transformed gimple code
for (it can be found attached), we’ll see that it contains wrong
parts:
Could you please advise me an algorithm for pointer handling?
Did you try your code with 64bit pointer types?
In any case, I don't think it is worth spending time on this. I would
check in the scop detection that we disable the handling of unsigned and
pointer types. It is a complex thing to model and the approach currently
taking of always model their wrapping behaviour seems wrong.
What we should do later is to build a run-time check that ensures
no pointer overflow is happening and then just create code without it.
Cheers,
Tobias