]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/codegen/analysis/Dominance.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / codegen / analysis / Dominance.java
index 73e234910abcbba510c1859463a8cdbaa2bbfa56..a7008f65a0cb2f28faf0ac33575bf62df79ff2dd 100644 (file)
@@ -1,49 +1,49 @@
-package org.simantics.scl.compiler.internal.codegen.analysis;\r
-\r
-public abstract class Dominance {\r
-\r
-    int[] idom;\r
-    \r
-    public Dominance(int size) {\r
-        idom = new int[size];\r
-        idom[0] = 0;\r
-        for(int i=1;i<size;++i)\r
-            idom[i] = -1;\r
-    }\r
-    \r
-    public void compute() {\r
-        boolean changed;\r
-        do {\r
-            changed = true;\r
-            for(int i=1;i<idom.length;++i) {\r
-                int curDom = -1;\r
-                for(int pred : predecessors(i)) {\r
-                    int dom = idom[pred];\r
-                    if(dom >= 0) {\r
-                        if(curDom < 0)\r
-                            curDom = dom;\r
-                        else\r
-                            curDom = intersect(dom, curDom);\r
-                    }\r
-                }\r
-                if(idom[i] != curDom) {\r
-                    idom[i] = curDom;\r
-                    changed = true;\r
-                }\r
-            }\r
-        } while(changed);\r
-    }\r
-    \r
-    private int intersect(int a, int b) {\r
-        while(a != b) {\r
-            if(a < b)\r
-                b = idom[b];\r
-            else\r
-                a = idom[a];\r
-        }\r
-        return a;\r
-    }\r
-\r
-    protected abstract int[] predecessors(int i);\r
-    \r
-}\r
+package org.simantics.scl.compiler.internal.codegen.analysis;
+
+public abstract class Dominance {
+
+    int[] idom;
+    
+    public Dominance(int size) {
+        idom = new int[size];
+        idom[0] = 0;
+        for(int i=1;i<size;++i)
+            idom[i] = -1;
+    }
+    
+    public void compute() {
+        boolean changed;
+        do {
+            changed = true;
+            for(int i=1;i<idom.length;++i) {
+                int curDom = -1;
+                for(int pred : predecessors(i)) {
+                    int dom = idom[pred];
+                    if(dom >= 0) {
+                        if(curDom < 0)
+                            curDom = dom;
+                        else
+                            curDom = intersect(dom, curDom);
+                    }
+                }
+                if(idom[i] != curDom) {
+                    idom[i] = curDom;
+                    changed = true;
+                }
+            }
+        } while(changed);
+    }
+    
+    private int intersect(int a, int b) {
+        while(a != b) {
+            if(a < b)
+                b = idom[b];
+            else
+                a = idom[a];
+        }
+        return a;
+    }
+
+    protected abstract int[] predecessors(int i);
+    
+}