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().

Andrew


Reply via email to