From c59286bff1cca8c4fa15f390c9002db94117614e Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Sun, 28 Feb 2010 09:46:06 +0000 Subject: Add indirect br support to llvm-c and ocaml. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97376 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Bindings/Ocaml/vmcore.ml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'test/Bindings') diff --git a/test/Bindings/Ocaml/vmcore.ml b/test/Bindings/Ocaml/vmcore.ml index 57a8425..9a2f547 100644 --- a/test/Bindings/Ocaml/vmcore.ml +++ b/test/Bindings/Ocaml/vmcore.ml @@ -897,6 +897,23 @@ let test_builder () = let si = build_switch p1 bb3 1 (builder_at_end context bb1) in ignore (add_case si (const_int i32_type 2) bb2) end; + + group "indirectbr"; begin + (* RUN: grep {indirectbr i8\\* blockaddress(@X7, %IBRBlock2), \\\[label %IBRBlock2, label %IBRBlock3\\\]} < %t.ll + *) + let bb1 = append_block context "IBRBlock1" fn in + + let bb2 = append_block context "IBRBlock2" fn in + ignore (build_unreachable (builder_at_end context bb2)); + + let bb3 = append_block context "IBRBlock3" fn in + ignore (build_unreachable (builder_at_end context bb3)); + + let addr = block_address fn bb2 in + let ibr = build_indirect_br addr 2 (builder_at_end context bb1) in + ignore (add_destination ibr bb2); + ignore (add_destination ibr bb3) + end; group "invoke"; begin (* RUN: grep {build_invoke.*invoke.*P1.*P2} < %t.ll -- cgit v1.1