aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-11-13 06:54:00 +0000
committerChris Lattner <sabre@nondot.org>2002-11-13 06:54:00 +0000
commit64c8d3cfb7236cda0eceb165421866b12bf58cb3 (patch)
treea8a206c60342b8d769555e991be89e489da2c74f
parent5b4fe60936a7466ab841bde5ef85da61d59514eb (diff)
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4703 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/LevelRaise/2002-11-13-PointerFunction.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Transforms/LevelRaise/2002-11-13-PointerFunction.ll b/test/Transforms/LevelRaise/2002-11-13-PointerFunction.ll
new file mode 100644
index 0000000000..588c77dc18
--- /dev/null
+++ b/test/Transforms/LevelRaise/2002-11-13-PointerFunction.ll
@@ -0,0 +1,13 @@
+; This testcase should be able to eliminate at least one of the casts.
+;
+; RUN: if as < %s | opt -raise | dis | grep 'REMOVE'
+; RUN: then exit 1
+; RUN: else exit 0
+; RUN: fi
+
+int %foo(sbyte * %PF) {
+ %UPF = cast sbyte* %PF to uint()*
+ %Ret = call uint %UPF()
+ %REMOVE = cast uint %Ret to int
+ ret int %REMOVE
+}