[Mono-bugs] [Bug 61641][Wis] Changed - [PATCH] Suboptimal register allocation with `if' statements
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Mon, 21 Mar 2005 05:06:08 -0500 (EST)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by lupus@ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=61641
--- shadow/61641 2004-07-19 16:30:19.000000000 -0400
+++ shadow/61641.tmp.14912 2005-03-21 05:06:08.000000000 -0500
@@ -671,6 +671,23 @@
- MCS was able to allocate 10% more variables to registers
- Zipmark got a 10% performance increase on -O=deadce,loop
We should do more evaluation of the new ordering for liveness, but I
think the initial results are promising.
+
+------- Additional Comments From lupus@ximian.com 2005-03-21 05:06 -------
+The patch is buggy.
+Var liveness can't be encoded using the IL order of
+basic blocks since it may happen that two vars
+appear non overlapping when instead the control flow
+makes them overlapping. It's trivial to make a test case:
+ use x many times;
+ branch L1;
+L2:
+ use x many times;
+ ret;
+L1:
+ use y many times;
+ branch L2;
+If x and y get allocated to the same register you get corruption.
+