Issue 165088
Summary [SimplifyCFG] Assertion `IterCnt++ < 1000 && "Iterative simplification didn't converge!"' failed.
Labels crash-on-valid, llvm:transforms, generated by fuzzer
Assignees dtcxzyw
Reporter dtcxzyw
    Reproducer:
```
; bin/opt -passes="simplifycfg<switch-range-to-icmp>" test.ll -S
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define fastcc i32 @func_209(i8 %conv74) {
entry:
  %cmp.i.i = icmp eq i8 %conv74, 0
  %cond = icmp ne i8 %conv74, 0
  %cmp.i44.i.old = icmp ugt i8 %conv74, 0
  %or.cond = and i1 %cond, %cmp.i44.i.old
  br i1 %or.cond, label %safe_mod_func_int16_t_s_s.exit.i, label %cond.false.i45.i

safe_div_func_uint16_t_u_u.exit.i:                ; preds = %safe_mod_func_int16_t_s_s.exit.i
  %cmp.i44.i.old.old = icmp ugt i8 %conv74, 1
  br i1 %cmp.i44.i.old.old, label %safe_mod_func_int16_t_s_s.exit.i, label %cond.false.i45.i

cond.false.i45.i:                                 ; preds = %safe_div_func_uint16_t_u_u.exit.i, %entry
  br label %safe_mod_func_int16_t_s_s.exit.i

safe_mod_func_int16_t_s_s.exit.i: ; preds = %cond.false.i45.i, %safe_div_func_uint16_t_u_u.exit.i, %entry
  br i1 %cmp.i.i, label %func_238.exit, label %safe_div_func_uint16_t_u_u.exit.i

func_238.exit: ; preds = %safe_mod_func_int16_t_s_s.exit.i
  ret i32 0
}
```

_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to