Star
2008-Oct-30 05:39 UTC
[LLVMdev] A new project proposal for LLVM and calling help from a chinese student
Hi, Benoit, Thanks very much for your advice. You see the algorithm greatly improve the performance of liveness analysis. However, it seems still not efficient. First, it is inefficient in space. You have to pre-compute all Tq for every Tq and save them, even though only the highest nodes of Tq are needed for a given query(q,v); Second, it is inefficient in time. Given any query(q,v), you have to traverse all Tq to find the highest nodes. When the Tq is large, it maybe will cost a lot. To conquer this problem, you first order nodes according to dominance, and then the "highest node" will be the first node. However, when many nodes are not dominated by each other, you have to traverse them. In fact, I think the highest node proposed in your new slice is very similar to the entry of SCC if the node is a loop entry. So, maybe I could use this information to improve this algorithm, even though I don't know clearly how to improve it now. Thanks again, I will try to implement it in LLVM, and further more, try my best to improve it. Best wishes, Star. -----Original Message----- From: Benoit Boissinot [mailto:bboissin at gmail.com] Sent: Wednesday, October 29, 2008 10:06 PM To: LLVM Developers Mailing List Cc: 谭明星 Subject: Re: [LLVMdev] A new project proposal for LLVM and calling help from a chinese student Hello,> On Oct 28, 2008, at 10:10 AM, 谭明星 wrote: >> >> PS: The following are links about this paper: >> http://portal.acm.org/citation.cfm?id=1356064 >>http://www.if.insa-lyon.fr/chercheurs/jpbabau/emsoc/presentations/EmSoC07_Bo issinot.pdf>>I've put the slides from CGO online: http://perso.ens-lyon.fr/benoit.boissinot/upload/bboissin-liveness-cgo-slide s.pdf They should be much better than the one from my presentation at EmSoC. regards, Benoit
'Benoit Boissinot'
2008-Oct-30 08:52 UTC
[LLVMdev] A new project proposal for LLVM and calling help from a chinese student
On Thu, Oct 30, 2008 at 01:39:46PM +0800, Star wrote:> Hi, Benoit, > Thanks very much for your advice. > You see the algorithm greatly improve the performance of liveness analysis. > However, it seems still not efficient. > First, it is inefficient in space. You have to pre-compute all Tq for every > Tq and save them, even though only the highest nodes of Tq are needed for a > given query(q,v);Sure there are probably some improvements to be done. But remember that you don't know what the highest point is because you want the highest point from the set "Tq intersected with the nodes dominated by the definition". So the highest point depends on the variable you're interested in, while Tq only depends on the CFG (that's the point of the algorithm). Maybe you can compute the Tq more lazily. Or use sparse bitsets.> Second, it is inefficient in time. Given any query(q,v), > you have to traverse all Tq to find the highest nodes. When the Tq is > large, it maybe will cost a lot. To conquer this problem, you first order > nodes according to dominance, and then the "highest node" will be the first > node. However, when many nodes are not dominated by each other, you have to > traverse them.If you have no highest point, then the CFG is not reducible, this is not the common case.> In fact, I think the highest node proposed in your new slice is very similar > to the entry of SCC if the node is a loop entry. So, maybe I could use this > information to improve this algorithm, even though I don't know clearly how > to improve it now.Yes, we later discovered we can generalize the algorithm to use the loop forest information. I don't think it makes the algorithm faster, because you'll still have some problem with irreducible CFG.> Thanks again, I will try to implement it in LLVM, and further more, try my > best to improve it.Have fun! regards, Benoit -- :wq
Evan Cheng
2008-Oct-30 15:54 UTC
[LLVMdev] A new project proposal for LLVM and calling help from a chinese student
This is an excellent project. We look forward to seeing your work! Is it possible for you to implement your work on the mainline and contribute back patches along the way? That way, the community can offer suggestions and we will try *harder* not to break your pass. Evan On Oct 29, 2008, at 10:39 PM, Star wrote:> Hi, Benoit, > Thanks very much for your advice. > You see the algorithm greatly improve the performance of liveness > analysis. > However, it seems still not efficient. > First, it is inefficient in space. You have to pre-compute all Tq > for every > Tq and save them, even though only the highest nodes of Tq are > needed for a > given query(q,v); Second, it is inefficient in time. Given any > query(q,v), > you have to traverse all Tq to find the highest nodes. When the Tq is > large, it maybe will cost a lot. To conquer this problem, you first > order > nodes according to dominance, and then the "highest node" will be > the first > node. However, when many nodes are not dominated by each other, you > have to > traverse them. > In fact, I think the highest node proposed in your new slice is very > similar > to the entry of SCC if the node is a loop entry. So, maybe I could > use this > information to improve this algorithm, even though I don't know > clearly how > to improve it now. > Thanks again, I will try to implement it in LLVM, and further more, > try my > best to improve it. > > Best wishes, > Star. > > -----Original Message----- > From: Benoit Boissinot [mailto:bboissin at gmail.com] > Sent: Wednesday, October 29, 2008 10:06 PM > To: LLVM Developers Mailing List > Cc: 谭明星 > Subject: Re: [LLVMdev] A new project proposal for LLVM and calling > help from > a chinese student > > Hello, > >> On Oct 28, 2008, at 10:10 AM, 谭明星 wrote: >>> >>> PS: The following are links about this paper: >>> http://portal.acm.org/citation.cfm?id=1356064 >>> > http://www.if.insa-lyon.fr/chercheurs/jpbabau/emsoc/presentations/EmSoC07_Bo > issinot.pdf >>> > > I've put the slides from CGO online: > http://perso.ens-lyon.fr/benoit.boissinot/upload/bboissin-liveness-cgo-slide > s.pdf > They should be much better than the one from my presentation at EmSoC. > > regards, > > Benoit > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Star
2008-Oct-31 01:23 UTC
[LLVMdev] A new project proposal for LLVM and calling help from a chinese student
Hi, Evan. I'm new in LLVM project developing. How should I work on the mainline? I have check out the latest copy of LLVM from Subvresion using the Read-Only account. Do you mean I should provide the patch to the mainline periodic in this LLVMDEV mailing list? Anyway, thanks for your advice :) Star> -----Original Message----- > From: Evan Cheng [mailto:evan.cheng at apple.com] > Sent: Thursday, October 30, 2008 11:54 PM > To: LLVM Developers Mailing List > Subject: Re: [LLVMdev] A new project proposal for LLVM and calling > helpfrom a chinese student > > This is an excellent project. We look forward to seeing your work! > > Is it possible for you to implement your work on the mainline and > contribute back patches along the way? That way, the community can > offer suggestions and we will try *harder* not to break your pass. > > Evan > > On Oct 29, 2008, at 10:39 PM, Star wrote: > > > Hi, Benoit, > > Thanks very much for your advice. > > You see the algorithm greatly improve the performance of liveness > > analysis. > > However, it seems still not efficient. > > First, it is inefficient in space. You have to pre-compute all Tq > > for every > > Tq and save them, even though only the highest nodes of Tq are > > needed for a > > given query(q,v); Second, it is inefficient in time. Given any > > query(q,v), > > you have to traverse all Tq to find the highest nodes. When the Tq > is > > large, it maybe will cost a lot. To conquer this problem, you first > > order > > nodes according to dominance, and then the "highest node" will be > > the first > > node. However, when many nodes are not dominated by each other, you > > have to > > traverse them. > > In fact, I think the highest node proposed in your new slice is very > > similar > > to the entry of SCC if the node is a loop entry. So, maybe I could > > use this > > information to improve this algorithm, even though I don't know > > clearly how > > to improve it now. > > Thanks again, I will try to implement it in LLVM, and further more, > > try my > > best to improve it. > > > > Best wishes, > > Star. > > > > -----Original Message----- > > From: Benoit Boissinot [mailto:bboissin at gmail.com] > > Sent: Wednesday, October 29, 2008 10:06 PM > > To: LLVM Developers Mailing List > > Cc: 谭明星 > > Subject: Re: [LLVMdev] A new project proposal for LLVM and calling > > help from > > a chinese student > > > > Hello, > > > >> On Oct 28, 2008, at 10:10 AM, 谭明星 wrote: > >>> > >>> PS: The following are links about this paper: > >>> http://portal.acm.org/citation.cfm?id=1356064 > >>> > > > http://www.if.insa-lyon.fr/chercheurs/jpbabau/emsoc/presentations/ > EmSoC07_Bo > > issinot.pdf > >>> > > > > I've put the slides from CGO online: > > > http://perso.ens-lyon.fr/benoit.boissinot/upload/bboissin-liveness > -cgo-slide > > s.pdf > > They should be much better than the one from my presentation at EmSoC. > > > > regards, > > > > Benoit > > > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >
Seemingly Similar Threads
- [LLVMdev] A new project proposal for LLVM and calling help from a chinese student
- [LLVMdev] A new project proposal for LLVM and calling help from a chinese student
- [LLVMdev] A new project proposal for LLVM and calling help from a chinese student
- [LLVMdev] A new project proposal for LLVM and calling help from a chinese student
- [LLVMdev] Find all backedges of CFG by MachineDominatorTree. please look at my jpg.