On Wed, Oct 12, 2022 at 10:31:00AM -0400, Andrew MacLeod wrote: > I presume you are looking to get this working for this release, making the > priority high? :-)
Yes. So that we can claim we actually support C++23 Portable Assumptions and OpenMP assume directive's hold clauses for something non-trivial so people won't be afraid to actually use it. Of course, first the posted patch needs to be reviewed and only once it gets in, the ranger/GORI part can follow. As the latter is only an optimization, it can be done incrementally. > Intersection I believe...? I think the value from the assume's should add > restrictions to the range.. Sure, sorry. > I figured as much, I was just wondering if there might be some way to > "simplify" certain things by processing it and turning each parameter query > into a smaller function returning the range we determined from the main > one... but perhaps that is more complicated. We don't really know what the condition is, it can be pretty arbitrary expression (well, e.g. for C++ conditional expression, so say [[assume (var = foo ())]]; is not valid but [[assume ((var = foo ()))]]; is. And with GNU statement expressions it can do a lot of stuff and until we e.g. inline into it and optimize it a little, we don't really know what it will be like. Jakub