// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s

// Test that trying to outline an infinite loop doesn't lead to an assertion
// failure.

llvm.func @parallel_infinite_loop() -> () {
  omp.parallel {
    llvm.br ^bb1
  ^bb1:
    llvm.br ^bb1
  }
  llvm.return
}

// CHECK-LABEL: define void @parallel_infinite_loop() {
// CHECK:         br label %[[VAL_3:.*]]
// CHECK:       omp_parallel:
// CHECK:         call void (ptr, i32, ptr, ...) @__kmpc_fork_call(ptr @1, i32 0, ptr @parallel_infinite_loop..omp_par)
// CHECK:         unreachable
// CHECK:       omp.region.cont:                                  ; No predecessors!
// CHECK:         br label %[[VAL_4:.*]]
// CHECK:       omp.par.pre_finalize:                             ; preds = %[[VAL_5:.*]]
// CHECK:         br label %[[FINI:.*]]
// CHECK:       [[OMP_PAR_EXIT:omp.par.exit]]:                                     ; preds = %[[FINI]]
// CHECK:         ret void
// CHECK:       [[FINI]]:
// CHECK:         br label %[[OMP_PAR_EXIT]]
// CHECK:       }

// CHECK-LABEL: define internal void @parallel_infinite_loop..omp_par(
// CHECK-SAME:      ptr noalias %[[TID_ADDR:.*]], ptr noalias %[[ZERO_ADDR:.*]])
// CHECK:       omp.par.entry:
// CHECK:         %[[VAL_7:.*]] = alloca i32, align 4
// CHECK:         %[[VAL_8:.*]] = load i32, ptr %[[VAL_9:.*]], align 4
// CHECK:         store i32 %[[VAL_8]], ptr %[[VAL_7]], align 4
// CHECK:         %[[VAL_10:.*]] = load i32, ptr %[[VAL_7]], align 4
// CHECK:         br label %[[VAL_11:.*]]
// CHECK:       omp.region.after_alloca:                          ; preds = %[[VAL_12:.*]]
// CHECK:         br label %[[VAL_13:.*]]
// CHECK:       omp.par.region:                                   ; preds = %[[VAL_11]]
// CHECK:         br label %[[VAL_14:.*]]
// CHECK:       omp.par.region1:                                  ; preds = %[[VAL_13]]
// CHECK:         br label %[[VAL_15:.*]]
// CHECK:       omp.par.region2:                                  ; preds = %[[VAL_15]], %[[VAL_14]]
// CHECK:         br label %[[VAL_15]]
