From 835738ce54edb4746cfa4cdfc76608fec03fab3a Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Fri, 9 Aug 2013 22:47:24 +0000 Subject: 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 --- .../DataFlowSanitizer/args-unreachable-bb.ll | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'test/Instrumentation') 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 +} -- cgit v1.1