When running `convert-to-llvm`, `ceildiv` and `floordiv` ops, which do not have direct llvm conversion pattern, would not get lowered to llvm dialect. This patch adds CeilFloorDivExpandOpsPatterns to both `convert-to-llvm` and `arith-to-llvm` (deprecated) lowering those ops to lower level arith ops which can be lowered to llvm using LLVM conversion. Reland of https://github.com/llvm/llvm-project/pull/117305 after buildbot failures. See: https://lab.llvm.org/buildbot/#/builders/80/builds/7168 https://lab.llvm.org/buildbot/#/builders/130/builds/7036 https://lab.llvm.org/buildbot/#/builders/138/builds/7290 Added dependence to ArithTransforms in ArithToLLVM. In previous discussion, it has been suggested to move the CeilFloorDivExpandOpsPatterns to ArithUtils but I think linking ArithTransforms makes more sense as otherwise : * ArithToLLVM needs a new dependency to ArithUtils * ArithUtils needs new dependency to ArithTransforms or move the patterns as well which will create more dependencies * It creates lots of code motion which makes it hard to review.