Add new test to make sure simplifycfg doesn't leave around trivially
authorChris Lattner <sabre@nondot.org>
Sat, 1 Jan 2005 16:00:56 +0000 (16:00 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 1 Jan 2005 16:00:56 +0000 (16:00 +0000)
dead instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19211 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/SimplifyCFG/DeadSetCC.ll [new file with mode: 0644]

diff --git a/test/Transforms/SimplifyCFG/DeadSetCC.ll b/test/Transforms/SimplifyCFG/DeadSetCC.ll
new file mode 100644 (file)
index 0000000..70ccfc8
--- /dev/null
@@ -0,0 +1,26 @@
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep seteq
+
+; Check that simplifycfg deletes a dead 'seteq' instruction when it
+; folds a conditional branch into a switch instruction.
+
+declare void %foo()
+declare void %bar()
+
+void %testcfg(uint %V) {
+       %C = seteq uint %V, 18
+       %D = seteq uint %V, 180
+       %E = or bool %C, %D
+       br bool %E, label %L1, label %Sw
+Sw:
+       switch uint %V, label %L1 [
+              uint 15, label %L2
+              uint 16, label %L2
+        ]
+L1:
+       call void %foo()
+       ret void
+L2:
+       call void %bar()
+       ret void
+}
+