similar to: [LLVMdev] Mandatory duplicated incoming nodes on phis

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Mandatory duplicated incoming nodes on phis"

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 Feb 16
1
[LLVMdev] Invalid call generated on 64-bit linux when calling native C function from IR
Hi, when I try to generate LLVM-IR which calls back to native C functions the jit compiler generates invalid code on 64-bit linux. The same code works fine on 32-bit linux, 32-bit OS X and 64-bit OS X. A reproduction case is attached to this mail. It is a simple modification of the "How to use jit" example adding a call to a native function. I am currently using EE->addGlobalMapping
2007 Sep 11
2
[LLVMdev] volatiles
The attached file contains some simple functions that manipulate volatile varibles. The functions near the top of the file should turn into code that loads from x and then stores to it. The LLVM version on the web (not sure if it's the latest...) gets most of these wrong. John Regehr -------------- next part --------------
2008 Mar 02
2
[LLVMdev] Struct layout assumptions
A question about the layout of structs: I decided to make my vtables out of structs rather than arrays. In other words, instead of being a table of opaque pointers, I decided to individually declare each entry with the correct type for that method. I figure that the various optimizers could do a better job if I preserve the type info. OK, so we come to the issue of inheritance: Suppose I have
2011 Jun 01
1
Function to save plots
Hello, I'm using ROCR to plot ROC Curves and I want to automate the saving of plots into PNG files using a custom function. My data frames are named like test1, test2, test3. Each data frame has three variables: method1, method2, goldstandard. Right now, for each plot I have to run: png('test1_method1.png') plot(performance(prediction(test1$method1, test1$goldstandard),
2005 Sep 25
1
Prototype "classes" and inheritance
JavaScript doesn''t (yet) have a notion of classes. Prototype.js just adds a suitable convention for implementing them. It provides a way to create a new class by extending a base class using Object.extend, but it doesn''t handle method inheritance. There are ways of doing implementing this through traversing the chain of prototypes, but I''m not sure they are
2010 Aug 20
2
U value from wilcox.test
Dear all, I want to compare the efficiency of 2 methods in extracting proteins from algal samples. I collected 6 independant algal samples and I extracted 3 by the method 1 and 3 others by the method 2. So I have 2 groups of 3 samples, that are not paired. I would like to know if the results obtained by these 2 methods are significantly different, I hope method 2 to be more efficient than method
2006 Jun 22
1
Change of controller name and SEO issue
Hi, I developed an app with cetain controller names. Now that the app is catching up I''m trying to change the controller names to be better aligned with the business. This is what I have now. http://localhost/foo/method1 http://localhost/foo/method2 http://localhost/foo/method2/a http://localhost/foo/method2/a/b http://localhost/foo/method2/a/b/c http://localhost/foo/method3 I would
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() { >
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 ... > >>
2009 Feb 03
0
[LLVMdev] undefs in phis
On Feb 2, 2009, at 3:54 PM, Evan Cheng wrote: > > On Feb 2, 2009, at 1:05 PM, David Greene wrote: > >> 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
2009 Feb 06
0
[LLVMdev] undefs in phis
On Feb 5, 2009, at 5:30 PM, David Greene wrote: > On Monday 02 February 2009 23:55, Evan Cheng wrote: > >>>> Think about what will happen the 2nd iteration. %v1177 will have >>>> the value of >>>> %v1645 which is wrong. This is because %v1176 in bb74 will be >>>> replaced with >>>> %v1177. That's incorrect. >>>
2009 Mar 17
0
[LLVMdev] PHIs with Same Basic Block Listed Twice
On Mar 17, 2009, at 11:37 AMPDT, John Criswell wrote: > Dear All, > > I have, in an LLVM bitcode program, the following phi node: > > %iftmp.225.0 = phi i8* [ getelementptr ([10 x i8]* @.str12597431, > i32 0, > i32 0), %bb114 ], [ getelementptr ([10 x i8]* @.str1258, i32 0, i32 > 0), > %bb111 ], [ getelementptr ([10 x i8]* @.str1258, i32 0, i32 0), > %bb111 ]
2008 Nov 23
1
tklistbox - R-Objekt
Hello, I have a problem with a tklistbox. The user should be able to choose one out of two calculation methods needed for further calculations. My r-script for that purpose looks like that: require(tcltk) tt<-tktoplevel() tl<-tklistbox(tt,height=4,selectmode="single",background="white") tkgrid(tklabel(tt,text="select method for LAI
2009 Jan 29
2
[LLVMdev] undefs in phis
Ok, I understand a bit more of what's going on in my phi example. Coming into DAGtoDAG we have this code: bb74: x = phi(1.0:bb134, %r1450:bb108) y = phi(undef:bb134, x:bb108) [...] bb108: %r1450 = <expr> After DAGtoDAG we have: bb134: %reg1459 = IMPLICIT_DEF %reg1458 = 1.0 bb74: %reg1176 = phi(%reg1458:bb134, %reg1253:bb108) %reg1177 = phi(%reg1459:bb134,
2009 Mar 17
2
[LLVMdev] PHIs with Same Basic Block Listed Twice
Dear All, I have, in an LLVM bitcode program, the following phi node: %iftmp.225.0 = phi i8* [ getelementptr ([10 x i8]* @.str12597431, i32 0, i32 0), %bb114 ], [ getelementptr ([10 x i8]* @.str1258, i32 0, i32 0), %bb111 ], [ getelementptr ([10 x i8]* @.str1258, i32 0, i32 0), %bb111 ] This phi instruction has two arguments for the same incoming basic block. The only reason why it passes
2008 Oct 16
2
[LLVMdev] Requiring a pass to run before/after a pass? (Adding PHIs and updating uses)
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: struct myOpt { myOpt() { mBefore = createDemoteRegisterToMemoryPass(); mAfter = createPromoteMemoryToRegisterPass(); } getAnalysisUsage(AU) { AU.addRequired(my stuff); mBefore.getAnalysisUsage(AU); mAfter.getAnalysisUsage(AU); }
2009 Jan 30
0
[LLVMdev] undefs in phis
On Friday 30 January 2009 15:10, David Greene wrote: > This still looks correct. The coalescer then says: > > 4360 %reg1177<def> = FsMOVAPSrr %reg1176<kill> ; srcLine 0 > Inspecting %reg1176,0 = [2702,4362:0) 0 at 2702-(4362) and %reg1177,0 = > [2700,3712:0)[3768,3878:0)[4362,4372:0) 0 at 4362-(3878): > Joined. Result = %reg1177,0 = [2700,4372:0) 0 at