diff options
-rw-r--r-- | test/Transforms/LevelRaise/2002-11-13-PointerFunction.ll | 13 |
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 +} |