diff options
Diffstat (limited to 'test/CodeGen/Hexagon')
-rw-r--r-- | test/CodeGen/Hexagon/adde.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/hwloop-dbg.ll | 23 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/i16_VarArg.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/i1_VarArg.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/i8_VarArg.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/indirect-br.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/sube.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/tail-call-trunc.ll | 28 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/zextloadi1.ll | 2 |
9 files changed, 47 insertions, 18 deletions
diff --git a/test/CodeGen/Hexagon/adde.ll b/test/CodeGen/Hexagon/adde.ll index 9cee3e2..6d060c1 100644 --- a/test/CodeGen/Hexagon/adde.ll +++ b/test/CodeGen/Hexagon/adde.ll @@ -31,4 +31,4 @@ entry: %tmp2122 = trunc i128 %tmp21 to i64 store i64 %tmp2122, i64* %RH ret void -}
\ No newline at end of file +} diff --git a/test/CodeGen/Hexagon/hwloop-dbg.ll b/test/CodeGen/Hexagon/hwloop-dbg.ll index 17fe7b9..fce6d19 100644 --- a/test/CodeGen/Hexagon/hwloop-dbg.ll +++ b/test/CodeGen/Hexagon/hwloop-dbg.ll @@ -34,28 +34,29 @@ for.end: ; preds = %for.body declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone -!0 = metadata !{i32 786449, i32 0, i32 12, metadata !"hwloop-dbg.c", metadata !"/usr2/kparzysz/s.hex/t", metadata !"QuIC LLVM Hexagon Clang version 6.1-pre-unknown, (git://git-hexagon-aus.quicinc.com/llvm/clang-mainline.git e9382867661454cdf44addb39430741578e9765c) (llvm/llvm-mainline.git 36412bb1fcf03ed426d4437b41198bae066675ac)", i1 true, i1 true, metadata !"", i32 0, metadata !1, metadata !1, metadata !3, metadata !1} ; [ DW_TAG_compile_unit ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c] [DW_LANG_C99] -!1 = metadata !{metadata !2} +!llvm.dbg.cu = !{!0} + +!0 = metadata !{i32 786449, metadata !28, i32 12, metadata !"QuIC LLVM Hexagon Clang version 6.1-pre-unknown, (git://git-hexagon-aus.quicinc.com/llvm/clang-mainline.git e9382867661454cdf44addb39430741578e9765c) (llvm/llvm-mainline.git 36412bb1fcf03ed426d4437b41198bae066675ac)", i1 true, metadata !"", i32 0, metadata !2, metadata !2, metadata !3, metadata !2, null, metadata !""} ; [ DW_TAG_compile_unit ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c] [DW_LANG_C99] !2 = metadata !{i32 0} -!3 = metadata !{metadata !4} -!4 = metadata !{metadata !5} -!5 = metadata !{i32 786478, i32 0, metadata !6, metadata !"foo", metadata !"foo", metadata !"", metadata !6, i32 1, metadata !7, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 true, void (i32*, i32*)* @foo, null, null, metadata !11, i32 1} ; [ DW_TAG_subprogram ] [line 1] [def] [foo] -!6 = metadata !{i32 786473, metadata !"hwloop-dbg.c", metadata !"/usr2/kparzysz/s.hex/t", null} ; [ DW_TAG_file_type ] +!3 = metadata !{metadata !5} +!5 = metadata !{i32 786478, metadata !28, null, metadata !"foo", metadata !"foo", metadata !"", i32 1, metadata !7, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 true, void (i32*, i32*)* @foo, null, null, metadata !11, i32 1} ; [ DW_TAG_subprogram ] [line 1] [def] [foo] +!6 = metadata !{i32 786473, metadata !28} ; [ DW_TAG_file_type ] !7 = metadata !{i32 786453, i32 0, metadata !"", i32 0, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !8, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] !8 = metadata !{null, metadata !9, metadata !9} -!9 = metadata !{i32 786447, null, metadata !"", null, i32 0, i64 32, i64 32, i64 0, i32 0, metadata !10} ; [ DW_TAG_pointer_type ] [line 0, size 32, align 32, offset 0] [from int] -!10 = metadata !{i32 786468, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed] +!9 = metadata !{i32 786447, null, null, metadata !"", i32 0, i64 32, i64 32, i64 0, i32 0, metadata !10} ; [ DW_TAG_pointer_type ] [line 0, size 32, align 32, offset 0] [from int] +!10 = metadata !{i32 786468, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed] !11 = metadata !{metadata !12} !12 = metadata !{metadata !13, metadata !14, metadata !15} !13 = metadata !{i32 786689, metadata !5, metadata !"a", metadata !6, i32 16777217, metadata !9, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [a] [line 1] !14 = metadata !{i32 786689, metadata !5, metadata !"b", metadata !6, i32 33554433, metadata !9, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [b] [line 1] !15 = metadata !{i32 786688, metadata !16, metadata !"i", metadata !6, i32 2, metadata !10, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [i] [line 2] -!16 = metadata !{i32 786443, metadata !5, i32 1, i32 26, metadata !6, i32 0} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c] +!16 = metadata !{i32 786443, metadata !28, metadata !5, i32 1, i32 26, i32 0} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c] !17 = metadata !{i32 1, i32 15, metadata !5, null} !18 = metadata !{i32 1, i32 23, metadata !5, null} !19 = metadata !{i32 3, i32 8, metadata !20, null} -!20 = metadata !{i32 786443, metadata !16, i32 3, i32 3, metadata !6, i32 1} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c] +!20 = metadata !{i32 786443, metadata !28, metadata !16, i32 3, i32 3, i32 1} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c] !21 = metadata !{i32 4, i32 5, metadata !22, null} -!22 = metadata !{i32 786443, metadata !20, i32 3, i32 28, metadata !6, i32 2} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c] +!22 = metadata !{i32 786443, metadata !28, metadata !20, i32 3, i32 28, i32 2} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c] !26 = metadata !{i32 3, i32 23, metadata !20, null} !27 = metadata !{i32 6, i32 1, metadata !16, null} +!28 = metadata !{metadata !"hwloop-dbg.c", metadata !"/usr2/kparzysz/s.hex/t"} diff --git a/test/CodeGen/Hexagon/i16_VarArg.ll b/test/CodeGen/Hexagon/i16_VarArg.ll index eb44c29..c5d05a5 100644 --- a/test/CodeGen/Hexagon/i16_VarArg.ll +++ b/test/CodeGen/Hexagon/i16_VarArg.ll @@ -37,4 +37,4 @@ define i32 @main() { %ne_s = getelementptr [13 x i8]* @ne_str, i64 0, i64 0 call i32 (i8*, ...)* @printf( i8* %lt_s, i16 %val1 ) ret i32 0 -}
\ No newline at end of file +} diff --git a/test/CodeGen/Hexagon/i1_VarArg.ll b/test/CodeGen/Hexagon/i1_VarArg.ll index 7dbfb25..37f2778 100644 --- a/test/CodeGen/Hexagon/i1_VarArg.ll +++ b/test/CodeGen/Hexagon/i1_VarArg.ll @@ -41,4 +41,4 @@ define i32 @main() { call i32 (i8*, ...)* @printf( i8* %eq_s, i1 %eq_r ) call i32 (i8*, ...)* @printf( i8* %ne_s, i1 %ne_r ) ret i32 0 -}
\ No newline at end of file +} diff --git a/test/CodeGen/Hexagon/i8_VarArg.ll b/test/CodeGen/Hexagon/i8_VarArg.ll index 687b178..6f056ff 100644 --- a/test/CodeGen/Hexagon/i8_VarArg.ll +++ b/test/CodeGen/Hexagon/i8_VarArg.ll @@ -37,4 +37,4 @@ define i32 @main() { %ne_s = getelementptr [13 x i8]* @ne_str, i64 0, i64 0 call i32 (i8*, ...)* @printf( i8* %lt_s, i8 %val1 ) ret i32 0 -}
\ No newline at end of file +} diff --git a/test/CodeGen/Hexagon/indirect-br.ll b/test/CodeGen/Hexagon/indirect-br.ll index 919e501..188eebf 100644 --- a/test/CodeGen/Hexagon/indirect-br.ll +++ b/test/CodeGen/Hexagon/indirect-br.ll @@ -11,4 +11,4 @@ test_label: ret: ret i32 -1 -}
\ No newline at end of file +} diff --git a/test/CodeGen/Hexagon/sube.ll b/test/CodeGen/Hexagon/sube.ll index 84172e9..735ac9e 100644 --- a/test/CodeGen/Hexagon/sube.ll +++ b/test/CodeGen/Hexagon/sube.ll @@ -26,4 +26,4 @@ entry: %tmp2122 = trunc i128 %tmp21 to i64 store i64 %tmp2122, i64* %RH ret void -}
\ No newline at end of file +} diff --git a/test/CodeGen/Hexagon/tail-call-trunc.ll b/test/CodeGen/Hexagon/tail-call-trunc.ll new file mode 100644 index 0000000..98214c7 --- /dev/null +++ b/test/CodeGen/Hexagon/tail-call-trunc.ll @@ -0,0 +1,28 @@ +; RUN: llc -march=hexagon < %s | FileCheck %s + +declare i32 @ret_i32() + +define i8 @test_i8() { +; CHECK-LABEL: test_i8: +; CHECK: jump ret_i32 + %res = tail call i32 @ret_i32() + %val = trunc i32 %res to i8 + ret i8 %val +} + +define i16 @test_i16() { +; CHECK-LABEL: test_i16: +; CHECK: jump ret_i32 + %res = tail call i32 @ret_i32() + %val = trunc i32 %res to i16 + ret i16 %val +} + +declare i64 @ret_i64() +define i32 @test_i32() { +; CHECK-LABEL: test_i32: +; CHECK: call ret_i64 + %res = tail call i64 @ret_i64() + %val = trunc i64 %res to i32 + ret i32 42 +} diff --git a/test/CodeGen/Hexagon/zextloadi1.ll b/test/CodeGen/Hexagon/zextloadi1.ll index cb6e6fd..b58d933 100644 --- a/test/CodeGen/Hexagon/zextloadi1.ll +++ b/test/CodeGen/Hexagon/zextloadi1.ll @@ -22,4 +22,4 @@ define void @i65_ls() nounwind { %tmp = load i65* @i65_l store i65 %tmp, i65* @i65_s ret void -}
\ No newline at end of file +} |