similar to: [LLVMdev] Requiring a pass to run before/after a pass? (Adding PHIs and updating uses)

Displaying 20 results from an estimated 100 matches similar to: "[LLVMdev] Requiring a pass to run before/after a pass? (Adding PHIs and updating uses)"

2008 Oct 16
0
[LLVMdev] Requiring a pass to run before/after a pass? (Adding PHIs and updating uses)
On Oct 16, 2008, at 8:29 AM, Edward Lee wrote: > Is there a simple way to require a pass, e.g., Reg2Mem/Mem2Reg, to > run before/after my transformation pass? Or do I do something like: One simplest way is to handle this is to add these passes around your pass in the pass manager. pm.add(Reg2Mem) pm.add(MyPass) pm.add(Mem2Reg) > > > struct myOpt { > myOpt() { >
2011 Nov 10
3
optim seems to be finding a local minimum
Hello! I am trying to create an R optimization routine for a task that's currently being done using Excel (lots of tables, formulas, and Solver). However, otpim seems to be finding a local minimum. Example data, functions, and comparison with the solution found in Excel are below. I am not experienced in optimizations so thanks a lot for your advice! Dimitri ### 2 Inputs:
2012 Jul 21
3
Use GPU in R with .Call
Hi All, I am a newbie to GPU programming. I wonder if anyone can help me with using GPU in .Call in R. Basically, I want to write a function that calcuates the sum of two double type vectors and implement this using GPU. My final goal is to make such an implementation callable from R. (a) First, I wrote a R-C interface handles the R object using .Call (saved as VecAdd_cuda.c
2016 Dec 13
0
Enabling statistics in release builds / static constructors
> On Dec 13, 2016, at 1:22 PM, Matthias Braun via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > >> On Dec 13, 2016, at 12:56 PM, Reid Kleckner <rnk at google.com> wrote: >> >> Given that LLVM has so many auto-registration systems (cl::opt, target registry, pass registry, statistics, I'm sure there's more), maybe we should spend the time to build
2016 Dec 13
3
Enabling statistics in release builds / static constructors
> On Dec 13, 2016, at 12:56 PM, Reid Kleckner <rnk at google.com> wrote: > > Given that LLVM has so many auto-registration systems (cl::opt, target registry, pass registry, statistics, I'm sure there's more), maybe we should spend the time to build an auto-registration system that doesn't involve static constructors? I would volunteer to do the work, however this
2016 Dec 13
2
Enabling statistics in release builds / static constructors
> On Dec 13, 2016, at 3:23 PM, Mehdi Amini <mehdi.amini at apple.com> wrote: > >> >> On Dec 13, 2016, at 1:22 PM, Matthias Braun via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> >>> On Dec 13, 2016, at 12:56 PM, Reid Kleckner <rnk at google.com> wrote: >>> >>> Given that LLVM has so many auto-registration systems
2007 Oct 29
0
[LLVMdev] User-specified JIT passes
On Oct 28, 2007, at 10:38 PM, Warren Armstrong wrote: > Greetings, > > I have a plan to use LLVM to undertake runtime optimisation of > computational chemistry programs. Ok. > As part of this, I'd like to be able > to invoke lli and pass it a list of passes to run, in the manner of > opt. For example: > >> lli -load=llvm/mem_trace_pass/bin/lib/hello.so -hello
2011 Jun 01
2
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
Thanks for the reply! Unfortunately, that seems to have the same effect as setting llvm::TimePassesIsEnabled myself, and all my same problems still apply as the TimingInfo's destructor (PassManager.cpp) is still never called. Running it in the debugger shows that TimerGroup's removeTimer method is never called, nor is it's destructor (but it's constructor is). On Wed, Jun 1, 2011
2011 Jun 01
0
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
I got it working with this: int argc = 2; const char *argv[2] = {"myopt", "-time-passes"}; cl::ParseCommandLineOptions(argc, (char **)argv, "my optimizer"); On 06/01/2011 01:19 PM, Michael Ilseman wrote: > I have some PassManagers, and I would like to output timing data for > how long each pass takes to execute with a separate
2007 Oct 29
2
[LLVMdev] User-specified JIT passes
Greetings, I have a plan to use LLVM to undertake runtime optimisation of computational chemistry programs. As part of this, I'd like to be able to invoke lli and pass it a list of passes to run, in the manner of opt. For example: > lli -load=llvm/mem_trace_pass/bin/lib/hello.so -hello ./my_bitcode.bc The current implementation of lli (updated from SVN as of three nights ago)
2016 Dec 13
0
Enabling statistics in release builds / static constructors
Given that LLVM has so many auto-registration systems (cl::opt, target registry, pass registry, statistics, I'm sure there's more), maybe we should spend the time to build an auto-registration system that doesn't involve static constructors? It needs custom code for every supported object file format, and is hard to get right when DSOs are involved, but in the long run it's
2011 Jun 01
0
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
Oh, you probably also need to create a static llvm_shutdown_obj. On 06/01/2011 02:19 PM, Michael Ilseman wrote: > Thanks for the reply! Unfortunately, that seems to have the same > effect as setting llvm::TimePassesIsEnabled myself, and all my same > problems still apply as the TimingInfo's destructor (PassManager.cpp) > is still never called. Running it in the debugger shows that
2011 Jun 01
2
[LLVMdev] How best to time passes using the API instead of opt? Also, memory leaks when trying to do timing in the API.
I have some PassManagers, and I would like to output timing data for how long each pass takes to execute with a separate application using the API, rather than through an llvm tool. Unfortunately, I'm having trouble seeing how to use the existing facilities without using opt. Setting llvm::TimePassesIsEnabled before creating the PassManagers doesn't seem to output anything, though it is
2013 Sep 17
0
[LLVMdev] [RFC] Internal command line options should not be statically initialized.
Hey Andy > One easy pattern to follow is to register the option during pass initialization with all the convenient flags and parameters, but refer to a globally defined option storage that enforces the singleton and provides visibility. As long as pass initialization happens before parseCommandLine, usage should be consistent. > > Strawman: > > cl::optval<bool> MyOption; //
2016 Dec 13
0
Enabling statistics in release builds / static constructors
> On Dec 13, 2016, at 3:27 PM, Matthias Braun <mbraun at apple.com> wrote: > >> >> On Dec 13, 2016, at 3:23 PM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote: >> >>> >>> On Dec 13, 2016, at 1:22 PM, Matthias Braun via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
2008 Aug 27
2
[LLVMdev] Mandatory duplicated incoming nodes on phis
Hi, I noticed that if you create a switch with multiple cases going to the same destination, then if that destination contains phis you need to add the incoming value an equivalent number of times. The attached code seems wrong, but it compiles as correct, and removing the duplicated incoming node causes an error. Is this expected? Cheers, Gary -- http://gbenson.net/ -------------- next part
2008 Aug 28
0
[LLVMdev] Mandatory duplicated incoming nodes on phis
On Aug 27, 2008, at 3:37 AM, Gary Benson wrote: > Hi, > > I noticed that if you create a switch with multiple cases going to > the same destination, then if that destination contains phis you > need to add the incoming value an equivalent number of times. The > attached code seems wrong, but it compiles as correct, and removing > the duplicated incoming node causes an error.
2009 Jan 30
0
[LLVMdev] undefs in phis
On Thu, Jan 29, 2009 at 2:47 PM, David Greene <dag at cray.com> wrote: > After phi elimination we have: > > bb134: > %reg1645 = 1.0 > > bb74: > %reg1176 = MOVAPS %reg1645 > %reg1177 = MOVAPS %reg1646 > [...] > > bb108: > %reg1645 = <expr> > %reg1646 = %reg1176 I find it a little strange that the IMPLICIT_DEF disappears. Besides that, it
2009 Feb 02
0
[LLVMdev] undefs in phis
On Monday 02 February 2009 13:14, Evan Cheng wrote: > I am sorry I don't really follow it. Is this what you are describing? > > %v1177 = undef > ... > loop: > ... > %v1176 = op ... > = %v1177 > %v1177 = %v1176 > jmp loop > > Why is not safe to coalesce the 2 registers? Not quite. The original code is: %v1177 = undef %v1645 = ... loop:
2009 Feb 02
0
[LLVMdev] undefs in phis
On Monday 02 February 2009 14:29, Evan Cheng wrote: > On Feb 2, 2009, at 12:12 PM, David Greene wrote: > > On Monday 02 February 2009 13:14, Evan Cheng wrote: > >> I am sorry I don't really follow it. Is this what you are describing? > >> > >> %v1177 = undef > >> ... > >> loop: > >> ... > >> %v1176 = op ... > >>