mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-28 07:49:01 -04:00

Instructions from __nodebug__ functions don't have file:line information even when inlined into no-nodebug functions. As a result, intrinsics (SSE and other) from <*intrin.h> clang headers _never_ have file:line information. With this change, an instruction without !dbg metadata gets one from the call instruction when inlined. Fixes PR19001. llvm-svn: 210459
13 lines
436 B
C
13 lines
436 B
C
// RUN: %clang_cc1 -ffreestanding -triple x86_64-apple-macosx10.8.0 -target-feature +sse4.1 -g -emit-llvm %s -o - | FileCheck %s
|
|
|
|
// Test that intrinsic calls inlined from _mm_* wrappers have debug metadata.
|
|
|
|
#include <xmmintrin.h>
|
|
|
|
__m128 test_rsqrt_ss(__m128 x) {
|
|
// CHECK: define {{.*}} @test_rsqrt_ss
|
|
// CHECK: call <4 x float> @llvm.x86.sse.rsqrt.ss({{.*}}, !dbg !{{.*}}
|
|
// CHECK: ret <4 x float>
|
|
return _mm_rsqrt_ss(x);
|
|
}
|