| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3 |
| ; REQUIRES: x86-registered-target |
| ; Test -sanitizer-coverage-trace-compares=1 API declarations on a non-x86_64 arch |
| ; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=1 -sanitizer-coverage-trace-compares=1 -S | FileCheck %s |
| |
| target triple = "i386-unknown-linux-gnu" |
| define i32 @foo() #0 { |
| ; CHECK-LABEL: define i32 @foo() comdat { |
| ; CHECK-NEXT: entry: |
| ; CHECK-NEXT: call void @__sanitizer_cov_trace_pc_guard(ptr @__sancov_gen_) #[[ATTR1:[0-9]+]] |
| ; CHECK-NEXT: ret i32 0 |
| ; |
| entry: |
| ret i32 0 |
| } |
| |
| ; UTC_ARGS: --disable |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_pc_indir(i32) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_cmp1(i8 zeroext, i8 zeroext) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_cmp2(i16 zeroext, i16 zeroext) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_cmp4(i32 zeroext, i32 zeroext) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_cmp8(i64, i64) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_const_cmp1(i8 zeroext, i8 zeroext) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_const_cmp2(i16 zeroext, i16 zeroext) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_const_cmp4(i32 zeroext, i32 zeroext) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_const_cmp8(i64, i64) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_div4(i32 zeroext) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_div8(i64) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_gep(i32) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_switch(i64, ptr) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_pc() |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_pc_guard(ptr) |
| ; CHECK-DAG: declare void @__sanitizer_cov_trace_pc_guard_init(ptr, ptr) |
| ; CHECK-NOT: declare |