Mercurial > hg > CbC > CbC_llvm
diff llvm/test/Transforms/StructurizeCFG/no-branch-to-entry.ll @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/llvm/test/Transforms/StructurizeCFG/no-branch-to-entry.ll Thu Feb 13 15:10:13 2020 +0900 @@ -0,0 +1,38 @@ +; XFAIL: * + +; This test used to generate a region that caused it to delete the entry block, +; but it does not anymore after the changes to handling of infinite loops in the +; PostDominatorTree. +; TODO: This should be either replaced with another IR or deleted completely. + +; RUN: opt -S -o - -structurizecfg -verify-dom-info < %s | FileCheck %s + +; CHECK-LABEL: @no_branch_to_entry_undef( +; CHECK: entry: +; CHECK-NEXT: br label %entry.orig +define void @no_branch_to_entry_undef(i32 addrspace(1)* %out) { +entry: + br i1 undef, label %for.end, label %for.body + +for.body: ; preds = %entry, %for.body + store i32 999, i32 addrspace(1)* %out, align 4 + br label %for.body + +for.end: ; preds = %Flow + ret void +} + +; CHECK-LABEL: @no_branch_to_entry_true( +; CHECK: entry: +; CHECK-NEXT: br label %entry.orig +define void @no_branch_to_entry_true(i32 addrspace(1)* %out) { +entry: + br i1 true, label %for.end, label %for.body + +for.body: ; preds = %entry, %for.body + store i32 999, i32 addrspace(1)* %out, align 4 + br label %for.body + +for.end: ; preds = %Flow + ret void +}