The specific description is Adding unsigned integer ceil in Std Dialect .
When we lower ceilDivOp this will generate below code, sometimes we know m and n are unsigned intergal.Here are some redundant judgments about positive and negative.
So we need to add some unsigned operations to simplify the instructions.
ceilDiv(n, m) x = (m > 0) ? -1 : 1 return (n*m>0) ? ((n+x) / m) + 1 : - (-n / m)
ceilDivU(n, m) return n ==0 ? 0 : ((n - 1) / m) + 1