Displaying 2 results from an estimated 2 matches for "__ubsan_handle_type_mismatch_v1".
2018 Mar 19
2
Suggestions for how coroutines and UBSan codegen can play nice with one another?
...the '*this' expression in the
source file above, are moved down past a call to the '@llvm.coro.begin'
intrinsic.
However, when UBSan is enabled, the load of '*this' is then immediately
followed by a null check and, in the null case, a conditional branch to a
call to '@ __ubsan_handle_type_mismatch_v1'. The coro-split pass is not
written to move these compare and branch instructions, and instead asserts.
You can see an example of the IR generated with and without
'-fsanitize=null' here:
https://gist.github.com/modocache/54a036c3bf9c06882fe85122e105d153
-- PR36578.ll lines 82 to 104...
2018 Mar 19
0
Suggestions for how coroutines and UBSan codegen can play nice with one another?
...*this' expression in the source file above, are moved down past a call to the '@llvm.coro.begin' intrinsic.
>
> However, when UBSan is enabled, the load of '*this' is then immediately followed by a null check and, in the null case, a conditional branch to a call to '@ __ubsan_handle_type_mismatch_v1'. The coro-split pass is not written to move these compare and branch instructions, and instead asserts.
It looks like there was a FIXME about this issue introduced circa r280678.
> You can see an example of the IR generated with and without '-fsanitize=null' here: https://gist.gi...