search for: cvsvp

Displaying 4 results from an estimated 4 matches for "cvsvp".

Did you mean: cvsup
2020 Feb 18
8
The semantics of nonnull attribute
...I found that there was a similar discussion about this issue in the past as well, but seems it is not settled yet. What should the semantics of nonnull be? I listed a few optimizations that are relevant with this issue. 1. Propagating nonnull attribute to callee's arg ( https://godbolt.org/z/-cVsVP ) g(i8* ptr) { f(nonnull ptr); } => g(i8* nonnull ptr) { f(nonnull ptr); } This is correct if f(nonnull null) is UB. If ptr == null, f(nonnull null) should have raised UB, so ptr shouldn't be null. However, this transformation is incorrect if f(nonnull null) is equivalent to f(poison). If...
2020 Feb 18
2
The semantics of nonnull attribute
...scussion about this issue in the past as > well, but seems it is not settled yet. > What should the semantics of nonnull be? > I listed a few optimizations that are relevant with this issue. > > > 1. Propagating nonnull attribute to callee's arg ( > https://godbolt.org/z/-cVsVP ) > > g(i8* ptr) { > f(nonnull ptr); > } > => > g(i8* nonnull ptr) { > f(nonnull ptr); > } > > This is correct if f(nonnull null) is UB. If ptr == null, f(nonnull null) > should have raised UB, so ptr shouldn't be null. > However, this transformation is...
2020 Feb 18
3
The semantics of nonnull attribute
...; > past as well, but seems it is not settled yet. > > What should the semantics of nonnull be? > > I listed a few optimizations that are relevant with this issue. > > > > > > 1. Propagating nonnull attribute to callee's arg ( > > https://godbolt.org/z/-cVsVP ) > > > > g(i8* ptr) { > > f(nonnull ptr); > > } > > => > > g(i8* nonnull ptr) { > > f(nonnull ptr); > > } > > > > This is correct if f(nonnull null) is UB. If ptr == null, f(nonnull > > null) should have raised UB, so ptr shou...
2020 Feb 18
8
The semantics of nonnull attribute
...ems it is not settled yet. > > > What should the semantics of nonnull be? > > > I listed a few optimizations that are relevant with this issue. > > > > > > > > > 1. Propagating nonnull attribute to callee's arg ( > > > https://godbolt.org/z/-cVsVP ) > > > > > > g(i8* ptr) { > > > f(nonnull ptr); > > > } > > > => > > > g(i8* nonnull ptr) { > > > f(nonnull ptr); > > > } > > > > > > This is correct if f(nonnull null) is UB. If ptr == null, f(nonnull &gt...