Displaying 20 results from an estimated 11000 matches similar to: "[LLVMdev] Runtime optimization of C++ code with virtual functions"
2007 Jun 20
1
[LLVMdev] Runtime optimization of C++ code with virtual functions
On Jun 19, 2007, at 1:43 AM, Chris Lattner wrote:
> On Sat, 16 Jun 2007, [ISO-8859-1] Stéphane Letz wrote:
>> At runtime after a graph is created, one could imagine optimizing by
>> resolving call to "virtual Compute" and possibly get a more
>> efficient Compute method for the entire graph, so that we could
>> write:
>>
>> DSP* graph = new
2007 Jun 19
0
[LLVMdev] Runtime optimization of C++ code with virtual functions
On Sat, 16 Jun 2007, [ISO-8859-1] St�phane Letz wrote:
> At runtime after a graph is created, one could imagine optimizing by
> resolving call to "virtual Compute" and possibly get a more
> efficient Compute method for the entire graph, so that we could write:
>
> DSP* graph = new PAR_DSP(new SEQ_DDSP(new CONCRETE_DSP(), new
> CONCRETE_DSP()), new CONCRETE_DSP());
>
2007 Jun 16
2
[LLVMdev] Runtime optimization of C++ code with virtual functions
Let's say we have the following scheme using C++ and virtual functions:
class DSP {
public:
DSP() {}
virtual ~DSP() {}
virtual int Compute(int count, float** in, float** out) = 0;
};
class CONCRETE_DSP : public DSP {
public:
CONCRETE_DSP():fValue() {}
virtual ~CONCRETE_DSP() {}
virtual int Compute(int count, float** in, float** out)
{
DoSomeProcess();
}
};
class
2007 Jun 26
0
[LLVMdev] Runtime optimization of C++ code with virtual functions
>
> On Thursday 21 June 2007 13:57, St?phane Letz wrote:
>
>>>> I understand that the disassemblying portion need to be
>>>> rewritten. Is
>>>> there anything else that would prevent this approach from working?
>>>> Again, haven't looked into LLVM yet, so I can immagine there
>>>> might be
>>>> problems in
2010 May 29
0
[LLVMdev] Vectorized LLVM IR
On Sat, May 29, 2010 at 1:23 AM, Stéphane Letz <letz at grame.fr> wrote:
>>
>> <32 x float> takes up 8 SSE registers; you're likely running into
>> issues with register pressure. Does it work better if you use
>> something smaller like <4 x float>?
>>
>> Besides that, I don't see any obvious issues.
>>
>> -Eli
>
>
2013 Jul 05
2
[LLVMdev] Enabling vectorization with LLVM 3.3 for a DSL emitting LLVM IR
Le 5 juil. 2013 à 17:23, Arnold Schwaighofer <aschwaighofer at apple.com> a écrit :
>
> On Jul 5, 2013, at 9:50 AM, Stéphane Letz <letz at grame.fr> wrote:
>
>>
>> Le 5 juil. 2013 à 04:11, Tobias Grosser <tobias at grosser.es> a écrit :
>>
>>> On 07/04/2013 01:39 PM, Stéphane Letz wrote:
>>>> Hi,
>>>>
2010 Jun 03
1
[LLVMdev] Generating Floating point constants
> ------------------------------
>
> Message: 4
> Date: Wed, 2 Jun 2010 11:07:39 -0700
> From: Dale Johannesen <dalej at apple.com>
> Subject: Re: [LLVMdev] Generating Floating point constants
> To: St?phane Letz <letz at free.fr>
> Cc: llvmdev at cs.uiuc.edu
> Message-ID: <AEC895CC-E887-4329-8743-FA606BD401F6 at apple.com>
> Content-Type:
2013 Jul 16
0
[LLVMdev] General strategy to optimize LLVM IR
On Tue, Jul 16, 2013 at 8:16 AM, Stéphane Letz <letz at grame.fr> wrote:
> Hi,
>
> Our DSL emit sub-optimal LLVM IR that we optimize later on (LLVM IR ==> LLVM IR) before dynamically compiling it with the JIT. We would like to simply follow what clang/clang++ does when compiling with -O1/-O2/-O3 options. Our strategy up to now what to look at the opt.cpp code and take part of it
2007 Dec 25
2
rsyncd.conf exclude/include questions ??
Hello,
I get some troubles when rsyncing my FreeBSD 6.2 server from my iMac
Leopard desktop.
Below what I configured in rsyncd.conf ..
[all]
path = /
uid = root
gid = wheel
read only = true
include from = /home/rsync/etc/includes/rootfs
/home/rsync/etc/includes/rootfs
+ /etc
+ /etc/make.conf
+ /boot
+ /boot/*
- *
This is the only way I found to only backup files directories I would like
2007 Jun 15
2
[LLVMdev] Strategy to compile for LLVM IR
Hi,
We have a compiler for the Faust language (faust.grame.fr) that
currently compiles a C++ class which implements a DSP plug-in with
several methods.
Our strategy to compile LLVM IR instead is the following:
- use the current Faust ==> C++ compiler to compile a "empty" plug-in
that we use as a template C++ class.
- compile this template C++ class using "llvm-g++
2010 May 29
2
[LLVMdev] Vectorized LLVM IR
>
> <32 x float> takes up 8 SSE registers; you're likely running into
> issues with register pressure. Does it work better if you use
> something smaller like <4 x float>?
>
> Besides that, I don't see any obvious issues.
>
> -Eli
You are right yes. The code works faster with <4 x float> types, with still works a bit slower than the scalar
2013 Jul 18
0
[LLVMdev] LLVM 3.3 JIT code speed
On Thu, Jul 18, 2013 at 9:07 AM, Stéphane Letz <letz at grame.fr> wrote:
> Hi,
>
> Our DSL LLVM IR emitted code (optimized with -O3 kind of IR ==> IR passes) runs slower when executed with the LLVM 3.3 JIT, compared to what we had with LLVM 3.1. What could be the reason?
>
> I tried to play with TargetOptions without any success…
>
> Here is the kind of code we use to
2013 Jul 05
0
[LLVMdev] Enabling vectorization with LLVM 3.3 for a DSL emitting LLVM IR
On Jul 5, 2013, at 9:50 AM, Stéphane Letz <letz at grame.fr> wrote:
>
> Le 5 juil. 2013 à 04:11, Tobias Grosser <tobias at grosser.es> a écrit :
>
>> On 07/04/2013 01:39 PM, Stéphane Letz wrote:
>>> Hi,
>>>
>>> Our DSL can generate C or directly generate LLVM IR. With LLVM 3.3, we can vectorize the C produced code using clang with -O3, or
2013 Jul 18
2
[LLVMdev] LLVM 3.3 JIT code speed
Le 18 juil. 2013 à 19:07, Eli Friedman <eli.friedman at gmail.com> a écrit :
> On Thu, Jul 18, 2013 at 9:07 AM, Stéphane Letz <letz at grame.fr> wrote:
>> Hi,
>>
>> Our DSL LLVM IR emitted code (optimized with -O3 kind of IR ==> IR passes) runs slower when executed with the LLVM 3.3 JIT, compared to what we had with LLVM 3.1. What could be the reason?
>>
2004 Sep 22
3
loops: pasting indexes in variables names
I cannot figure out how, using R, I can paste indexes or characters to the
variable
names which are used within loops. I will explain this with a simple
example:
Immagine I have a huge series of variables, each one taken two times, say
x1 x2 y1 y2 z1 z2.....
Now, immagine that I want to compute a variable from the difference of
each couple, say dx=x1-x2, dy=y1-y2, dz=z1-z2...
In Stata, for
2007 Jul 04
1
[LLVMdev] "LLVM backend for Faust" web page
Hi,
We have a web page on our "LLVM backend for Faust" project available
here: http://www.grame.fr/~letz/faust_llvm.html.
Best Regards
Stephane Letz
2013 Jul 05
0
[LLVMdev] Enabling vectorization with LLVM 3.3 for a DSL emitting LLVM IR
On Jul 5, 2013, at 10:43 AM, Stéphane Letz <letz at grame.fr> wrote
>
> 1) "entry" block is the first block of the function right?
Yes.
>
> 2) do you mean *all* "alloca" in a function always have to be in the fist entry block?
If you want them converted into ssa variables early on, yes.
2013 Jul 05
1
[LLVMdev] Enabling vectorization with LLVM 3.3 for a DSL emitting LLVM IR
Le 5 juil. 2013 à 17:48, Arnold Schwaighofer <aschwaighofer at apple.com> a écrit :
>
> On Jul 5, 2013, at 10:43 AM, Stéphane Letz <letz at grame.fr> wrote
>>
>> 1) "entry" block is the first block of the function right?
>
> Yes.
OK
>
>>
>> 2) do you mean *all* "alloca" in a function always have to be in the fist entry
2013 Jul 05
2
[LLVMdev] Enabling vectorization with LLVM 3.3 for a DSL emitting LLVM IR
Le 5 juil. 2013 à 04:11, Tobias Grosser <tobias at grosser.es> a écrit :
> On 07/04/2013 01:39 PM, Stéphane Letz wrote:
>> Hi,
>>
>> Our DSL can generate C or directly generate LLVM IR. With LLVM 3.3, we can vectorize the C produced code using clang with -O3, or clang with -O1 then opt -O3 -vectorize-loops. But the same program generating LLVM IR version cannot be
2013 Jul 18
2
[LLVMdev] LLVM 3.3 JIT code speed
Hi,
Our DSL LLVM IR emitted code (optimized with -O3 kind of IR ==> IR passes) runs slower when executed with the LLVM 3.3 JIT, compared to what we had with LLVM 3.1. What could be the reason?
I tried to play with TargetOptions without any success…
Here is the kind of code we use to allocate the JIT:
EngineBuilder builder(fResult->fModule);