Displaying 7 results from an estimated 7 matches for "nolongjmp".
Did you mean:
longjmp
2013 Jul 22
2
[LLVMdev] Does nounwind have semantics?
...es that are only useful to myself.
Regarding having several orthogonal attributes vs. things like "safetospeculate":
To know a function is safe to speculatively execute, I need at least:
1) readnone (readonly is insufficient, unless I know all accessed pointers are valid)
2) nounwind
3) nolongjmp (I guess?)
4) no undefined behavior. This includes things like "halting" and "no division by zero", but that's not, by far, an exhaustive list.
I guess there are several ways to handle (4).
Ideally, I agree with you, we'd like a set of orthogonal attributes that, take...
2013 Jul 22
0
[LLVMdev] Does nounwind have semantics?
...just readonly), nounwind, halting - and Eris knows what else. Nick, is that too strong for you?
I strongly prefer the approach of having orthogonal attributes. There
are optimizations that you can do with each of these attributes on their
own. In particular I think that readonly+halting+nounwind+nolongjmp is
going to be common and I'd feel silly if we had a special case for
readnone+halting+nounwind+nolongjmp and thus couldn't optimize the more
common case.
That said, I'm also going to feel silly if we don't end up with enough
attributes to allow isSafeToSpeculate to deduce it,...
2013 Jul 25
3
[LLVMdev] Does nounwind have semantics?
...es that are only useful to myself.
Regarding having several orthogonal attributes vs. things like "safetospeculate":
To know a function is safe to speculatively execute, I need at least:
1) readnone (readonly is insufficient, unless I know all accessed pointers are valid)
2) nounwind
3) nolongjmp (I guess?)
4) no undefined behavior. This includes things like "halting" and "no division by zero", but that's not, by far, an exhaustive list.
I guess there are several ways to handle (4).
Ideally, I agree with you, we'd like a set of orthogonal attributes that, taken...
2013 Jul 22
0
[LLVMdev] Does nounwind have semantics?
...; Regarding having several orthogonal attributes vs. things like
> "safetospeculate":
>
> To know a function is safe to speculatively execute, I need at least:
> 1) readnone (readonly is insufficient, unless I know all accessed pointers
> are valid)
> 2) nounwind
> 3) nolongjmp (I guess?)
> 4) no undefined behavior. This includes things like "halting" and "no
> division by zero", but that's not, by far, an exhaustive list.
>
> I guess there are several ways to handle (4).
> Ideally, I agree with you, we'd like a set of orthogonal...
2013 Jul 25
0
[LLVMdev] Does nounwind have semantics?
...al orthogonal attributes vs. things like
> "safetospeculate":
>
> To know a function is safe to speculatively execute, I need at least:
> 1) readnone (readonly is insufficient, unless I know all accessed
> pointers are valid)
> 2) nounwind
> 3) nolongjmp (I guess?)
> 4) no undefined behavior. This includes things like "halting" and
> "no division by zero", but that's not, by far, an exhaustive list.
>
> I guess there are several ways to handle (4).
> Ideally, I agree with you, we'd like a s...
2013 Jul 22
2
[LLVMdev] Does nounwind have semantics?
I'm not sure I understand why it's blocked on that, by the way.
Even if we can't apply the attribute ourselves, I don't see why we wouldn't expose that ability to frontends.
I'm not entirely sure "halting" is the right attribute either, by the way.
What I, personally, would like to see is a way to specify a function call is safe to speculatively execute. That
2013 Jul 25
2
[LLVMdev] Does nounwind have semantics?
...al orthogonal attributes vs. things like
> "safetospeculate":
>
> To know a function is safe to speculatively execute, I need at least:
> 1) readnone (readonly is insufficient, unless I know all accessed
> pointers are valid)
> 2) nounwind
> 3) nolongjmp (I guess?)
> 4) no undefined behavior. This includes things like "halting" and
> "no division by zero", but that's not, by far, an exhaustive list.
>
> I guess there are several ways to handle (4).
> Ideally, I agree with you, we'd like a s...