Transfer most of isEssential from deadCodeElimination() to BasicBlock construction