Displaying 20 results from an estimated 121 matches for "gimpl".
Did you mean:
gimp
2006 Jul 31
1
[LLVMdev] Auto-vectorization in GCC 4.0
On Mon, 31 Jul 2006, Devang Patel wrote:
> On Jul 31, 2006, at 11:14 AM, Vikram Adve wrote:
>> Does llvmgcc4 convert the high-level AST to LLVM (like llvmgcc3x) or does
>> it go from GIMPL to LLVM? If the latter, would it be possible to allow
>> some TreeSSA optimizations before emitting LLVM?
> llvmgcc4 intercepts high-level GCC trees to GIMPLE tree transformation
> routines to get trees that are suitable for LLVM byte code. And TreeSSA
> optimizer may not be abl...
2006 Jul 31
0
[LLVMdev] Auto-vectorization in GCC 4.0
On Jul 31, 2006, at 11:14 AM, Vikram Adve wrote:
> Does llvmgcc4 convert the high-level AST to LLVM (like llvmgcc3x)
> or does it go from GIMPL to LLVM? If the latter, would it be
> possible to allow some TreeSSA optimizations before emitting LLVM?
llvmgcc4 intercepts high-level GCC trees to GIMPLE tree
transformation routines to get trees that are suitable for LLVM byte
code. And TreeSSA optimizer may not be able to handle LLVM...
2010 Jun 22
1
[LLVMdev] RTL <-> SSA
...RTL or LLVM IR -> RTL backend, to allow using the GCC backend with the Clang frontend, but I'm not aware of any progress on this. You could ask on the gcc mailing list about it.
Thanks. The gcc mailing list mentioned the DragonEgg project
(http://dragonegg.llvm.org/), which translates GCC Gimple to LLVM
bitcode. In my understanding, bitcode means the LLVM SSA. My goal for
these translators is that I wanted to reuse existing passes from LLVM
and GCC, and such translations can link these two settings. This
DragonEgg solved this problem at a different level, because it
replaces the GCC optim...
2013 Jan 01
0
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
...s, the loop region
> (enclosed by phi node on induction variable and branch) is required to be free
> of additional memory-dependent branches. In other words, there must be no
> conditional "br" instructions below phi nodes. The problem we are facing is that
> from *identical* GIMPLE for 3d loop used in different contexts DragonEgg may
> generate LLVM IR either conforming the described limitation, or violating it.
the gimple isn't the same at all (see below). The differences are directly
reflected in the unoptimized LLVM IR, turning up as additional memory loads
in th...
2006 Jul 31
2
[LLVMdev] Auto-vectorization in GCC 4.0
Does llvmgcc4 convert the high-level AST to LLVM (like llvmgcc3x) or
does it go from GIMPL to LLVM? If the latter, would it be possible
to allow some TreeSSA optimizations before emitting LLVM?
--Vikram
http://www.cs.uiuc.edu/~vadve
http://llvm.cs.uiuc.edu/
On Jul 31, 2006, at 1:10 PM, Devang Patel wrote:
> llvmgcc4 emits LLVM byte code before executing GCC optimizations,
>...
2013 Jan 02
2
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
...sed by phi node on induction variable and branch) is required to
>> be free
>> of additional memory-dependent branches. In other words, there must be no
>> conditional "br" instructions below phi nodes. The problem we are
>> facing is that
>> from *identical* GIMPLE for 3d loop used in different contexts
>> DragonEgg may
>> generate LLVM IR either conforming the described limitation, or
>> violating it.
>
> the gimple isn't the same at all (see below). The differences are directly
> reflected in the unoptimized LLVM IR, turning...
2011 Sep 13
1
[LLVMdev] Weird GIMPLE by gccgo
Hi!
I've been playing with gccgo / dragonegg, trying to get it to compile
Go reliably. One of the problems I am currently facing is that when
compiling Go, GCC tends to generate GIMPLE calls that don't have the
correct type (or so it seems to me :) ). For instance, when compiling
ddd.go from the Go testsuite, I get this:
i.91 = i;
D.785 = i.91.__methods;
D.786 = D.785->Sum;
D.787 = __go_new_nopointers (16);
MEM[(int[4] *)D.787][0] = 2;
MEM[(int[4...
2010 Sep 13
5
[LLVMdev] using GCC LTO files as a frontend to dragonegg?
On Mon, Sep 13, 2010 at 04:27, Duncan Sands <baldrick at free.fr> wrote:
> Hopefully this is feasible, as I said I didn't work on
> it yet.
It sounds doable, but I'm not sure why would you want to convert the
gimple into LLVM bitcode, if you are already saving LLVM bitcode in
the file. Wouldn't you be just duplicating code?
Diego.
2012 Jul 12
4
[LLVMdev] Documentation about converting GIMPLE IR to LLVM IR in LLVM-GCC/DragonEgg
Dear All,
I am trying to understand the process followed for converting GIMPLE IR to
LLVM IR in LLVM-GCC/DragonEgg - more importantly conversion of OpenMP
extended GIMPLE IR to LLVM IR. It would be great if anybody points me to
some documentation before I my-self delve into the understanding of related
source code.
--
Cheers
-mahesha
-------------- next part --------------...
2013 Jan 02
0
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
Hi Duncan & Tobi,
Thanks a lot for your interest, and for pointing out differences in GIMPLE
I missed.
Attached is simplified test case. Is it good?
Tobi, regarding runtime alias analysis: in KernelGen we already do it along
with runtime values substitution. For example:
<------------------ __kernelgen_main_loop_17: compile started
--------------------->
Integer args substitu...
2010 Sep 13
0
[LLVMdev] using GCC LTO files as a frontend to dragonegg?
Hi Diego,
>> Hopefully this is feasible, as I said I didn't work on
>> it yet.
>
> It sounds doable, but I'm not sure why would you want to convert the
> gimple into LLVM bitcode, if you are already saving LLVM bitcode in
> the file. Wouldn't you be just duplicating code?
here I was thinking of the possibility that some files have been compiled with
-flto but without the dragonegg plugin, so contain gimple in the assembler,
while others have been...
2012 Jul 13
0
[LLVMdev] Fwd: Documentation about converting GIMPLE IR to LLVM IR in LLVM-GCC/DragonEgg
Hello Duncan Sands,
>From your reply, what I can understand is that there is no any new OPENMP
specific instructions introduced into LLVM IR as a part of DragonEgg
project since GCC has already done the job of lowering OpenMP directives
into GOMP runtime library calls at LOW GIMPLE IR level.
Now, it throws up following questions.
1. Am I correct that DragoEgg should logically supports all the OMP
benchmarks as supported by GCC (4.5 or later)?
2. If we decide to support OpenMP directly in LLVM what is the better
way to handle it? Suppose, assume that we decide...
2012 Dec 31
3
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
...number of limitations, the
loop region (enclosed by phi node on induction variable and branch) is
required to be free of additional memory-dependent branches. In other
words, there must be no conditional "br" instructions below phi nodes. The
problem we are facing is that from *identical* GIMPLE for 3d loop used in
different contexts DragonEgg may generate LLVM IR either conforming the
described limitation, or violating it.
Let's consider two examples. In first one some simple 3D loop is used
directly in main program. In second - the same 3D loop is extracted into
separate subroutine...
2010 May 01
2
[LLVMdev] Best intermediate form to...
...end as possible. Mainly
I need to find out dependencies and control flows, amongst a few other
things. So far I've seen http://llvm.org/docs/LangRef.html which might be
what I'm looking for, but I just wanted to make sure.
Also I heard that there's something that can convert GCCs GIMPLE to llvm
IR, which I looked up and I believe is llvm-gcc, but again, I want to make
sure that's it. Also, is there a plugin that converts llvm IR to GIMPLE, or
is there a project currently working on it?
Thanks in advance! =)
-nonpoly
--
View this message in context: http://old.nabble.com/B...
2012 Jul 31
1
[LLVMdev] [DragonEgg] Mysterious FRAME coming from gimple to LLVM
> According to comment in tree-nested.c, these frames should be only
> introduced in case of debug or OpenMP lowering:
in case of *debug*. What if you pass -O1 / -O2 / -Owhatever ?
--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
2013 Jan 15
0
[LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
Hi Duncan,
You mean - what happens if DragonEgg is invoked with GCC optimization? I
tried -O3 and -fplugin-arg-dragonegg-llvm-ir-optimize=1, but nothing
changed.
- D.
2013/1/8 Duncan Sands <baldrick at free.fr>
> On 04/01/13 15:58, Duncan Sands wrote:
>
>> PS: Another possibility is to do link-time optimization, since at that
>> point the
>> optimizers are capable
2007 May 12
5
[LLVMdev] C back-end differences
On Fri, 11 May 2007, me22 wrote:
> I'm not exactly sure how llvm-g++ works. I think it goes through the
> standard gcc sequence (gimple, rtl, and such) but then outputs LLVM
> (http://llvm.org/docs/LangRef.html), which is the intermediate
> representation used by the rest of the chain. To make an LLVM backend
> you would not need to deal with RTL and such at all.
llvm-g++ converts from trees to high-gimple to LLVM. RTL...
2013 Jan 08
2
[LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
On 04/01/13 15:58, Duncan Sands wrote:
> PS: Another possibility is to do link-time optimization, since at that point the
> optimizers are capable of finding out if that global is used anywhere else or
> not.
By the way, do the GCC optimizers get this, i.e. remove the loads?
Ciao, Duncan.
2012 Sep 12
2
[LLVMdev] A Question about LLVM-backend
Hello, all.
I want to manipulate LLVM-backend to emit other compiler's IR, in this
case, VPO's IR.
So, what i want to know is.. Is there a project to be referred? (For
example, "Do LLVM-backend -> GIMPLE" project exist?)
Or, how can I manipulate it easily?
Thanks,
Cho Yeong-pil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120912/9e384b93/attachment.html>
2010 Sep 10
4
[LLVMdev] using GCC LTO files as a frontend to dragonegg?
Hello,
With GCC, it is possible to compile GIMPLE from an object file back to
assembly. With Dragonegg, it seems to be a NOP. (See below for a
comparison.)
This appears it could be a nice way to mix the strengths of GCC and
LLVM. If it worked.. Should it?
Thanks,
Marcus
[mdaniels at dn002 dragonegg]$ cat hello.c
#include <stdio.h>...