Displaying 8 results from an estimated 8 matches for "issafetospecul".
2013 Jul 22
0
[LLVMdev] Does nounwind have semantics?
...only+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, which is where we
are right now. I was planning to get back to fixing this after
Chandler's promised PassManager work.
Nick
>
> Michael
>
> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of...
2013 Jul 22
2
[LLVMdev] Does nounwind have semantics?
...adonly+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, which is where we
are right now. I was planning to get back to fixing this after
Chandler's promised PassManager work.
Nick
>
> Michael
>
> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of...
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
3
[LLVMdev] Does nounwind have semantics?
...le" as Nick suggested, for the lack of other options. If the name stays I'll add it to the documentation.)
Regarding auditing the intrinsics - I'd prefer to do this in stages.
Here I'm just preserving the current behavior by marking intrinsics that used to be explicitly handled in isSafeToSpeculativelyExecute(), so there should be no functional change.
From: Nick Lewycky [mailto:nlewycky at google.com]
Sent: Tuesday, July 23, 2013 02:29
To: Kuperstein, Michael M
Cc: Nick Lewycky; llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Does nounwind have semantics?
On 22 July 2013 01:11, Kuperstein...
2013 Jul 22
0
[LLVMdev] Does nounwind have semantics?
...haviour.
If you want a 'speculatable' attribute, I would review that patch. Please
audit the intrinsics (at least the target-independent ones) and appropriate
library functions for whether you can apply this attribute to them. I think
the only optimization that it can trigger is that
"isSafeToSpeculativelyExecute" returns true on it. Anything else? Is it
safe to infer readnone and nounwind from speculatable?
I should mention that speculatable functions are extraordinarily limited in
what they can do in the general (non–LLVM-as-a-library) case. They may be
hoisted above calls to fork or p...
2013 Jul 25
0
[LLVMdev] Does nounwind have semantics?
Kuperstein, Michael M wrote:
> A patch is attached.
+ const CallInst* CI = dyn_cast<CallInst>(Inst);
+ return CI->isSafeToSpeculativelyExecute();
"return cast<CallInst>(Inst)->isSafeToSpeculativelyExecute();"?
Use cast<> instead of dyn_cast<>. See
http://llvm.org/docs/ProgrammersManual.html#isa . Then I don't think it
needs to be two lines. You can even remove the extra curly braces aro...
2013 Jul 25
2
[LLVMdev] Does nounwind have semantics?
...12:11
To: Kuperstein, Michael M
Cc: Nick Lewycky; llvmdev at cs.uiuc.edu; Tobias Grosser; echristo at gmail.com
Subject: Re: [LLVMdev] Does nounwind have semantics?
Kuperstein, Michael M wrote:
> A patch is attached.
+ const CallInst* CI = dyn_cast<CallInst>(Inst);
+ return CI->isSafeToSpeculativelyExecute();
"return cast<CallInst>(Inst)->isSafeToSpeculativelyExecute();"?
Use cast<> instead of dyn_cast<>. See
http://llvm.org/docs/ProgrammersManual.html#isa . Then I don't think it needs to be two lines. You can even remove the extra curly braces aroun...
2015 Sep 14
2
[RFC] Refinement of convergent semantics
> On Sep 14, 2015, at 12:15 PM, Philip Reames <listmail at philipreames.com> wrote:
>
> On 09/04/2015 01:25 PM, Owen Anderson via llvm-dev wrote:
>> Hi all,
>>
>> In light of recent discussions regarding updating passes to respect convergent semantics, and whether or not it is sufficient for barriers, I would like to propose a change in convergent semantics that