diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2013-08-09 22:47:24 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2013-08-09 22:47:24 +0000 |
commit | 835738ce54edb4746cfa4cdfc76608fec03fab3a (patch) | |
tree | 9779f15e32d20228d7528ca356b2b82e524f7e0e /test/Instrumentation | |
parent | aaae6e9cb8c8567409739d7cde1c5caaf35810cf (diff) | |
download | external_llvm-835738ce54edb4746cfa4cdfc76608fec03fab3a.zip external_llvm-835738ce54edb4746cfa4cdfc76608fec03fab3a.tar.gz external_llvm-835738ce54edb4746cfa4cdfc76608fec03fab3a.tar.bz2 |
Kill some duplicated code for removing unreachable BBs.
This moves removeUnreachableBlocksFromFn from SimplifyCFGPass.cpp
to Utils/Local.cpp and uses it to replace the implementation of
llvm::removeUnreachableBlocks, which appears to do a strict subset
of what removeUnreachableBlocksFromFn does.
Differential Revision: http://llvm-reviews.chandlerc.com/D1334
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188119 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Instrumentation')
-rw-r--r-- | test/Instrumentation/DataFlowSanitizer/args-unreachable-bb.ll | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/test/Instrumentation/DataFlowSanitizer/args-unreachable-bb.ll b/test/Instrumentation/DataFlowSanitizer/args-unreachable-bb.ll index db3dd83..b91f321 100644 --- a/test/Instrumentation/DataFlowSanitizer/args-unreachable-bb.ll +++ b/test/Instrumentation/DataFlowSanitizer/args-unreachable-bb.ll @@ -1,8 +1,8 @@ ; RUN: opt < %s -dfsan -verify -dfsan-args-abi -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" -define i8 @unreachable_bb() { - ; CHECK: @unreachable_bb +; CHECK-LABEL: @unreachable_bb1 +define i8 @unreachable_bb1() { ; CHECK: ret { i8, i16 } { i8 1, i16 0 } ; CHECK-NOT: bb2: ; CHECK-NOT: bb3: @@ -18,3 +18,13 @@ bb3: bb4: br label %bb3 } + +declare void @abort() noreturn + +; CHECK-LABEL: @unreachable_bb2 +define i8 @unreachable_bb2() { + call void @abort() noreturn + ; CHECK-NOT: i8 12 + ; CHECK: unreachable + ret i8 12 +} |