The following test case will result in a compile-time infinite loop if you run `mlir-opt -canonicalizer` ``` module { func.func @infloop_() { %false = arith.constant false cf.cond_br %false, ^bb1, ^bb2 ^bb1: // 2 preds: ^bb0, ^bb2 cf.br ^bb2 ^bb2: // 2 preds: ^bb0, ^bb1 cf.br ^bb1 } } ```