diff options
Diffstat (limited to 'test/Analysis')
-rw-r--r-- | test/Analysis/Lint/noop-cast-expr-no-pointer.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Analysis/Lint/noop-cast-expr-no-pointer.ll b/test/Analysis/Lint/noop-cast-expr-no-pointer.ll new file mode 100644 index 00000000000..b9258711428 --- /dev/null +++ b/test/Analysis/Lint/noop-cast-expr-no-pointer.ll @@ -0,0 +1,23 @@ +; RUN: opt -lint < %s + +; lint shouldn't crash on any of the below functions + +@g_1 = external global [3 x i32] +@g_2 = external global [2 x i32] + +define void @test1() { +entry: + tail call void @f1(i16 zext (i1 icmp eq (i32* getelementptr inbounds ([2 x i32], [2 x i32]* @g_2, i64 0, i64 0), i32* getelementptr inbounds ([3 x i32], [3 x i32]* @g_1, i64 0, i64 1)) to i16)) + ret void +} + +declare void @f1(i16) + +define void @test2() { + tail call void inttoptr (i64 sext (i32 ptrtoint (void ()* @f2 to i32) to i64) to void ()*)() + + ret void +} + +declare void @f2() + |