DeadSetCC.ll 783 B

12345678910111213141516171819202122232425262728
  1. ; RUN: opt < %s -simplifycfg -S | \
  2. ; RUN: not grep "icmp eq"
  3. ; Check that simplifycfg deletes a dead 'seteq' instruction when it
  4. ; folds a conditional branch into a switch instruction.
  5. declare void @foo()
  6. declare void @bar()
  7. define void @testcfg(i32 %V) {
  8. %C = icmp eq i32 %V, 18 ; <i1> [#uses=1]
  9. %D = icmp eq i32 %V, 180 ; <i1> [#uses=1]
  10. %E = or i1 %C, %D ; <i1> [#uses=1]
  11. br i1 %E, label %L1, label %Sw
  12. Sw: ; preds = %0
  13. switch i32 %V, label %L1 [
  14. i32 15, label %L2
  15. i32 16, label %L2
  16. ]
  17. L1: ; preds = %Sw, %0
  18. call void @foo( )
  19. ret void
  20. L2: ; preds = %Sw, %Sw
  21. call void @bar( )
  22. ret void
  23. }