================ @@ -0,0 +1,58 @@ +// RUN: cir-opt %s -cir-flatten-cfg -o - | FileCheck %s + +module { + cir.func @foo() { + cir.scope { + %0 = cir.alloca !cir.int<u, 32>, !cir.ptr<!cir.int<u, 32>>, ["a", init] {alignment = 4 : i64} + %1 = cir.const #cir.int<4> : !cir.int<u, 32> + cir.store %1, %0 : !cir.int<u, 32>, !cir.ptr<!cir.int<u, 32>> + } + cir.return + } +// CHECK: cir.func @foo() { +// CHECK: cir.br ^bb1 ---------------- andykaylor wrote:
I don't think it should. The general intent is for passes to perform a specific purpose and rely on layering of passes to clean things up. Because the canonicalization pass needs to remove useless blocks anyway, there is no advantage to also doing that in the flatten pass. https://github.com/llvm/llvm-project/pull/130861 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits