Commit Graph

5 Commits

Author SHA1 Message Date
Justin Bogner
99d6486f4b InstrProf: Add profiling and coverage for members of nominal types
Move the profiler setup logic into an RAII object and use it to set up
profiling for contructors, destructors, and methods.

Swift SVN r25473
2015-02-21 20:15:23 +00:00
Justin Bogner
bd79188932 InstrProf: Remove a declaration that no longer has a definition
Missed this in my previous commit.

Swift SVN r25447
2015-02-21 00:22:49 +00:00
Justin Bogner
783c47620e InstrProf: Fix handling of default arguments
Since we weren't assigning region counters until we were emitting
function bodies, we would crash while walking the expressions in
default arguments. This assigns the counters earlier and fixes up the
ASTWalker to expect that.

Swift SVN r25445
2015-02-21 00:18:45 +00:00
Justin Bogner
d44090d29e InstrProf: Optionally generate coverage maps when profiling
This adds the -profile-coverage-mapping option to swift, and teaches
SILGenProfiling to generate mappings from source ranges to counters.

Swift SVN r25266
2015-02-13 08:42:15 +00:00
Justin Bogner
a49008298e InstrProf: Set up the basic infrastructure for profiling swift
This adds the -profile-generate flag, which enables LLVM's
instrumentation based profiling. It implements the instrumentation
for basic control flow, such as if statements, loops, and closures.

Swift SVN r25155
2015-02-11 01:06:18 +00:00