cpf icon indicating copy to clipboard operation
cpf copied to clipboard

SpecPriv Peephole optimizations bug in Release mode

Open vgene opened this issue 4 years ago • 1 comments

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.

vgene avatar Apr 26 '21 20:04 vgene

In general, maybe we should do a sanitizer pass of CPF to check for all bugs like this.

vgene avatar Apr 26 '21 20:04 vgene