From d7bb295d223e028aa9ba7fbeafc8928db4a74972 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Sun, 10 Apr 2011 00:04:27 +0000 Subject: Beginning of the Great Exception Handling Rewrite. * Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute. Later: The verifier will ensure that the landing pad attribute is used in the appropriate manner. I.e., not applied to the entry block, and applied only to basic blocks that are branched to via a `dispatch' instruction. (This is a work-in-progress.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129235 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Feature/bb_attrs.ll | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 test/Feature/bb_attrs.ll (limited to 'test/Feature') diff --git a/test/Feature/bb_attrs.ll b/test/Feature/bb_attrs.ll new file mode 100644 index 0000000000..af2af31d69 --- /dev/null +++ b/test/Feature/bb_attrs.ll @@ -0,0 +1,29 @@ +; RUN: llvm-as < %s | llvm-dis > %t1.ll +; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll +; RUN: diff %t1.ll %t2.ll + +; Test for basic block attributes. + +define i32 @f1(i32 %a) { +entry: + %cmp = icmp slt i32 %a, 37 + br i1 %cmp, label %bb, label %lpad + +bb: + ret i32 37 + +lpad: landingpad + ret i32 927 +} + +define i32 @f2(i32 %a) { +; entry : 0 + %1 = icmp slt i32 %a, 37 + br i1 %1, label %2, label %3 + +; bb : 2 + ret i32 37 + +landingpad ; bb : 3 + ret i32 927 +} -- cgit v1.2.3