Hi, VRP assumes that it is run after inlining. Therefore, if there is a call to __builtin_constant_p with function parameter, it resolve it to false to avoid bogus warnings. Since we use this as an early vrp before inling, it leads to wrong code. As a workaround I have disabled it for the time being. That is, this patch is not intended for committing but just to get the VRP tested. Original patch which introduced this also talks about doing it earlier. Thanks, Kugan