This patch supports additional integer abs idioms where the comparison
is performed in a wider type than the abs result, i.e. where select's
comparison operands are sign-extended versions of the select's
true/false operands:
%neg = sub i16 0, %a %a.prom = sext i16 %a to i32 %abs.cond = icmp sge i32 %a.prom, 0 %abs = select i1 %abs.cond, i16 %a, i16 %neg