builtin-expect.c revision ec9919549095390b5737c561544f8bd49fc894de
1ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanian// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | FileCheck %s 2e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanian 3e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanianint x; 4e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanianint y(void); 5e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanianvoid foo(); 6e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanianvoid FUNC() { 7e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanian// CHECK: [[call:%.*]] = call i32 @y 8e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanian if (__builtin_expect (x, y())) 9e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanian foo (); 10e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanian} 11e42b8a596886fc98e367c73e54d761446700029eFariborz Jahanian 12ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanian// rdar://9330105 13ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanianvoid isigprocmask(void); 14ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanianlong bar(); 15ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanian 16ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanianint main() { 17ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanian (void) __builtin_expect((isigprocmask(), 0), bar()); 18ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanian} 19ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanian 20ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanian// CHECK: call void @isigprocmask() 21ec9919549095390b5737c561544f8bd49fc894deFariborz Jahanian// CHECK: [[C:%.*]] = call i64 (...)* @bar() 22