[ConstraintElimination] Add test for debug printing.
authorFlorian Hahn <flo@fhahn.com>
Mon, 3 Oct 2022 19:56:39 +0000 (20:56 +0100)
committerFlorian Hahn <flo@fhahn.com>
Mon, 3 Oct 2022 19:56:39 +0000 (20:56 +0100)
llvm/test/Transforms/ConstraintElimination/debug.ll [new file with mode: 0644]

diff --git a/llvm/test/Transforms/ConstraintElimination/debug.ll b/llvm/test/Transforms/ConstraintElimination/debug.ll
new file mode 100644 (file)
index 0000000..c4eb291
--- /dev/null
@@ -0,0 +1,32 @@
+; RUN: opt -passes=constraint-elimination -S -debug %s 2>&1 | FileCheck %s
+
+; REQUIRES: asserts
+
+declare void @use(i1)
+
+define i1 @test_and_ule(i4 %x, i4 %y, i4 %z) {
+; CHECK:      Processing   %c.1 = icmp ule i4 %x, %y
+; CHECK-NEXT: Adding 'ule %x, %y'
+; CHECK-NEXT:  constraint: %x + -1 * %y <= 0
+
+; CHECK:      Processing   %c.2 = icmp ule i4 %y, %z
+; CHECK-NEXT: Adding 'ule %y, %z'
+; CHECK-NEXT:  constraint: %y + -1 * %z <= 0
+
+; CHECK: Checking   %t.1 = icmp ule i4 %x, %z
+; CHECK: Condition   %t.1 = icmp ule i4 %x, %z implied by dominating constraints
+
+entry:
+  %c.1 = icmp ule i4 %x, %y
+  %c.2 = icmp ule i4 %y, %z
+  %and = and i1 %c.1, %c.2
+  br i1 %and, label %bb1, label %exit
+
+bb1:
+  %t.1 = icmp ule i4 %x, %z
+  ret i1 %t.1
+
+exit:
+  %c.3 = icmp ule i4 %x, %z
+  ret i1 %c.3
+}