Commit Graph

100 Commits

Author SHA1 Message Date
Nick Lewycky ece78a30bd Don't use C++ comments in C code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129637 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-16 04:25:36 +00:00
Nick Lewycky b192870420 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
2011-04-16 01:20:23 +00:00
Chris Lattner 7a2bdde0a0 Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 05:18:47 +00:00
Benjamin Kramer 8b505739f4 Fix format string warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129467 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-13 20:41:43 +00:00
Nick Lewycky 8a7f4ecbc1 Use %ull here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129423 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-13 01:05:45 +00:00
Nick Lewycky e9e7ffa10d Print our uint64_t with the more portable (C99 and C++0x) %PRIu64 format
specifier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129384 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-12 20:06:50 +00:00
Nick Lewycky c6d8853dff The counters are unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129380 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-12 19:35:45 +00:00
Nick Lewycky 93b68b20d4 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
2011-04-12 01:06:09 +00:00
Andrew Trick 04317cc618 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
2011-01-29 01:09:53 +00:00
Mikhail Glushenkov a7236d3a92 Rename 'libprofile/exported_symbols.lst' to 'libprofile/libprofile.exports'.
Makefile.rules assumes that all EXPORTED_SYMBOL_FILEs have the .exports
extension.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112964 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 15:42:45 +00:00
Dan Gohman 630b58bb5a Delete a blank line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101459 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 13:32:55 +00:00
Dan Gohman 7c52f2ee06 Make the export files absolute paths, and change Makefile.rules
to expect them this way, to fix srcdir!=objdir builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101414 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 23:08:00 +00:00
Daniel Dunbar 51faa37b4e Don't use absolute path for EXPORTED_SYMBOL_FILE, this breaks under the new
system.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101404 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 21:57:43 +00:00
Daniel Dunbar 7cfbe2576d Switch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96936 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-23 10:28:06 +00:00
Chris Lattner 5fadf17709 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
2010-01-02 20:07:03 +00:00
Andreas Neustifter f771dae69a OptimalEdgeProfiling: Creation of profiles.
This adds the instrumentation and runtime part of OptimalEdgeProfiling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80712 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-01 19:03:44 +00:00
Andreas Neustifter 1c29357c52 Read Makefile.config before using LLVMGCC.
See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085828.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80372 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-28 16:13:45 +00:00
Andreas Neustifter ade1a22522 Add llvm_start_edge_profiling to exported symbols for libprofile_rt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79944 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 21:41:37 +00:00
Daniel Dunbar a4b62c4518 Don't try to build .bc version of libprofile if LLVMGCC isn't available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79514 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 05:12:55 +00:00
Daniel Dunbar 7dadba34d7 Remove cruft for installing runtime/ libraries directly into the LLVMGCCDIR;
that is totally bogus.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79512 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 05:02:41 +00:00
Chris Lattner 234d529e58 remove attribution from a variety of miscellaneous files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45425 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 22:59:10 +00:00
Chris Lattner 57360d1f1c remove attributions from the rest of the llvm makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:11:13 +00:00
Reid Spencer 8b2e1419cf Undo removal of the runtime libraries. While this may have been a bit
premature, these libraries will be going away for the 2.0 release. Other
arrangements for profiling, gc, etc. should be made in the next few months.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31807 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 03:32:33 +00:00
Reid Spencer ac90d5e50b In LLVM 2.0 we won't use the runtime libraries as llvm-gcc3 support will
be dropped. This patch pertains to removing the runtime directory from LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31793 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-16 23:17:27 +00:00
Reid Spencer 162e20934b Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31404 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:58:30 +00:00
Chris Lattner a1fa8f1d8a This was never updated for the project makefile changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23790 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18 18:50:26 +00:00
Misha Brukman fd93908ae8 Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 23:48:37 +00:00
Reid Spencer 41c56c03f7 Turn on LOADABLE_MODULE so that profile.so can be loaded dynamically by
the JIT.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19524 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-13 16:53:05 +00:00
Reid Spencer e676067be5 For PR432:
* Variable name change: cferuntime_libdir -> CFERuntimeLibDir


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19096 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-22 05:57:33 +00:00
Reid Spencer b8e7df3937 Use the new BYTECODE_DESTINATION to override the default bytecode install
destination for this library so that it goes to $(cferuntime_libdir) rather
than just $(libdir). Normal bytecode libraries should be installed in the
$(libdir), but these ones are "special" because they're part of the the
C/C++ front end.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18882 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 07:40:50 +00:00
Reid Spencer 010834654a Standardize the makefiles with space around = to match the rest of LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18429 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 09:58:09 +00:00
Reid Spencer 8aa9a8ca98 Standardize the format of the runtime libraries makefiles.
* Don't have lines longer than 80 cols
* Blank line after the header
* Reduce spaces in var definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18427 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 09:31:40 +00:00
Reid Spencer 3298f87c0b Remove this left-over crud from the automake experiment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18424 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 09:23:51 +00:00
Reid Spencer 20ac4e3699 Add EXTRA_DIST for additional files to be distributed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17233 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-26 03:12:11 +00:00
Reid Spencer cac731ecbe We won't use automake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 03:35:04 +00:00
Reid Spencer 86d341b204 Initial automake generated Makefile template
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 23:55:41 +00:00
Reid Spencer da0a22b7ac Initial Makefile.am for building with automake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17073 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-17 00:24:24 +00:00
Brian Gaeke ada3c4f805 Share the profile info type enum with the C++ analysis libraries.
Add a documentation comment for write_profiling_data().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13345 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 16:51:48 +00:00
Brian Gaeke 9fa49c8906 Constants for profile info type changed names to match the C++ ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13344 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 16:51:47 +00:00
Brian Gaeke 40114b780b Constants for profile info type changed names to match the C++ ones.
Edited comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13343 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 16:51:46 +00:00
Brian Gaeke ca1a6976ba Add initial implementation of basic block tracing runtime
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13339 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-03 23:51:50 +00:00
Brian Gaeke 86329b3fd6 Add basic block tracing functions as exported symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13338 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-03 23:49:17 +00:00
Brian Gaeke 273595f907 Add basic block tracing information as a type of "profiling" information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13337 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-03 23:49:16 +00:00
Chris Lattner 127cab2cc7 Add edge profiling support to the runtime library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12227 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 18:04:31 +00:00
Chris Lattner f472935caf Make sure to copy the null terminator at the end of the argv list. Some
programs use it instead of argc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11270 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 19:14:44 +00:00
Chris Lattner ebd02a8cfa Allow the program to take a '-llvmprof-output filename' option to specify
where to output the profiling data, if llvmprof.out is not good enough.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11264 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 18:01:00 +00:00
Chris Lattner affce4fd93 Make the initialization calls return argc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11261 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 17:36:25 +00:00
Chris Lattner d09bef4d46 Actually save and pass in argument information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9564 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 22:45:25 +00:00
Chris Lattner 98b1d8115e We need to output the number of records we have, so we know how many to read in! Doh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9555 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 19:35:56 +00:00
Chris Lattner a9a3028935 Initial checkin of function and block profiling runtime library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9546 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 18:56:51 +00:00