From 2439911ac5f386fd208407afa3b6d2cab670ee2f Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Tue, 15 Jul 2008 14:42:58 +0000 Subject: [PATCH] Add a testcase for the canonicalizations now performed by deadargelim. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53611 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/DeadArgElim/canon.ll | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/Transforms/DeadArgElim/canon.ll diff --git a/test/Transforms/DeadArgElim/canon.ll b/test/Transforms/DeadArgElim/canon.ll new file mode 100644 index 00000000000..b8adb713a7a --- /dev/null +++ b/test/Transforms/DeadArgElim/canon.ll @@ -0,0 +1,24 @@ +; This test shows a few canonicalizations made by deadargelim +; RUN: llvm-as < %s | opt -deadargelim | llvm-dis > %t +; This test should remove {} and replace it with void +; RUN: cat %t | grep {define internal void @test} +; This test shouls replace the {i32} return value with just i32 +; RUN: cat %t | grep {define internal i32 @test2} + +define internal {} @test() { + ret {} undef +} + +define internal {i32} @test2() { + ret {i32} undef; +} + +define void @caller() { + call {} @test() + %X = call {i32} @test2(); + %Y = extractvalue {i32} %X, 0 + call void @user(i32 %Y, {i32} %X) + ret void +} + +declare void @user(i32, {i32})