At the moment CGP recursively removes operand of llvm.assume but
it does it only for instructions has no more than one use.
This is not enough for some induction variable which is used only
in llvm.assume.
As soon as there is no any dead code elimination passes between
CGP and instruction selector it makes sense to apply more efforts
at CGP to remove dead code.
sentence sounds like it's missing a word here?