]> granicus.if.org Git - clang/commit
Support using sample profiles with partial debug info (driver)
authorDiego Novillo <dnovillo@google.com>
Wed, 22 Oct 2014 13:00:05 +0000 (13:00 +0000)
committerDiego Novillo <dnovillo@google.com>
Wed, 22 Oct 2014 13:00:05 +0000 (13:00 +0000)
commitf19c7ec87e843e6c36e15cc6ce4afddd3a08797c
tree4c78290a0b9a1a96d6d0343c44f3f522f3288329
parent9c252ed75cab6ba3e4757c24718dd267ea1591ad
Support using sample profiles with partial debug info (driver)

Summary:
When using a profile, we used to require the use -gmlt so that we could
get access to the line locations. This is used to match line numbers in
the input profile to the line numbers in the function's IR.

But this is actually not necessary. The driver can provide source
location tracking without the emission of debug information. In these
cases, the annotation 'llvm.dbg.cu' is missing from the IR, but the
actual line location annotations are still present.

This patch tells the driver to only emit source location tracking
when -fprofile-sample-use is present in the command line.

Reviewers: echristo, dblaikie

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D5888

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220383 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Frontend/CompilerInvocation.cpp
test/Frontend/Inputs/profile-sample-use-loc-tracking.prof [new file with mode: 0644]
test/Frontend/profile-sample-use-loc-tracking.c [new file with mode: 0644]