OSDN Git Service

Only read *predecessor once so as to fix a theoretical issue where it changes
authorNick Lewycky <nicholas@mxc.ca>
Thu, 28 Apr 2011 21:35:49 +0000 (21:35 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Thu, 28 Apr 2011 21:35:49 +0000 (21:35 +0000)
commit7a2ba2fbe4b0ccaacc2cedbc1bfd2a3764170efe
tree200b3836943920c5e4d8fd322784e7ce3e3b2e89
parentf86500bc4f9b0e7078df9a17b84e95fbf37080a7
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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130443 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Instrumentation/GCOVProfiling.cpp
runtime/libprofile/GCDAProfiling.c