| // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | FileCheck %s | 
 |  | 
 | int x; | 
 | int y(void); | 
 | void foo(); | 
 | void FUNC() { | 
 | // CHECK: [[call:%.*]] = call i32 @y | 
 |   if (__builtin_expect (x, y())) | 
 |     foo (); | 
 | } | 
 |  | 
 | // rdar://9330105 | 
 | void isigprocmask(void); | 
 | long bar(); | 
 |  | 
 | int main() { | 
 |     (void) __builtin_expect((isigprocmask(), 0), bar()); | 
 | } | 
 |  | 
 | // CHECK: call void @isigprocmask() | 
 | // CHECK: [[C:%.*]] = call i64 (...)* @bar() | 
 |  | 
 |  | 
 | // CHECK: @test1 | 
 | int test1(int x) { | 
 | // CHECK: @llvm.expect | 
 |   if (__builtin_expect (x, 1)) | 
 |     return 0; | 
 |   return x; | 
 | } | 
 |  | 
 | // CHECK: @test2 | 
 | int test2(int x) { | 
 | // CHECK: @llvm.expect | 
 |   switch(__builtin_expect(x, 5)) { | 
 |   default: | 
 |     return 0; | 
 |   case 0: | 
 |   case 1: | 
 |   case 2: | 
 |     return 1; | 
 |   case 5: | 
 |     return 5; | 
 |   }; | 
 |  | 
 |   return 0; | 
 | } |