1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -S -emit-llvm -triple %itanium_abi_triple -o - %s -finstrument-functions | FileCheck %s 27aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek 37aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// CHECK: @_Z5test1i 47aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenekint test1(int x) { 57aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// CHECK: __cyg_profile_func_enter 67aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// CHECK: __cyg_profile_func_exit 77aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// CHECK: ret 87aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek return x; 97aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek} 107aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek 117aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// CHECK: @_Z5test2i 127aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenekint test2(int) __attribute__((no_instrument_function)); 137aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenekint test2(int x) { 147aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// CHECK-NOT: __cyg_profile_func_enter 157aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// CHECK-NOT: __cyg_profile_func_exit 167aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// CHECK: ret 177aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek return x; 187aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek} 197aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek 207aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// This test case previously crashed code generation. It exists solely 217aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// to test -finstrument-function does not crash codegen for this trivial 227aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek// case. 237aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremeneknamespace rdar9445102 { 247aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek class Rdar9445102 { 257aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek public: 267aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek Rdar9445102(); 277aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek }; 287aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek} 297aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenekstatic rdar9445102::Rdar9445102 s_rdar9445102Initializer; 307aa488a7fc5c3a8cd1a2b93476150e9737760713Ted Kremenek 31