Hi,

On Sat,  8 Aug 2009 12:43:50 +0200
Tomek Grabiec <tgrab...@gmail.com> wrote:

> When resolving data flow we can not emit reload instructions at the
> end of a basic block. That's because the register we are reloading to
> might be allocated to another interval at the end of this
> block. Especially, it can be used in a branch instruction that ends
> this basic block (see tableswitch).
> 
> Solution is to put those invasive moves (mem -> reg) to a per CFG edge
> blocks. These blocks will be emitted after all other blocks.

As I explained on the channel, this patch is theorically correct and will make 
things work properly.

However, this is not the solution that was suggested by Wimmer, and it 
certainly is kind of
intrusive.
Best would be to find out how to decide whether to put resolving moves at the 
end of the "from"
block, or at the beginning of the "to" block, but I haven't been able to find 
the algorithm.

Help appreciated.
-- 
Greetings, 
A. Huillet

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to