> > On 11/18/23 20:21, Jan Hubicka wrote: > > Hi, > > this patch implements very basic propaation of return value ranges from VRP > > pass. This helps std::vector's push_back since we work out value range of > > allocated block. This propagates only within single translation unit. I > > hoped > > we will also do the propagation at WPA stage, but that needs more work on > > ipa-cp side. > > > > I also added code auto-detecting return_nonnull and corresponding > > -Wsuggest-attribute > > > > Variant of this patch bootstrapped/regtested x86_64-linux, testing with > > this version is running. I plan to commit the patch at Monday provided > > there are no issues. > > I see no obvious issues with the ranger/vrp changes... > > My only comment is that execute_ranger_vrp is called 3 times... EVRP, VRP1 > and VRP2.. perhaps more someday. As long as that is OK with the call to > warn_function_returns_nonnull(). That should be OK. Add the nonnull attribute and also local_pure_onst behaves same way.
Honza > > Andrew > >