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