summaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* Implementation of path profiling.Andrew Trick2011-01-29
| | | | | | | | | | | 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
* Rename 'libprofile/exported_symbols.lst' to 'libprofile/libprofile.exports'.Mikhail Glushenkov2010-09-03
| | | | | | | 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
* Delete a blank line.Dan Gohman2010-04-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101459 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the export files absolute paths, and change Makefile.rulesDan Gohman2010-04-15
| | | | | | | 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
* Don't use absolute path for EXPORTED_SYMBOL_FILE, this breaks under the newDaniel Dunbar2010-04-15
| | | | | | system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101404 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r100896 and around - this breaks the only mingw32 buildbot we have.Anton Korobeynikov2010-04-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101387 91177308-0d34-0410-b5e6-96231b3b80d8
* suck the propagating "has dynamic libs" check into a single makefile Chris Lattner2010-04-09
| | | | | | | variable TARGET_HAS_DYNAMIC_LIBS git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100896 91177308-0d34-0410-b5e6-96231b3b80d8
* add minix support, patch by Kees van Reeuwijk! PR6797Chris Lattner2010-04-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100895 91177308-0d34-0410-b5e6-96231b3b80d8
* disable this for mingw as well, we really need a 'has no dynamic linking' ↵Chris Lattner2010-03-06
| | | | | | predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97882 91177308-0d34-0410-b5e6-96231b3b80d8
* disable libprofile on cygwin, patch by Aaron Gray.Chris Lattner2010-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97772 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX}Daniel Dunbar2010-02-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96936 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the random sampling framework, which is not maintained anymore.Chris Lattner2010-01-02
| | | | | | | 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
* OptimalEdgeProfiling: Creation of profiles.Andreas Neustifter2009-09-01
| | | | | | | 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
* Read Makefile.config before using LLVMGCC.Andreas Neustifter2009-08-28
| | | | | | | 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
* Another NO_RUNTIME_LIBRARIES tweak...Daniel Dunbar2009-08-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80331 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak NO_RUNTIME_LIBS.Daniel Dunbar2009-08-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80330 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't build runtime libraries in an Apple style build.Daniel Dunbar2009-08-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80303 91177308-0d34-0410-b5e6-96231b3b80d8
* Add llvm_start_edge_profiling to exported symbols for libprofile_rt.Andreas Neustifter2009-08-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79944 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't try to build .bc version of libprofile if LLVMGCC isn't available.Daniel Dunbar2009-08-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79514 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove cruft for installing runtime/ libraries directly into the LLVMGCCDIR;Daniel Dunbar2009-08-20
| | | | | | | that is totally bogus. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79512 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop toy GC runtime.Gordon Henriksen2009-03-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65801 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixing the stack walker.Gordon Henriksen2008-01-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46302 91177308-0d34-0410-b5e6-96231b3b80d8
* With this patch, the LowerGC transformation becomes theGordon Henriksen2008-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ShadowStackCollector, which additionally has reduced overhead with no sacrifice in portability. Considering a function @fun with 8 loop-local roots, ShadowStackCollector introduces the following overhead (x86): ; shadowstack prologue movl L_llvm_gc_root_chain$non_lazy_ptr, %eax movl (%eax), %ecx movl $___gc_fun, 20(%esp) movl $0, 24(%esp) movl $0, 28(%esp) movl $0, 32(%esp) movl $0, 36(%esp) movl $0, 40(%esp) movl $0, 44(%esp) movl $0, 48(%esp) movl $0, 52(%esp) movl %ecx, 16(%esp) leal 16(%esp), %ecx movl %ecx, (%eax) ; shadowstack loop overhead (none) ; shadowstack epilogue movl 48(%esp), %edx movl %edx, (%ecx) ; shadowstack metadata .align 3 ___gc_fun: # __gc_fun .long 8 .space 4 In comparison to LowerGC: ; lowergc prologue movl L_llvm_gc_root_chain$non_lazy_ptr, %eax movl (%eax), %ecx movl %ecx, 48(%esp) movl $8, 52(%esp) movl $0, 60(%esp) movl $0, 56(%esp) movl $0, 68(%esp) movl $0, 64(%esp) movl $0, 76(%esp) movl $0, 72(%esp) movl $0, 84(%esp) movl $0, 80(%esp) movl $0, 92(%esp) movl $0, 88(%esp) movl $0, 100(%esp) movl $0, 96(%esp) movl $0, 108(%esp) movl $0, 104(%esp) movl $0, 116(%esp) movl $0, 112(%esp) ; lowergc loop overhead leal 44(%esp), %eax movl %eax, 56(%esp) leal 40(%esp), %eax movl %eax, 64(%esp) leal 36(%esp), %eax movl %eax, 72(%esp) leal 32(%esp), %eax movl %eax, 80(%esp) leal 28(%esp), %eax movl %eax, 88(%esp) leal 24(%esp), %eax movl %eax, 96(%esp) leal 20(%esp), %eax movl %eax, 104(%esp) leal 16(%esp), %eax movl %eax, 112(%esp) ; lowergc epilogue movl 48(%esp), %edx movl %edx, (%ecx) ; lowergc metadata (none) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45670 91177308-0d34-0410-b5e6-96231b3b80d8
* remove attribution from a variety of miscellaneous files.Chris Lattner2007-12-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45425 91177308-0d34-0410-b5e6-96231b3b80d8
* remove attributions from the rest of the llvm makefiles.Chris Lattner2007-12-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45416 91177308-0d34-0410-b5e6-96231b3b80d8
* GarbageCollection.html is expanded to encompass the comingGordon Henriksen2007-09-27
| | | | | | | capabilities. This is a major rewrite and is easier to read en toto rather than patchwise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42414 91177308-0d34-0410-b5e6-96231b3b80d8
* Reenable libgc and libprofile is explicitly requested.Chris Lattner2007-09-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41851 91177308-0d34-0410-b5e6-96231b3b80d8
* remove an obsolete library.Chris Lattner2007-09-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41850 91177308-0d34-0410-b5e6-96231b3b80d8
* Dror GCCLibraries: they are obsolete since 2.0 release. This also reduces ↵Anton Korobeynikov2007-08-21
| | | | | | number of licenses used in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41257 91177308-0d34-0410-b5e6-96231b3b80d8
* crtend is only for llvm-gcc3, remove it.Chris Lattner2007-02-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34529 91177308-0d34-0410-b5e6-96231b3b80d8
* the old trace values pass has been removed, remove its runtime library.Chris Lattner2007-01-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32999 91177308-0d34-0410-b5e6-96231b3b80d8
* Undo removal of the runtime libraries. While this may have been a bitReid Spencer2006-11-17
| | | | | | | | 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
* In LLVM 2.0 we won't use the runtime libraries as llvm-gcc3 support willReid Spencer2006-11-16
| | | | | | | 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
* Remove unused variable.Reid Spencer2006-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31404 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR786:Reid Spencer2006-11-02
| | | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
* Describe and date modifications we made per LGPL requirements.John Criswell2006-08-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29569 91177308-0d34-0410-b5e6-96231b3b80d8
* Make information more complete.John Criswell2006-08-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29568 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverted previous commit. Thanks, Chris.John Criswell2006-07-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29388 91177308-0d34-0410-b5e6-96231b3b80d8
* Added in the LGPL text and copyright information. This needs to beJohn Criswell2006-07-28
| | | | | | | | included in the distribution. Also added the glibc LICENSES file, which should be included as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29386 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR786:Reid Spencer2006-06-01
| | | | | | | | | | Turn -pedantic and -Wno-long-long compile flags on by default. In a few places, avoid the warnings by removing these options in the local makefile. One notable exception: lib/Target/CBackend/Writer.cpp. These warnings are left on as a reminder to developers to clean them up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28614 91177308-0d34-0410-b5e6-96231b3b80d8
* Put an innocuous statement in this file to quelch warnings about compilingReid Spencer2006-06-01
| | | | | | | an empty file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28612 91177308-0d34-0410-b5e6-96231b3b80d8
* Use archive libraries instead of object files for VMCore, BCReader,Reid Spencer2006-06-01
| | | | | | | | BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate these changes. This was done to speed up link times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28610 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR786:Reid Spencer2006-05-24
| | | | | | | | | Minor tweaks in public headers and a few .cpp files so that LLVM can build successfully with -pedantic and projects using LLVM with -pedantic don't get warnings from LLVM. There's still more -pedantic warnings to fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28453 91177308-0d34-0410-b5e6-96231b3b80d8
* Invert the tests on LLVMGCC_MAJVERS to check for value 4 instead of valueReid Spencer2006-04-07
| | | | | | | | | 3. This ensures that if llvm-gcc isn't available and consequently the value of LLVMGCC_MAJVERS is blank, that the old (include runtime) behavior will persist. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27499 91177308-0d34-0410-b5e6-96231b3b80d8
* add a newline at the end of the fileChris Lattner2006-04-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27492 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid building the runtime libraries if llvm-gcc version 4 is detected.Reid Spencer2006-04-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27464 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR722:Reid Spencer2006-04-02
| | | | | | | | | | | Change the check for llvm-gcc from using LLVMGCCDIR to LLVMGCC. This checks for the actual tool rather than the directory in which the tool resides. In the case of this bug, it is possible that the directory exists but that the tools in that directory do not. This fix should avoid the makefile from erroneously proceeding without the actual tools being available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27361 91177308-0d34-0410-b5e6-96231b3b80d8
* Optimizing to calloc() to malloc() + memset() can be bad on some platforms.Evan Cheng2006-03-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26732 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the new and old front-ends more similar: now neither uses __main.Chris Lattner2006-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26629 91177308-0d34-0410-b5e6-96231b3b80d8
* fix make install/uninstall of libcrtend.Chris Lattner2006-01-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25796 91177308-0d34-0410-b5e6-96231b3b80d8