Peephole optimization 3 tries to specialize the size of private read and write. However, in the release mode,
tail call void @__specpriv_private_write_range(i8* %126, i32 8) #6 is optimized to
call void @__specpriv_private_read_rangeb(i8* %130).
It is probably because all functions in liberty/include/liberty/Speculation/Api.h return pointer to a static object FunctionCallee. To address this issue, we need to change the Api.h to return FunctionCallee object directly.
Peephole optimization 3 tries to specialize the size of private read and write. However, in the release mode,
tail call void @__specpriv_private_write_range(i8* %126, i32 8) #6
is optimized tocall void @__specpriv_private_read_rangeb(i8* %130)
.It is probably because all functions in
liberty/include/liberty/Speculation/Api.h
return pointer to a static objectFunctionCallee
. To address this issue, we need to change the Api.h to return FunctionCallee object directly.