; The induction variable canonicalization pass shouldn't leave dead ; instructions laying around! ; ; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | \ ; RUN: not grep {#uses=0} int %mul(int %x, int %y) { entry: br label %tailrecurse tailrecurse: ; preds = %entry, %endif %accumulator.tr = phi int [ %x, %entry ], [ %tmp.9, %endif ] ; [#uses=2] %y.tr = phi int [ %y, %entry ], [ %tmp.8, %endif ] ; [#uses=2] %tmp.1 = seteq int %y.tr, 0 ; [#uses=1] br bool %tmp.1, label %return, label %endif endif: ; preds = %tailrecurse %tmp.8 = add int %y.tr, -1 ; [#uses=1] %tmp.9 = add int %accumulator.tr, %x ; [#uses=1] br label %tailrecurse return: ; preds = %tailrecurse ret int %accumulator.tr }