619850cb3161733e9284ff3bf9a68d1a3b76f0b4 |
|
17-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Mark a method 'const' and another 'static'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
d6d6a97c3c41395dfed46572b69fb6a5d67a5a8b |
|
17-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Make a few more static string pointers constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
c1b49b56d4132efa2e06deb8f23508d0de4c8800 |
|
16-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a wrapper for open. This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
6227d5c690504c7ada5780c00a635b282c46e275 |
|
04-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
cbafae6d33031a72ba8219c28cb0e852511f79a3 |
|
28-Jun-2013 |
Manman Ren <mren@apple.com> |
Debug Info: clean up usage of Verify. No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. For cases where we know the type of a DI metadata, use assert. Also update testing cases to make them conform to the format of DI classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
8479989ebe30f8fb9e14fbd5622fe0fd51988ff6 |
|
27-Jun-2013 |
Eric Christopher <echristo@gmail.com> |
Revert "Debug Info: clean up usage of Verify." as it's breaking bots. This reverts commit r185020 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
02e75021d80bb068d0178f1e4fdd0a4fb36b9811 |
|
26-Jun-2013 |
Manman Ren <mren@apple.com> |
Debug Info: clean up usage of Verify. No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
c4e6b540f05932eea37ca10b6c1fded522777954 |
|
18-Jun-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Fix nondeterminism in .gcno file generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
a11c3e25015a62c817e60ec4f955a7f3f3bb6c67 |
|
12-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move PathV2.h to Path.h Most clients have already been moved from Path V1 to V2. The ones using V1 now include PathV1.h explicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
f2a2806baf3763d551a9f361124b608b2eed66fa |
|
28-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Minor simplification. Go ahead and use the full path for both the .gcno and .gcda files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
39c41c3c93e0d223792acb093adce21a714b01c6 |
|
26-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the full path when outputting the `.gcda' file. If we compile a single source program, the `.gcda' file will be generated where the program was executed. This isn't desirable, because that place may be at an unpredictable place (the program could call `chdir' for instance). Instead, we will output the `.gcda' file in the same place we output the `.gcno' file. I.e., the directory where the executable was generated. This matches GCC's behavior. <rdar://problem/13061072> & PR11809 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
8640c6a5227b75666e02424e2181289692138348 |
|
20-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Call the new llvm_gcov_init function to register the environment. Use the new `llvm_gcov_init' function to register the writeout and flush functions. The initialization function will also call `atexit' for some cleanups and final writout calls. But it does this only once. This is better than checking for the `main' function, because in a library that function may not exist. <rdar://problem/12439551> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
18764716861243c58a711a92190624dc2f6aafc9 |
|
19-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Register the GCOV writeout functions so that they're emitted serially. We don't want to write out >1000 files at the same time. That could make things prohibitively expensive. Instead, register the "writeout" function so that it's emitted serially. <rdar://problem/12439551> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
5d22d02fac5ef25414c0fdd843b0fabba4998d6e |
|
19-Mar-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Emit the linkage name instead of the function name, when available. This means that we'll prefer to emit the mangled C++ name (pending a clang change). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
d195eb6b83c2f3c70c9d1a59e26e8d6d2a3d38d3 |
|
19-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Register the flush function for each compile unit. For each compile unit, we want to register a function that will flush that compile unit. Otherwise, __gcov_flush() would only flush the counters within the current compile unit, and not any outside of it. PR15191 & <rdar://problem/13167507> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
347e88bb229e6be16ce97badd6016889e84a46f6 |
|
14-Mar-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Remove accidentally committed debug line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
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/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
64a0a33307723957bf2f15e3181a290853c6f833 |
|
13-Mar-2013 |
Nick Lewycky <nicholas@mxc.ca> |
No functionality change. Rename emitGCNO() to the more sensible emitProfileNotes(), similar to emitProfileArcs(). Also update its comment. Also add a comment on Version[4] (there will be another comment in clang later), and compress lines that exceeded 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
60d16a27da8607ae94b93a90e37bcd5f8290160d |
|
09-Mar-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Use the correct index variable. This is the meat of what was supposed to be in r176751. Also, learn a lesson about applying patches by hand/eyeball. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
8fa6dc431deb7a9aadc23ec0a7bdcb2d02330972 |
|
09-Mar-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Fix bug introduced in r176616 when making function identifier numbers stable. Count the subprograms, not the compile units. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
17d2f776011cba33f7f5afb03c8066d35dbf8afc |
|
09-Mar-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Don't emit the extra checksum into the .gcda file if the user hasn't asked for it. Fortunately, versions of gcov that predate the extra checksum also ignore any extra data, so this isn't a problem. There will be a matching commit in compiler-rt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
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/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
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/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
58591b1647e0f1f213e5acd7bfa87c226ced0033 |
|
27-Feb-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Doh, fix behaviour change introduced in r176168 which is tested in clang, not llvm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
bd2d1245e7db11b58b52c5b36fe76925683aaea5 |
|
27-Feb-2013 |
Nick Lewycky <nicholas@mxc.ca> |
IRBuilder has grown all sorts of useful utility functions. Make use of them to clean up this code a tiny bit. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
034b94b17006f51722886b0f2283fb6fb19aca1f |
|
19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
f209dea96a34f8c3c06e19710e9ff008d4f18c6c |
|
18-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Initialize NoRedZone and remove unused default values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
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/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
9e6ee16b1814268897965b81e82a74ef39173ee1 |
|
17-Nov-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Plug a memory leak in the GCOV profiling emitter, which never released the edge table memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
b8bce928f4ffdf50eff69334f3e25b27848536b6 |
|
24-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
2f87640b86315beab8a5671cc23f524e59c58bd3 |
|
24-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Delete a directory that wasn't supposed to be checked in yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
f5e6d70f8c8f21e744a10fd463cdeddae31cbab5 |
|
10-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Have 'addFnAttr' take the attribute enum value. Then have it build the attribute object and add it appropriately. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
2e879bcd52583335c753c005d203bf2ffe8b67b5 |
|
09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Use the enum value of the attributes when adding them to the attributes builder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
8831c0605bbc0c82ce56c2fb85bd681d1c013925 |
|
09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Convert to using the Attributes::Builder interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
78fff8ec487a7c16633c5795e38e297ce6ddafa4 |
|
17-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
s/__llvm_gcov_flush/__gcov_flush/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
ec3fc2eac0e9203dd1094b9ce458e8c1b42b832f |
|
15-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
032dbee2a9d401ee05beb648465f21168e279bda |
|
13-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Use Nick's suggestion of storing a large NULL into the GV instead of memset, which requires TargetData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
253353c9cf1ff16d9c30a89c2fb96160ac5a9d65 |
|
13-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Introduce the __llvm_gcov_flush function. This function writes out the current values of the counters and then resets them. This can be used similarly to the __gcov_flush function to sync the counters when need be. For instance, in a situation where the application doesn't exit. <rdar://problem/12185886> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
73996f44070df026e4d969b1b68461a70ebb3993 |
|
30-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Pass by pointer and not std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
6e5190c193f6267893daf6943af88e95039e739c |
|
30-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Revert r162855 in favor of changing clang to emit the absolute coverage file path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
0e76db9ad43383ca9aeff7001a98d6d6d8d5e736 |
|
29-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Use the full path to output the .gcda file. This lets the user run the program from a different directory and still have the .gcda files show up in the correct place. <rdar://problem/12179524> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
21b742ffce7bec3d71e09c7c6d901a756d55feb3 |
|
29-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Use ArrayRef instead of SmallVector when passing vector into function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
c1b6ea7b6ce3a738accbacddf52480bf94354d2f |
|
30-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Don't reinsert the 'atexit' function if it already exists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
06cb8ed00696eb14d1b831921452e50ec0568ea2 |
|
29-Jun-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h This was always part of the VMCore library out of necessity -- it deals entirely in the IR. The .cpp file in fact was already part of the VMCore library. This is just a mechanical move. I've tried to go through and re-apply the coding standard's preferred header sort, but at 40-ish files, I may have gotten some wrong. Please let me know if so. I'll be committing the corresponding updates to Clang and Polly, and Duncan has DragonEgg. Thanks to Bill and Eric for giving the green light for this bit of cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
0bcbd1df7a204e1e512f1a27066d725309de1b13 |
|
28-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h. The reasoning is because the DebugInfo module is simply an interface to the debug info MDNodes and has nothing to do with analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
ce718ff9f42c7da092eaa01dd0242e8d5ba84713 |
|
23-Jun-2012 |
Hans Wennborg <hans@hanshq.net> |
Extend the IL for selecting TLS models (PR9788) This allows the user/front-end to specify a model that is better than what LLVM would choose by default. For example, a variable might be declared as @x = thread_local(initialexec) global i32 42 if it will not be used in a shared library that is dlopen'ed. If the specified model isn't supported by the target, or if LLVM can make a better choice, a different model may be used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
4a8fefaf8303f30514bc2a40d840a1709dae65cf |
|
02-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Register the gcov "writeout" at init time. Don't list this as a d'tor. Instead, inject some code in that will run via the "__mod_init_func" method that registers the gcov "writeout" function to execute at exit time. The problem is that the "__mod_term_func" method of specifying d'tors is deprecated on Darwin. And it can lead to some ambiguities when dealing with multiple libraries. <rdar://problem/11110106> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
77b19134104c3e96424dc010f2b69c3faf580e68 |
|
28-May-2012 |
Bill Wendling <isanbard@gmail.com> |
Implement the indirect counter increment code in a better way. Instead of replicating the code for every place it's needed, we instead generate a function that does that for us. This function is local to the executable, so there shouldn't be any writing violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
c7a884040e4ec7795515978a94803894ad08c4ca |
|
26-May-2012 |
Bill Wendling <isanbard@gmail.com> |
The llvm_gcda_increment_indirect_counter function writes to the arguments that are passed in. However, those arguments may be in a write-protected area, as far as the runtime library is concerned. For instance, the data could be placed into a 'linkedit' section, which isn't writable. Emit the code from llvm_gcda_increment_indirect_counter directly into the function instead. Note: The code for this is ugly, and can lead to bloat. We should look into simplifying this code instead of having all of these branches. <rdar://problem/11181370> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
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/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
bba40db07234cef7867b45c67f50632e684cbb15 |
|
28-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Place the "cfg checksum" around a test. This was recently added in April 2011 to gcc, though I thought it was older (my gcc 4.4 has it as a local patch. Whoops!) This fixes PR10589. Also add some debugging statements. Remove GcnoFiles, the mapping from CompilationUnit to raw_ostream. Now that we start by iterating over each CU and descending into them, there's no need to maintain a mapping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
680018ff8965610b3f1c976b0be1dfd45116b218 |
|
20-Sep-2011 |
Devang Patel <dpatel@apple.com> |
If simple ownership works then friendship is not required. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
16c19a155c65fd41865562fe4e678ef32728510b |
|
20-Sep-2011 |
Devang Patel <dpatel@apple.com> |
Update GCOVLines to provide interfaces to write line table and calculate complete length. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
29d9610f2349676aa6a6e85449f4511812dafbcf |
|
20-Sep-2011 |
Devang Patel <dpatel@apple.com> |
Update comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
68155d31cd0175be89e26ee68387cb411fca537b |
|
20-Sep-2011 |
Devang Patel <dpatel@apple.com> |
Use StringRef instead of std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
865375ca7f68e60c0234916dd6bb365bb674bddb |
|
20-Sep-2011 |
Devang Patel <dpatel@apple.com> |
Eliminate unnecessary copy of FileName from GCOVLines. GCOVLines is always accessed through a StringMap where the key is FileName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
ec6f2559fe1e257d221c9b4ce6c32584f7cc99b2 |
|
20-Sep-2011 |
Devang Patel <dpatel@apple.com> |
There is no need to write a local utility routine to find subprogram info if the utility routine is already available in DebugInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
58e2cdfabd7b7c9a780dc086add162262c671ac4 |
|
18-Aug-2011 |
Nick Lewycky <nicholas@mxc.ca> |
The edge from DISubprogram to DICompileUnit has been removed in recent versions of debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
f6d3a4c7c4d14ad7a4e07e9f80f94f73651960d8 |
|
18-Aug-2011 |
Devang Patel <dpatel@apple.com> |
Do not use DebugInfoFinder. Extract debug info directly from llvm.dbg.cu named mdnode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
5b6f42f57e730c2d968c313a27fa505a3c3e5efa |
|
16-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Use the getFirstInsertionPt() method instead of getFirstNonPHI + an 'isa<>' check for a LandingPadInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
05d0023a95a11cde1247920d61d26cc82216f566 |
|
16-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
A few places where we want to skip the landingpad instruction for insertion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
726f1b90a9e9149227a9aa37a2219f167776f804 |
|
26-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Use the correct for for the version. It's little endian and my brain is obviously big endian. :-) PR10502 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
0a2a60ace9b79164b71794ce7ff981171c61e442 |
|
22-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
5fdd6c8793462549e3593890ec61573da06e3346 |
|
12-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Second attempt at de-constifying LLVM Types in FunctionType::get(), StructType::get() and TargetData::getIntPtrType(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
2280ebd61416b73d0b6137f275b25af82e268d1f |
|
12-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert r134893 and r134888 (and related patches in other trees). It was causing an assert on Darwin llvm-gcc builds. Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\ ne 2067. etc. http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354 --- Reverse-merging r134893 into '.': U include/llvm/Target/TargetData.h U include/llvm/DerivedTypes.h U tools/bugpoint/ExtractFunction.cpp U unittests/Support/TypeBuilderTest.cpp U lib/Target/ARM/ARMGlobalMerge.cpp U lib/Target/TargetData.cpp U lib/VMCore/Constants.cpp U lib/VMCore/Type.cpp U lib/VMCore/Core.cpp U lib/Transforms/Utils/CodeExtractor.cpp U lib/Transforms/Instrumentation/ProfilingUtils.cpp U lib/Transforms/IPO/DeadArgumentElimination.cpp U lib/CodeGen/SjLjEHPrepare.cpp --- Reverse-merging r134888 into '.': G include/llvm/DerivedTypes.h U include/llvm/Support/TypeBuilder.h U include/llvm/Intrinsics.h U unittests/Analysis/ScalarEvolutionTest.cpp U unittests/ExecutionEngine/JIT/JITTest.cpp U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp U unittests/VMCore/PassManagerTest.cpp G unittests/Support/TypeBuilderTest.cpp U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp U lib/VMCore/IRBuilder.cpp G lib/VMCore/Type.cpp U lib/VMCore/Function.cpp G lib/VMCore/Core.cpp U lib/VMCore/Module.cpp U lib/AsmParser/LLParser.cpp U lib/Transforms/Utils/CloneFunction.cpp G lib/Transforms/Utils/CodeExtractor.cpp U lib/Transforms/Utils/InlineFunction.cpp U lib/Transforms/Instrumentation/GCOVProfiling.cpp U lib/Transforms/Scalar/ObjCARC.cpp U lib/Transforms/Scalar/SimplifyLibCalls.cpp U lib/Transforms/Scalar/MemCpyOptimizer.cpp G lib/Transforms/IPO/DeadArgumentElimination.cpp U lib/Transforms/IPO/ArgumentPromotion.cpp U lib/Transforms/InstCombine/InstCombineCompares.cpp U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp U lib/Transforms/InstCombine/InstCombineCalls.cpp U lib/CodeGen/DwarfEHPrepare.cpp U lib/CodeGen/IntrinsicLowering.cpp U lib/Bitcode/Reader/BitcodeReader.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
f362affa3a695164a94d275fb44d18f44ebb855a |
|
11-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
De-constify Types in FunctionType::get(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
267010864e139781ef5949939e081c41f954de0a |
|
22-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
Replace the existing forms of ConstantArray::get() with a single form that takes an ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
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/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
d363ff334d796c7f3df834d928a10d88ed758454 |
|
06-May-2011 |
Nick Lewycky <nicholas@mxc.ca> |
The computation of string length is not that complicated. Fix it, again. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
5409a188328d9de3755febc23558d4fc1797d04e |
|
05-May-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Update the gcov version used slightly, to make it stop causing modern gcov's to crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
7a75a9ade80540e919027f15ac91c5406af8504b |
|
05-May-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Remove dead function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
fcf74ed5a2bc10570dec2084a2db1f6580b1210d |
|
05-May-2011 |
Nick Lewycky <nicholas@mxc.ca> |
When the path wasn't emitted by the frontend, discard any path on the source filename. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
269687fa350c1aa044bc063c64362a04ecabaa33 |
|
04-May-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Emit gcov data files to the directory specified in the metadata produced by the frontend, if applicable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
7a2ba2fbe4b0ccaacc2cedbc1bfd2a3764170efe |
|
28-Apr-2011 |
Nick Lewycky <nicholas@mxc.ca> |
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
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
1790c9cbb6714e81eab1412909a2320acaecc43b |
|
26-Apr-2011 |
Nick Lewycky <nicholas@mxc.ca> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
a4c4c0e1298f4dd9791eff2bae857e7be6d0ab56 |
|
21-Apr-2011 |
Nick Lewycky <nicholas@mxc.ca> |
In gcov profiling, give all functions an extra unified return block. This is necessary since gcov counts transitions between blocks. It can't see if you've run every line in a straight-line function, so we add an edge for it to notice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
17df2c3240837b4382898ead8c3ead407a338520 |
|
21-Apr-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fix think-o: emit all 8 bytes of the EOF marker. Also reflow a line in a comment for 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
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/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
0c4de8a4eb5fd6437b571611794ef84427fc4755 |
|
16-Apr-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Move the re-stemming function up top and use it where it's currently inlined. Break the arc-profile code out to a function like the notes emission code is, and reorder the functions in the file. The only functionality change is that we no longer modify the Module when the Module has no debug info to use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|
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/lib/Transforms/Instrumentation/GCOVProfiling.cpp
|