diff --git a/src/Compiler.java b/src/Compiler.java
index 977291c20b801df28092d91b73c151a89a0e55aa..fbfbcb7db25373549d5426420d311d3836bc4a74 100644
--- a/src/Compiler.java
+++ b/src/Compiler.java
@@ -48,9 +48,10 @@ public class Compiler
 		buildFg();
 		System.out.println("[SOLVE FLOW GRAPH]");
 		solveFg();
-		/*
+
 		System.out.println("[BUILD INTERFERENCE GRAPH] ");
 		buildIg();
+		/*
 		System.out.println("[ALLOCATE REGISTERS]");
 		interferenceGraph.allocateRegisters();
 		System.out.println("[PRINT NASM]");
diff --git a/src/fg/Fg.java b/src/fg/Fg.java
index 849bf13bfb638ae60d7556b00fcb844e247a8f58..9a2c0b9ecad8b562e1768f154be353fbc90d2250 100644
--- a/src/fg/Fg.java
+++ b/src/fg/Fg.java
@@ -97,6 +97,16 @@ public class Fg implements NasmVisitor <Void> {
         for (NasmInst nasmInst : list)
             if (nasmInst.toString().equals(inst.toString()))
                 return true;
+
+
+            if (inst instanceof NasmMov) {
+                NasmRegister register = (NasmRegister) inst.destination;
+                return register.color == Nasm.REG_EDX;
+            }
+
+
+
+
         return false;
     }
 
diff --git a/src/fg/FgSolution.java b/src/fg/FgSolution.java
index b24fa94fa970a6adf913b9788bf6068f8bca888b..0ca067476c3f31d0d932eb36f72489f0977e4dcc 100644
--- a/src/fg/FgSolution.java
+++ b/src/fg/FgSolution.java
@@ -90,7 +90,7 @@ public class FgSolution{
 				break;
 
 		}
-
+		affiche("big caca");
 
 
     }
diff --git a/src/ig/Ig.java b/src/ig/Ig.java
index eaf4886ff148177147648092d82af66a28a03af4..8953e3cedca0c7a49a183e560779e291df3d3db9 100644
--- a/src/ig/Ig.java
+++ b/src/ig/Ig.java
@@ -25,6 +25,30 @@ public class Ig {
     }
     
     public void build(){
+		for (NasmInst inst : fgs.in.keySet()) {
+			IntSet set = fgs.in.get(inst);
+			System.out.println(set);
+			List<Node> nodes = new ArrayList<>();
+			for (int i = 0; i < set.getSize(); i ++) {
+				if (set.isMember(i)) {
+					if (int2Node[i]==null)
+						int2Node[i] = graph.newNode();
+					nodes.add(int2Node[i]);
+
+				}
+
+			}
+			for (int i = 0; i < nodes.size(); i++ ) {
+				for (int j = 0; j < nodes.size(); j++) {
+					if (j == i)
+						j++;
+					if (j == nodes.size())
+						break;
+					graph.addEdge(nodes.get(i), nodes.get(j));
+				}
+			}
+		}
+		affiche("ptit caca en vif");
     }
 
     public void affiche(String baseFileName){
@@ -45,12 +69,16 @@ public class Ig {
 	
 	for(int i = 0; i < regNb; i++){
 	    Node n = this.int2Node[i];
-	    out.print(n + " : ( ");
-	    for(NodeList q=n.succ(); q!=null; q=q.tail) {
-		out.print(q.head.toString());
-		out.print(" ");
-	    }
-	    out.println(")");
+		System.out.println(n);
+		if (n!=null) {
+			out.print(n + " : ( ");
+			for(NodeList q=n.succ(); q!=null; q=q.tail) {
+				out.print(q.head.toString());
+				out.print(" ");
+			}
+			out.println(")");
+		}
+
 	}
     }
 }