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