Chris Lattner wrote:> No there isn't, unfortunately. I'd suggest building up/maintaining the > r2r map inside the coallescer. Once the coallescer is done with the > entire function, do a single pass over the function rewriting all the > coallesced vregs.Ok. I have a version with the coalescer separated from liveIntervalAnalysis. It still uses the r2r map but as we discussed late last week, it looks like the rewrite is already done. I will make the r2r map and all APIs into it private within the coalescer class and submit a patch. Good? -Dave
Hey, David. just a curiosity: does your changes have any impact on the compilation time? E.g, did you try comparing the old version with the modified version using llc -time-passes? best, Fernando> > Ok. I have a version with the coalescer separated from > liveIntervalAnalysis. It still uses the r2r map but as we > discussed late last week, it looks like the rewrite is > already done. I will make the r2r map and all APIs into > it private within the coalescer class and submit a patch. > > Good? > > -Dave > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
On Mon, 16 Apr 2007, David Greene wrote:> >> No there isn't, unfortunately. I'd suggest building up/maintaining the >> r2r map inside the coallescer. Once the coallescer is done with the >> entire function, do a single pass over the function rewriting all the >> coallesced vregs. > > Ok. I have a version with the coalescer separated from > liveIntervalAnalysis. It still uses the r2r map but as we > discussed late last week, it looks like the rewrite is > already done. I will make the r2r map and all APIs into > it private within the coalescer class and submit a patch. > > Good?Sounds excellent, -Chris -- http://nondot.org/sabre/ http://llvm.org/
Fernando Magno Quintao Pereira wrote:> Hey, David. > > just a curiosity: does your changes have any impact on the compilation > time? E.g, did you try comparing the old version with the modified version > using llc -time-passes?I haven't tested it yet (waiting on some updates from colleagues here) but there should be no time increase. Quite literally, it just involves moving member functions from one class to another, creating a new pass and adding in the proper AnalysisUsage information. Separating out the spill cost computation will increase compile time but I don't imagine it will be significant. -Dave