New testcase
llvm-svn: 4703
diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-11-13-PointerFunction.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-11-13-PointerFunction.ll
new file mode 100644
index 0000000..588c77d
--- /dev/null
+++ b/llvm/test/Regression/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
+}