public void buildGraph(HashMap<String, LiveRange> liveRanges, HashMap<String, Integer> spillCosts)
	{
		for(String key: liveRanges.keySet())
		{	
			InterferenceNode node = new InterferenceNode(key);
			node.setSpillCost(spillCosts.get(key));
			nodes.add(node);
		}
		
		for(InterferenceNode node: nodes)
		{
			String key = node.getName();
			for(InterferenceNode otherNode: nodes)
			{
				String otherKey = otherNode.getName();
				if(!key.equals(otherKey))
				{
					//This is a potential neighbor, check it and if it is adjacent, add it as a neighbor to the newNode
					LiveRange x = liveRanges.get(key);
					LiveRange y = liveRanges.get(otherKey);
					if(!(x.getStart() < y.getStart() && x.getEnd() < y.getStart()) || !(x.getStart() > y.getEnd() && x.getEnd() > y.getEnd()))
					{
						//These two interfere, add it as a neighbor to this node
						node.addNeighbor(otherNode);
					}
				}
			}
		}
	}