llvm-6502/lib/Transforms/Instrumentation
Bill Wendling f675b3c644 Move registering the execution of a basic block to the beginning rather than the end.
There are situations which can affect the correctness (or at least expectation)
of the gcov output. For instance, if a call to __gcov_flush() occurs within a
block before the execution count is registered and then the program aborts in
some way, then that block will not be marked as executed. This is not normally
what the user expects.

If we move the code that's registering when a block is executed to the
beginning, we can catch these types of situations.

PR16893


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188849 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 23:52:00 +00:00
..
AddressSanitizer.cpp Add SpecialCaseList::createOrDie() factory and use it in sanitizer passes 2013-08-12 11:46:09 +00:00
BoundsChecking.cpp
CMakeLists.txt DataFlowSanitizer; LLVM changes. 2013-08-07 22:47:18 +00:00
DataFlowSanitizer.cpp DataFlowSanitizer: Add a debugging feature to help us track nonzero labels. 2013-08-15 18:51:12 +00:00
DebugIR.cpp Remove DIBuilder cache of variable TheCU and change the few 2013-07-19 00:51:47 +00:00
DebugIR.h Add missing header for DebugIR 2013-06-28 19:07:59 +00:00
EdgeProfiling.cpp
GCOVProfiling.cpp Move registering the execution of a basic block to the beginning rather than the end. 2013-08-20 23:52:00 +00:00
Instrumentation.cpp DataFlowSanitizer; LLVM changes. 2013-08-07 22:47:18 +00:00
LLVMBuild.txt
Makefile
MaximumSpanningTree.h
MemorySanitizer.cpp Add SpecialCaseList::createOrDie() factory and use it in sanitizer passes 2013-08-12 11:46:09 +00:00
OptimalEdgeProfiling.cpp
PathProfiling.cpp
ProfilingUtils.cpp
ProfilingUtils.h
ThreadSanitizer.cpp Add SpecialCaseList::createOrDie() factory and use it in sanitizer passes 2013-08-12 11:46:09 +00:00