Commit Graph

12 Commits

Author SHA1 Message Date
Bill Wendling 2533842439 Use version 402 for the GCDA files when compiling for Apple.
llvm-svn: 136369
2011-07-28 18:12:20 +00:00
Eli Friedman f7d2340420 Fix build for (some versions of?) MinGW. Patch by Ruben Van Boxem.
llvm-svn: 133741
2011-06-23 18:24:27 +00:00
Francois Pichet 54577dec61 Fix MSVC warning regarding mkdir function usage.
llvm-svn: 132109
2011-05-26 04:55:20 +00:00
Nick Lewycky a7028848a1 The computation of string length is not that complicated. Fix it, again. :)
llvm-svn: 130967
2011-05-05 23:52:18 +00:00
Nick Lewycky 4f9c367f0b Update the gcov version used slightly, to make it stop causing modern gcov's to
crash.

llvm-svn: 130911
2011-05-05 02:46:38 +00:00
Nick Lewycky 892e9934ba Create the parent directories to place the .gcda files in if they don't exist.
That's kinda weird because the .gcno files are supposed to already be there,
but libgcov does this and somehow Google has managed to depend on it.

llvm-svn: 130879
2011-05-04 22:34:29 +00:00
Nick Lewycky 0e5667bc89 Fix crash when not setting GCOV_PREFIX.
llvm-svn: 130834
2011-05-04 03:58:45 +00:00
Nick Lewycky 6aa79492a5 Only read *predecessor once so as to fix a theoretical issue where it changes
between two reads (threading).

Fix an off-by-one in the indirect counter table that I meant to revert after an
earlier experiment. Whoops!

Implement GCOV_PREFIX. Doesn't handle GCOV_PREFIX_STRIP yet.

Fix an off-by-one in string emission. Extra whoops!

Tolerate DISubprograms that have null Function*'s attached to them. I don't yet
understand what this means, but it happens when you have a global static with
a non-trivial constructor/destructor.

Fix a crash on switch statements with a single successor (default-only).

llvm-svn: 130443
2011-04-28 21:35:49 +00:00
Nick Lewycky c58d293a6f Rename everything to follow LLVM style ... I think.
Add support for switch and indirectbr edges. This works by densely numbering
all blocks which have such terminators, and then separately numbering the
possible successors. The predecessors write down a number, the successor knows
its own number (as a ConstantInt) and sends that and the pointer to the number
the predecessor wrote down to the runtime, who looks up the counter in a
per-function table.

Coverage data should now be functional, but I haven't tested it on anything
other than my 2-file synthetic test program for coverage.

llvm-svn: 130186
2011-04-26 03:54:16 +00:00
Benjamin Kramer c186dcf2c5 Write out uint64_t as i{0..32},i{33..64} instead of i{0..32},0.
llvm-svn: 129638
2011-04-16 10:25:32 +00:00
Nick Lewycky 303b5e21fc Don't use C++ comments in C code.
llvm-svn: 129637
2011-04-16 04:25:36 +00:00
Nick Lewycky 966edd068f 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.

llvm-svn: 129630
2011-04-16 01:20:23 +00:00