similar to: [LLVMdev] Runtime optimization of C++ code with virtual functions

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);