History log of /external/llvm/include/llvm/Transforms/Instrumentation.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b4ba5e68e1ac00bfb93572a1f271673deefd7ea9 14-Mar-2013 Alexey Samsonov <samsonov@google.com> [ASan] emit instrumentation for initialization order checking by default

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
a204ef3168c8804808c716115ba915c89d8849b9 14-Mar-2013 Nick Lewycky <nicholas@mxc.ca> Refactor GCOV's six constructor arguments into a struct with a getter that
constructs default arguments. It can now take default arguments from
cl::opt'ions. Add a new -default-gcov-version=... option, and actually test it!

Sink the reverse-order of the version into GCOVProfiling, hiding it from our
users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
d9686a98b8145010516c44a3a5b9b96bf934b9ac 07-Mar-2013 Nick Lewycky <nicholas@mxc.ca> Switch from a version 4.2/4.4 switch to a four-byte version string to be put
into the actual gcov file.

Instead of using the bottom 4 bytes as the function identifier, use a counter.
This makes the identifier numbers stable across multiple runs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
52b4edf6a1b5d3a9f8a94a63c702d55ed446ecdb 27-Feb-2013 Nick Lewycky <nicholas@mxc.ca> In GCC 4.7, function names are now forbidden from .gcda files. Support this by
passing a null pointer to the function name in to GCDAProfiling, and add another
switch onto GCOVProfiling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
11af9a873f9e1409a422ab31e22729368805afaf 17-Jan-2013 Alexey Samsonov <samsonov@google.com> ASan: add optional 'zero-based shadow' option to ASan passes. Always tell the values of shadow scale and offset to the runtime

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
f045df1b8b7f80e17e34c2b5639082a1d0e289ae 28-Dec-2012 Alexey Samsonov <samsonov@google.com> Add proper support for -fsanitize-blacklist= flag for TSan and MSan. LLVM part.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
33660cdfbd521f39982e86844db6784848b8f5d5 19-Dec-2012 Evgeniy Stepanov <eugeni.stepanov@gmail.com> [msan] Add track-origins argument to the pass constructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
08e13e4488cde76fc51f942e773874627a88eeae 10-Dec-2012 Bill Wendling <isanbard@gmail.com> Don't use a red zone for code coverage if the user specified `-mno-red-zone'.

The `-mno-red-zone' flag wasn't being propagated to the functions that code
coverage generates. This allowed some of them to use the red zone when that
wasn't allowed.
<rdar://problem/12843084>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
b0dcf61252e58715a3bea79f4c112572df361c30 03-Dec-2012 Alexey Samsonov <samsonov@google.com> ASan: add blacklist file to ASan pass options. Clang patch for this will follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
ee548275c63a1eeffda9d3edd2bea04e1dadcc67 29-Nov-2012 Alexey Samsonov <samsonov@google.com> Add options to AddressSanitizer passes to make them configurable by frontend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
aa4f97d6ed9c2b6db6a902d796d86d566c804008 29-Nov-2012 Evgeniy Stepanov <eugeni.stepanov@gmail.com> Initial commit of MemorySanitizer.

Compiler pass only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
1416edc30adbd53b2be863f7f3de56de4a4c9d0a 28-Nov-2012 Kostya Serebryany <kcc@google.com> [asan] Split AddressSanitizer into two passes (FunctionPass, ModulePass), LLVM part. This requires a clang part which will follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
f284aefa112b76d64917b156cf5fa7997fb0bdac 23-Nov-2012 Joey Gouly <joey.gouly@arm.com> Remove unused parameter Penalty from the BoundsChecking pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
ee4edeccabe1854ee895f52d4ac5588bd5f40c80 15-Oct-2012 Kostya Serebryany <kcc@google.com> [asan] make AddressSanitizer to be a FunctionPass instead of ModulePass. This will simplify chaining other FunctionPasses with asan. Also some minor cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
78435f6bb7574d3d26f8c5151e2c140c525b7994 21-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> move the bounds checking pass to the instrumentation folder, where it belongs. I dunno why in the world I dropped it in the Scalar folder in the first place.
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
60ebb1947faed42e493179e569c5db0c01d38a2a 13-Feb-2012 Kostya Serebryany <kcc@google.com> ThreadSanitizer, a race detector. First LLVM commit.
Clang patch (flags) will follow shortly.
The run-time library will also follow, but not immediately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
7c0674100443b4115d2fd6472e59cd8dcb9cc6d4 06-Dec-2011 Nick Lewycky <nicholas@mxc.ca> Expose a switch for the new gcov format.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
800e03f59896ef4b26d988f1878370bb5aeec0d8 16-Nov-2011 Kostya Serebryany <kcc@google.com> AddressSanitizer, first commit (compiler module only)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
f5c95b889f270f170ff4f6a24b082be5bb68296e 18-May-2011 Bill Wendling <isanbard@gmail.com> Conditionalize the format of the GCOV files by target type. Darwin uses the 4.2
format.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
a61e52c9b7cf874b46cef687c1c4627a35952542 21-Apr-2011 Nick Lewycky <nicholas@mxc.ca> Add independent controls for whether GCOV profiling should emit .gcno files or
instrument the program to emit .gcda.
TODO: we should emit slightly different .gcda files when .gcno emission is off.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
b1928704201034c785a26296a49f69355eb56a05 16-Apr-2011 Nick Lewycky <nicholas@mxc.ca> Rename LineProfiling to GCOVProfiling to more accurately represent what it
does. Also mostly implement it. Still a work-in-progress, but generates legal
output on crafted test cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
93b68b20d46f52e2df6914343f1c54c96d6bdf3d 12-Apr-2011 Nick Lewycky <nicholas@mxc.ca> Add support for line profiling. Very work-in-progress.

Use debug info in the IR to find the directory/file:line:col. Each time that location changes, bump a counter.

Unlike the existing profiling system, we don't try to look at argv[], and thusly don't require main() to be present in the IR. This matches GCC's technique where you specify the profiling flag when producing each .o file.

The runtime library is minimal, currently just calling printf at program shutdown time. The API is designed to make it possible to emit GCOV data later on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
04317cc618aeae28910916469e074d8ce0fcaa03 29-Jan-2011 Andrew Trick <atrick@apple.com> Implementation of path profiling.
Modified patch by Adam Preuss.

This builds on the existing framework for block tracing, edge profiling and optimal edge profiling.
See -help-hidden for new flags.
For documentation, see the technical report "Implementation of Path Profiling..." in llvm.org/pubs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
5fadf1770901ae9ce231d9a68cb68da7bc4f2a91 02-Jan-2010 Chris Lattner <sabre@nondot.org> remove the random sampling framework, which is not maintained anymore.
If there is interest, it can be resurrected from SVN. PR4912.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
ad09d42e04d16fe4abe36e4642de22805dbe2752 01-Sep-2009 Andreas Neustifter <astifter-llvm@gmx.at> Addedum to r80712, forgot to add files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
29d8aa78773f0956c9b33170382403e5a61036f1 06-Mar-2008 Gabor Greif <ggreif@gmail.com> fix typos

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
0963ad5271c1c9c96defe51a5420115e38967f38 20-Feb-2007 Chris Lattner <sabre@nondot.org> remove some dead passes and stuff specific to the reoptimizer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
fd0cf616709cecf1bbb276ecfa20d489b295eccb 07-Jan-2007 Chris Lattner <sabre@nondot.org> remove an old instrumentation pass that is not used anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
bb227c1b798f6d91dd946a0a9db79d1941911fab 28-Nov-2005 Andrew Lenharth <andrewl@lenharth.org> Added documented rsprofiler interface. Also remove new profiler passes, the
old ones have been updated to implement the interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
701f5ac73c782da45d5007f72f7d3dc514166acd 28-Nov-2005 Andrew Lenharth <andrewl@lenharth.org> Random sampling (aka Arnold and Ryder) profiling. This is still preliminary, but it works on spec on x86 and alpha. The idea is to allow profiling passes to remember what profiling they inserted, then a random sampling framework is inserted which consists of duplicated basic blocks (without profiling), such that at each backedge in the program and entry into every function, the framework chooses whether to use the instrumented code or the instrumentation free code. The goal of such a framework is to make it reasonably cheap to do random sampling of very expensive profiling products (such as load-value profiling).

The code is organized into 3 parts (2 passes)
1) a linked set of profiling passes, which implement an analysis group (linked, like alias analysis are). These insert profiling into the program, and remember what they inserted, so that at a later time they can be queried about any instruction.

2) a pass that handles inserting the random sampling framework. This also has options to control how random samples are choosen. Currently implemented are Global counters, register allocated global counters, and read cycle counter (see? there was a reason for it).

The profiling passes are almost identical to the existing ones (block, function, and null profiling is supported right now), and they are valid passes without the sampling framework (hence the existing passes can be unified with the new ones, not done yet).

Some things are a bit ugly still, but that should be fixed up soon enough.

Other todo? making the counter values not "magic 2^16 -1" values, but dynamically choosable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
34695381d626485a560594f162701088079589df 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
d9ed8c888016d15eded298c25bc8bdeffcb8d155 07-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Add missing createXxxPass functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
835ca25de62beba45ea906a7b67c85fdc6237ccf 07-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Fix return type


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
466d9398c58fbcd13e00ebfabe340a4901be23e8 06-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Fix incorrect return type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
f858f7f3804ea20b80a38dab9b1b2d098e1df2a1 30-Sep-2004 Brian Gaeke <gaeke@uiuc.edu> Add accessor function prototypes for reoptimizer support passes.
Make accessors return FunctionPass* as appropriate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM copyright header (for lack of a better term).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h
b9eca537d08de504d43a9698244d32a59b359176 14-Jan-2003 Chris Lattner <sabre@nondot.org> New header


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Instrumentation.h