Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / CodeGen / X86 / basic-block-sections-unreachable.ll
blobd585007bd48e4bd5ff2c548d8a66cab874d83a9a
1 ; Check that basic block section is emitted when a non-entry block has no predecessors.
2 ; RUN: llc < %s -mtriple=x86_64 -O0 -basic-block-sections=all | FileCheck %s --check-prefix=CHECK-SECTIONS
3 ; RUN: llc < %s -mtriple=x86_64 -O0 | FileCheck %s --check-prefix=CHECK-NOSECTIONS
4 define void @foo(ptr %bar) {
5   %v = load i32, ptr %bar
6   switch i32 %v, label %default [
7     i32 0, label %target
8   ]
9 target:
10   ret void
11 ;; This is the block which will not have any predecessors. If the block is not garbage collected, it must
12 ;; be placed in a basic block section with a corresponding symbol.
13 default:
14   unreachable
15 ; CHECK-NOSECTIONS:     # %bb.2:     # %default
16 ; CHECK-SECTIONS:       .section .text.foo,"ax",@progbits,unique,2
17 ; CHECK-SECTIONS-NEXT:  foo.__part.2:       # %default