search for: desugars

Displaying 20 results from an estimated 23 matches for "desugars".

Did you mean: desugar
2020 Mar 16
3
GSOC Projects
Hey, I am Swapnil Raj I am student in Trinity College Dublin and I am interested in working on LLVM. I am really interested in two projects listed, the first one is the extending the clang AST with template information and the second is finding smart null pointer dereferences. I am passionate about compilers and interpreters, I have written a few small language based on lambda calculus. I am
2014 May 26
3
[LLVMdev] Why can't atomic loads and stores handle floats?
David provided one good answer. I'll give another. The current design pushes complexity into the language frontend for - as far as I know - no good reason. I can say from recent experience that the corner cases around atomics are both surprising and result in odd looking hacks in the frontend. To say this differently, why should marking loads and stores atomic required me to rewrite
2012 Sep 26
0
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
...of threads in the thread pool. It should be possible to lower all OpenMP directives to the above four intrinsics in the frontend (please read this in conjunction with [1]): Parallel regions can be lowered as a parallel_map with @llvm.num_threads as the limit. ``` #pragma PARALLEL block ``` desugars to ``` @llvm.parallel_map(num_threads, block_closure, shared_closure) ... void block_closure(i32 tid, i8* shared_vars) { block } ``` Reductions are handled by a parallel_map followed by a regular reduction loop (exactly as in Hal's proposal). Serial blocks reduce to a block conditional on...
2014 May 24
3
[LLVMdev] Why can't atomic loads and stores handle floats?
Looking through the documentation, I discovered that atomic loads and stores are only supported for integer types. Can anyone provide some background on this? Why is this true? Currently, given code: std::atomic<float> aFloat; void foo() { float f = atomic_load(&aFloat); .. } Clang generates code like:|| %"struct.std::atomic.2" = type { float } @aFloat = global
2012 Aug 14
4
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
On Tue, 14 Aug 2012 10:22:35 +0300 Pekka Jääskeläinen <pekka.jaaskelainen at tut.fi> wrote: > On 08/13/2012 10:54 PM, Hal Finkel wrote: > > I had thought about uses for shared-memory OpenCL implementations, > > but I don't know enough about the use cases to make a specific > > proposal. Is your metadata documented anywhere? > > It is now a quick "brute
2012 Sep 26
1
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
...of threads in the thread pool. It should be possible to lower all OpenMP directives to the above four intrinsics in the frontend (please read this in conjunction with [1]): Parallel regions can be lowered as a parallel_map with @llvm.num_threads as the limit. ``` #pragma PARALLEL block ``` desugars to ``` @llvm.parallel_map(num_threads, block_closure, shared_closure) ... void block_closure(i32 tid, i8* shared_vars) { block } ``` Reductions are handled by a parallel_map followed by a regular reduction loop (exactly as in Hal's proposal). Serial blocks reduce to a block conditional on...
2013 Oct 25
1
[LLVMdev] Interfacing llvm with a precise, relocating GC
On 10/24/13 2:50 PM, Rafael Espíndola wrote: > On 24 October 2013 17:32, Sanjoy Das <sanjoy at azulsystems.com> wrote: >> Hello llvm-dev! >> >> My colleages and I are currently evaluating llvm's suitability as a >> JIT compiler interfacing with a precise, relocating garbage collector. >> While we couldn't find code or writeups that deal with the
2013 Jan 02
0
[LLVMdev] [lld] Linker script findings.
Sean, Thanks for doing this research and writing up that summary! The SECTION and MEMORY seem doable in lld as part of the ELF Writer. The one tricky part will be if the linker script defines symbols (e.g. __text_size), because those symbol names might be referenced by some object file atom. Thus they need an atom representation for lld's Resolver to see. So, the ELF Writer will need
2017 Jan 03
2
Optimisation passes introducing address space casts
OK, I’ve hit one more existing regression test that I’m weary of: define void @test2_addrspacecast() { %A = alloca %T %B = alloca %T %a = addrspacecast %T* %A to i8 addrspace(1)* %b = addrspacecast %T* %B to i8 addrspace(1)* call void @llvm.memcpy.p1i8.p0i8.i64(i8 addrspace(1)* %a, i8* bitcast (%T* @G to i8*), i64 124, i32 4, i1 false) call void
2013 Jan 03
2
[LLVMdev] [lld] Linker script findings.
On Wed, Jan 2, 2013 at 2:53 PM, Nick Kledzik <kledzik at apple.com> wrote: > The SECTION and MEMORY seem doable in lld as part of the ELF > Writer. MEMORY and most aspects of SECTIONS are effectively syntax sugar and the rest of LLD doesn't need to even be aware of it; the ldscript language processor will desugar it. The same is true of many other linker script constructs that I
2013 Oct 24
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
On 24 October 2013 17:32, Sanjoy Das <sanjoy at azulsystems.com> wrote: > Hello llvm-dev! > > My colleages and I are currently evaluating llvm's suitability as a > JIT compiler interfacing with a precise, relocating garbage collector. > While we couldn't find code or writeups that deal with the issues > specific to this design goal, it is entirely possible that we
2012 Aug 02
0
[LLVMdev] Reading the output of clang
What is the best level to use for backend development? We do not need to generate machine code, but rather an intermediate representation that will give us the control flow graph. Is this the llvm IR? If so, how do I read into memory a file that was generated by clang++ -emit-llvm <source file>. Thanks, Sitvanit Sitvanit Ruah Formal Verification Group IBM Haifa Research Laboratory Tel:
2012 Aug 01
3
[LLVMdev] Reading the AST from the bitcode generated by clang
> Hi all, > After reading the documentation on clang I still have the following > question: > How do I read the bitcode generated by clang from a C++ file? I need to > have all the AST information in memory. AST has nothing to do with LLVM bitcode. -- Regards, Konstantin
2017 Jan 02
3
Optimisation passes introducing address space casts
Hi Mehdi, Thanks for the reply - I’ve finally got round to trying to fix this based on your suggestion. I’ve got something that mostly works, but I just wanted to double-check something about the regression tests before I post a patch. > The memcpy is supposed to be equivalent to a sequence of load and store. Here we are just failing to keep the property that the load is performed through
2013 Oct 24
5
[LLVMdev] Interfacing llvm with a precise, relocating GC
Hello llvm-dev! My colleages and I are currently evaluating llvm's suitability as a JIT compiler interfacing with a precise, relocating garbage collector. While we couldn't find code or writeups that deal with the issues specific to this design goal, it is entirely possible that we may have missed something; we would appreciate references to relevant code or writeups that people on this
2014 May 01
2
[LLVMdev] Proposal: add intrinsics for safe division
On 04/29/2014 12:39 PM, Filip Pizlo wrote: > On April 29, 2014 at 11:27:06 AM, Philip Reames > (listmail at philipreames.com <mailto:listmail at philipreames.com>) wrote: >> On 04/29/2014 10:44 AM, Filip Pizlo wrote: >>> LD;DR: Your desire to use trapping on x86 only further convinces me >>> that Michael's proposed intrinsics are the best way to go.
2012 Dec 31
5
[LLVMdev] [lld] Linker script findings.
Hi all, I have been investigating linker scripts and the functionality needed to support them in lld. I have attached my findings about the usage of ldscripts. My findings have been collected from: - Reading all the GNU ld manual sections about linker scripts. - Looking at the GNU ld and gold source code. - Digging through a couple embedded programming tutorials. - Reading through all of the
2014 May 02
3
[LLVMdev] Proposal: add intrinsics for safe division
On May 2, 2014 at 11:53:25 AM, Eric Christopher (echristo at gmail.com) wrote: On Wed, Apr 30, 2014 at 10:34 PM, Philip Reames  <listmail at philipreames.com> wrote:  > Andy - If you're not already following this closely, please start. We've  > gotten into fairly fundamental questions of what a patchpoint does.  >  > Filip,  >  > I think you've hit the nail on
2014 May 01
6
[LLVMdev] Proposal: add intrinsics for safe division
Andy - If you're not already following this closely, please start. We've gotten into fairly fundamental questions of what a patchpoint does. Filip, I think you've hit the nail on the head. What I'm thinking of as being patchpoints are not what you think they are. Part of that is that I've got a local change which adds a very similar construction (called
2017 Aug 01
7
[RFC] Add IR level interprocedural outliner for code size.
> > > > Also as a side note, I think in the original MachineOutliner RFC thread > there was some confusion as to whether it was possible to solve the code > folding outlining problem exactly as a graph problem on SSA using standard > value numbering algorithms in polynomial time. > > I can elaborate further, but > 1. it is easy to see that you can map an arbitrary