search for: welldefin

Displaying 8 results from an estimated 8 matches for "welldefin".

Did you mean: welldefined
2013 Jul 22
2
[LLVMdev] Does nounwind have semantics?
...t least not in a centralized fashion) and adding a very specific attribute for each of them. I'm not sure having function declarations with "readnone, nounwind, nolongjmp, halting, nodivbyzero, nopoisonval, nocomparelabels, nounreachable, ..." is desirable. We could also have a "welldefined" attribute and a "halting" attribute where "welldefined" subsumes "halting", if the specific case of a function which halts but may have undefined behavior is important. While the two are not orthogonal, it's similar to the situation with "readnone&quo...
2013 Jul 25
3
[LLVMdev] Does nounwind have semantics?
...t least not in a centralized fashion) and adding a very specific attribute for each of them. I'm not sure having function declarations with "readnone, nounwind, nolongjmp, halting, nodivbyzero, nopoisonval, nocomparelabels, nounreachable, ..." is desirable. We could also have a "welldefined" attribute and a "halting" attribute where "welldefined" subsumes "halting", if the specific case of a function which halts but may have undefined behavior is important. While the two are not orthogonal, it's similar to the situation with "readnone&quot...
2013 Jul 22
0
[LLVMdev] Does nounwind have semantics?
...> fashion) and adding a very specific attribute for each of them. I'm not > sure having function declarations with "readnone, nounwind, nolongjmp, > halting, nodivbyzero, nopoisonval, nocomparelabels, nounreachable, ..." is > desirable. > > We could also have a "welldefined" attribute and a "halting" attribute > where "welldefined" subsumes "halting", if the specific case of a function > which halts but may have undefined behavior is important. > While the two are not orthogonal, it's similar to the situation with >...
2013 Jul 25
0
[LLVMdev] Does nounwind have semantics?
...d adding a very specific attribute for each > of them. I'm not sure having function declarations with "readnone, > nounwind, nolongjmp, halting, nodivbyzero, nopoisonval, > nocomparelabels, nounreachable, ..." is desirable. > > We could also have a "welldefined" attribute and a "halting" > attribute where "welldefined" subsumes "halting", if the specific > case of a function which halts but may have undefined behavior is > important. > While the two are not orthogonal, it's similar to th...
2013 Jul 22
0
[LLVMdev] Does nounwind have semantics?
Kuperstein, Michael M wrote: > I'm not sure I understand why it's blocked on that, by the way. It blocks our ability to automatically deduce the halting attribute in the optimizer, which was necessary for the use case I had at the time. If you have a use case of your own, feel free to propose the patch! (Technically it's not *blocked* -- see how my patch does it! -- but the
2013 Jul 25
2
[LLVMdev] Does nounwind have semantics?
...d adding a very specific attribute for each > of them. I'm not sure having function declarations with "readnone, > nounwind, nolongjmp, halting, nodivbyzero, nopoisonval, > nocomparelabels, nounreachable, ..." is desirable. > > We could also have a "welldefined" attribute and a "halting" > attribute where "welldefined" subsumes "halting", if the specific > case of a function which halts but may have undefined behavior is > important. > While the two are not orthogonal, it's similar to th...
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 31
4
[LLVMdev] [Proposal] Speculative execution of function calls
...tic for two reasons - it's not clear both what the precise requirements for safety are (right now, "I know it when I see it", and I'm not sure I want to set it in stone), and what the granularity of these orthogonal attributes should be. For example, {readnone, nounwind, halting, welldefined} sounds like a good start, but I'm not sure whether "welldefined" is not too much of a catch-all, or whether this set is, in fact, exhaustive. So I'm more inclined towards (a). I'm attaching a patch that implements option (a) (the same patch from llvm-commits), but feel fre...