29 lines · plain
1; REQUIRES: asserts2; RUN: opt -passes=dce -S -debug-counter=dce-transform=1-2 < %s | FileCheck %s --check-prefixes=CHECK,NO-PRINT3; RUN: opt -passes=dce -S -debug-counter=dce-transform=1-2 -print-debug-counter-queries < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,PRINT4;; Test that, with debug counters on, we will skip the first DCE opportunity, perform next 2,5;; and ignore all the others left.6 7; NO-PRINT-NOT: DebugCounter8; PRINT: DebugCounter dce-transform=0 skip9; PRINT-NEXT: DebugCounter dce-transform=1 execute10; PRINT-NEXT: DebugCounter dce-transform=2 execute11; PRINT-NEXT: DebugCounter dce-transform=3 skip12; PRINT-NEXT: DebugCounter dce-transform=4 skip13 14; CHECK-LABEL: @test15; CHECK-NEXT: %add1 = add i32 1, 216; CHECK-NEXT: %sub1 = sub i32 %add1, 117; CHECK-NEXT: %add2 = add i32 1, 218; CHECK-NEXT: %add3 = add i32 1, 219; CHECK-NEXT: ret void20define void @test() {21 %add1 = add i32 1, 222 %sub1 = sub i32 %add1, 123 %add2 = add i32 1, 224 %sub2 = sub i32 %add2, 125 %add3 = add i32 1, 226 %sub3 = sub i32 %add3, 127 ret void28}29