search for: jayk123

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

2018 May 24
0
LLVM SEH docs -- enregistration of locals in nonvolatile registers?
Is this example what you had in mind? void f() { int *p = get_p(); use_p(p); try { may_throw(p); } catch (int) { // don't need p } use_p(p); } The idea is that because p is not modified or used within the catch region (the funclet), it can live in a callee-saved register across the whole function. That is true, it is possible, but I don't think it fits very well in
2018 May 25
1
double to unsigned char cast
I'd also note that -fsanitize=undefined will detect the error at runtime. On Fri, May 25, 2018 at 4:38 AM Hans Wennborg via llvm-dev < llvm-dev at lists.llvm.org> wrote: > On Tue, May 22, 2018 at 6:17 PM, Jay K via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > This seems disappointing. > > > > Casting any value to an integral type should yield a value
2018 May 22
2
LLVM SEH docs -- enregistration of locals in nonvolatile registers?
https://llvm.org/docs/ExceptionHandling.html#wineh > No variables live in to or out of the funclet can be allocated in registers. I don't think this is quite true. though it might be a useful simplification. Obviously it is true for volatile registers, but I believe the funclet receives a CONTEXT with the nonvolatiles restored. Obviously cumbersome to access, but it lets you enregister
2018 May 29
2
getting code ranges of multiple blocks and prevent reordering?
Hi. I'm very new to LLVM. For reasons to do with custom exception handling, we have a need to check IP/PC at runtime against code ranges. This can encompass multiple logically adjacent blocks. How to do this? I'm guessing:   insert a label at end of every block, takes it address, store that somewhere in our data; preferably as an offset from module or function start, but full address