Most of extra credit except the part that sends Liveness output to DeadCodeEliminate input.
Extra credit.