[LLVMdev] Question about coalescing

David Greene dag at cray.com
Mon Dec 17 10:10:28 PST 2007

On Saturday 15 December 2007 18:45, Fernando Magno Quintao Pereira wrote:
> Dear guys,
>      I want to coalesce some copies, and I would like to know if there is
> any method that I can call, like JoinCopy from the old (LLVM 1.9)
> LiveIntervals class. I found it in SimpleRegisterCoalescing (LLVM 2.1),
> but I do not want to call this analysis, as I have my own.
>      basically, I can determine that two virtuals do not overlap, and I
> know that it is safe to join them. In the old v1.9, I simply had to do
> this:
>      this->interval_analysis_->JoinCopy(mach_inst, use_eg, def_reg);


I had a similar requirement and did a ton of work to refactor 
SimpleRegisterCoalescing to break out the joining and dataflow
update code into independent routines.  My custom coalescer
calls them to do the heavy lifting.

There was quite a bit of debugging involved in this.  :)

I've been meaning to submit this back to upstream.  This looks like
a good time to do so.  I'll see if I can get a draft patch soon.


More information about the llvm-dev mailing list