Displaying 20 results from an estimated 1000 matches similar to: "Avoiding alloca elision"
2019 Jul 13
2
Avoiding alloca elision
On Sat, Jul 13, 2019 at 12:40 PM Sanjoy Das via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi Samuel,
>
> You can't expect alloca's to reliably lower to stack pointer
> adjustments. The semantics of alloca is more high level -- it give
> you an abstract memory location that lives and dies with the function
> frame, but there is no guarantee that it will
2016 Jul 21
2
RFC: LLVM Coroutine Representation, Round 2
cc llvm-dev
On Thu, Jul 21, 2016 at 9:57 AM, Vadim Chugunov <vadimcn at gmail.com> wrote:
> Hi Gor,
> Does you design support resumption with parameter(s)? (such as Python's
> generator.send(x)). I suppose the "promise" could be used for passing data
> both ways, but if that's the plan, please mention this explicitly in the
> design doc.
> Also, how is
2006 Jun 21
7
sortable tree problem
Hello,
I''m having a problem when I set the tree option to true on Sortable.
If I set the option to false my remote call works fine, but once I set
it to true, I get some weird log errors from Webrick...
undefined method `update'' for "11":String
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/cgi_ext/cgi_methods.rb:214:in
`build_deep_hash''
2019 Dec 26
2
[RFC] Coroutines passes in the new pass manager
Hello all,
It's been a month since my previous email on the topic, and since then
I've done some initial work on porting the coroutines passes to the
new pass manager. In total there are 6 patches -- that's a lot to
review, so allow me to introduce the changes being made in each of
them.
# What's finished
In these first 6 patches, I focused on lowering coroutine intrinsics
2016 Jul 15
4
RFC: Coroutine Optimization Passes
Hi David:
>> How do you deal with basic blocks which appear to be used by multiple parts
>> of the coroutine? We handled this in WinEHPrepare by cloning any BBs which
>> were shared.
I experimented with several approaches, but, cloning ended up being the simplest
and most reliable. Suspend points express three different control flows that
can happen at the suspend point: a
2016 Jun 09
6
Fwd: [RFC] LLVM Coroutines
Hi all:
Below is a proposal to add experimental coroutine support to LLVM. Though this
proposal is motivated primarily by the desire to support C++ Coroutines [1],
the llvm representation is language neutral and can be used to support
coroutines in other languages as well.
Clang + llvm coroutines allows you to take this code:
generator<int> range(int from, int to) {
for(int i =
2016 Jun 09
2
Fwd: [RFC] LLVM Coroutines
Hi Eli:
Thank you very much for your comments!
>> If you need some sort of unusual control flow construct, make it a
>> proper terminator instruction
I would love to. I was going by the advice in "docs/ExtendingLLVM.rst":
"WARNING: Adding instructions changes the bitcode format, and it will
take some effort to maintain compatibility with the previous
2011 Jul 28
4
[LLVMdev] [RFC] Coroutines
Hi llvmdev!
I've been working on adding coroutines to LLVM. Mentioned below is the
implementation plan I'm following, for suggestions, flames and other
input. Using segmented stacks is a prerequisite.
The idea is to associate every coroutine with a coroutine descriptor. A
coroutine descriptor consists of four words: w0, w1, w2 and w3.
w0 always contains the _launcher_, and invoking a
2011 Aug 04
0
[LLVMdev] [RFC] Coroutines
On 07/28/2011 05:31 PM, Sanjoy Das wrote:
> Hi llvmdev!
>
> I've been working on adding coroutines to LLVM. Mentioned below is the
> implementation plan I'm following, for suggestions, flames and other
> input. Using segmented stacks is a prerequisite.
I think my only comment is that, while this would probably work,
implementing it in C with a bit of assembly for
2018 Jan 10
3
RFC: attribute synthetic("reason")
Summary
I would like to propose that we add the following function attribute to LLVM:
synthetic(<string>)
This attribute can only be applied to functions. It is not a semantic statement about the function it decorates. It is, instead, an explicit directive to LLVM to not attempt to propagate information about the function body outside of the function, including by changing the
2016 Jun 12
2
[RFC] LLVM Coroutines
(Dropped llvm-dev by accident. Putting it back)
HI Eli:
>> coro.barrier() doesn't work: if the address of the alloca doesn't escape,
>> alias analysis will assume the barrier can't read or write the value of
>> the alloca, so the barrier doesn't actually block code movement.
Got it. I am new to this and learning a lot over the course
of this thread. Thank you
2018 Jan 12
0
RFC: attribute synthetic("reason")
That all makes sense.
I don't think the name "synthetic" is all that intuitive, though. Enum
attributes are pretty cheap, maybe we should try to use a name closer to
what we're trying to implement? For example, we could add a new
"coroutine_foo" attribute for every coroutine style we implement. We
would have analysis helper functions to answer questions like "is
2010 Apr 12
0
[LLVMdev] Proposal: stack/context switching within a thread
I'm very interested in seeing support for stack/context switching in LLVM, if only for prototyping language ideas. I'm particularly interested in mechanisms that would make it possible to implement full asymmetric coroutines as described in "Revisiting Coroutines" (Moura & Ierusalimschy, Feb 2009 TOPLAS). From skimming the thread and looking at the llvm-stack-switch wiki, it
2010 Apr 12
2
[LLVMdev] Proposal: stack/context switching within a thread
On Mon, Apr 12, 2010 at 6:15 AM, Kenneth Uildriks <kennethuil at gmail.com> wrote:
> I created a wiki at http://code.google.com/p/llvm-stack-switch/
>
> Right now I just copied and formatted the document as-is... I'll go
> back over it with your comments in mind soon. One more question,
> which you can answer here or there:
>
>> Point 4 is a bit confusing.
2018 Mar 19
2
Suggestions for how coroutines and UBSan codegen can play nice with one another?
Hello all!
(+cc Vedant Kumar, who I've been told knows a lot about UBSan!)
I am trying to fix an assert that occurs when the transforms in
llvm/lib/Transforms/Coroutines are applied to LLVM IR that has been
generated with UBSan enabled -- specifically, '-fsanitize=null'.
You can see an example of the assert in this 26-line C++ file here:
https://godbolt.org/g/Gw9UZq
Note that
2016 Jul 15
2
RFC: Coroutine Optimization Passes
Hi all:
I've included below a brief description of coroutine related optimization
passes and some questions/thoughts related to them. Looking forward to your
feedback, comments and questions.
Thank you!
Roadmap:
========
1) Get agreement on coroutine representation and overall direction.
.. repeat 1) until happy
http://lists.llvm.org/pipermail/llvm-dev/2016-June/100838.html (Initial)
2016 Sep 16
2
LLVM v3.9.0 and math built-ins
A little while ago I asked a question on CFE-Dev about a change in the
behaviour of programs using the ISO C math functions, although that question
should have been put to LLVM-Dev. But I got excellent clarification of the
problem anyway. However, since then I have been trying to adapt our
out-of-tree implementation to get the previous behaviour. The problem is
that something like:
#include
2018 Mar 19
0
Suggestions for how coroutines and UBSan codegen can play nice with one another?
> On Mar 19, 2018, at 3:44 PM, Brian Gesiak <modocache at gmail.com> wrote:
>
> Hello all!
> (+cc Vedant Kumar, who I've been told knows a lot about UBSan!)
>
> I am trying to fix an assert that occurs when the transforms in llvm/lib/Transforms/Coroutines are applied to LLVM IR that has been generated with UBSan enabled -- specifically, '-fsanitize=null'.
>
2006 Feb 17
29
Sortable Tree Addition [PATCH]
Hello, here is the initial patch for support for sortable trees.
Please as many people download this code and test with your lists and
feel free to add more list tests.
Files modified were dragdrop.js and prototype.js.
Some new options have been added. ''treeTag'' specifies the tag used to
contain children elements. ''tree'' must be set to true for this
2016 Jun 11
4
[RFC] LLVM Coroutines
On Fri, Jun 10, 2016 at 5:25 PM, Gor Nishanov <gornishanov at gmail.com> wrote:
> Hi Eli:
>
> >> Naively, you would expect that it would be legal to hoist the store...
> >> but that breaks your coroutine semantics because the global could be
> mutated
> >> between the first return and the resume.
>
> Hmmm... I don't see the problem. I think