Nikita Popov
Nikita Popov
For znver3 see also https://github.com/llvm/llvm-project/issues/50802. Would love to see that fixed. Clang is currently actively sabotaging the znver3 architecture by using a ridiculously large unrolling limit.
> I would expect the first argument in each of the three calls to be annotated with the same attributes: nocapture nonnull noundef dereferenceable(1). The nonnull/noundef/dereferenceable annotations are sometimes missing...
The best we can probably do here is a report_fatal_error. We don't have the right level of information in the IR verifier (well, unless we want to hardcode constraints there).
@RKSimon Sounds reasonable. I guess a generalization here could be that `(z + y) - umin(x, y)` is `z + usub.sat(y, x)`, which happens to be `umax(x, y)` for the...
> These assumptions are pervasive throughout `SimplifyLibcalls.cpp` and although they could be removed and the hardwired type replaced by one derived from the IR, I'm not sure that effort would...
> @Danack - I expressed similar thoughts to @jrfnl on twitter, I appreciate someone with more experience sharing thoughts around that too. From my rough estimate PHP 9.0 is roughly...
> > Of course, solving this in a way that does not require allowing dynamic properties for everything is always preferred, if not too hard to realize :) > >...
The same also applies to other expressions that accept only variables on the LHS, for example PHP interprets `!$x instanceof Y` as `!($x instanceof Y)`, while the parser currently treats...
You're right about `instanceof`, I got confused there. The LHS is a normal expression, it's the RHS that is a (restricted) variable. However, the spec is incorrect about the precedence...
As far as I know XDebug does not support memory profiling. However, there is https://github.com/arnaud-lb/php-memory-profiler, which added PHP 7 support a couple of days ago.