Displaying 3 results from an estimated 3 matches for "propagaton".
Did you mean:
propagation
2020 Feb 18
3
The semantics of nonnull attribute
...e "used". You can place "used" on the call site though*. And you can place it on the callee (f) if it was internal or you copy it to make it internal. So the optimization potential is still there, even if it is a little trickier.
* FWIW, one-level of selective context sensitive propagaton is planned
for the Attributor.
> we would say the return value of f(null, 1) is poison. But if you
> inline the function you get UB. Inlining has to continue to be correct
> without exceptions.
The attributes will just never represent the possible UB exhaustively.
I mean, inlining...
2020 Feb 18
8
The semantics of nonnull attribute
...can place "used" on
> the call site though*. And you can place it on the callee (f) if it was internal or
> you copy it to make it internal. So the optimization potential is still there, even if
> it is a little trickier.
>
> * FWIW, one-level of selective context sensitive propagaton is planned
> for the Attributor.
>
>
> > we would say the return value of f(null, 1) is poison. But if you
> > inline the function you get UB. Inlining has to continue to be correct
> > without exceptions.
>
> The attributes will just never represent the possible...
2020 Feb 18
2
The semantics of nonnull attribute
Not sure the semantics of "used" you propose is sufficient. AFAIU the proposal, "used" could only be used in cases where the function will always trigger UB if poison is passed as argument.
The semantics of attributes is usually the other way around, since function calls need to have UB as strong as the worst behavior of the function. If a function may for some reason trigger