dead code elimination: try and preserve more constraints in dependence cycles