| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fixing the stack walker. | Gordon Henriksen | 2008-01-24 | 1 | -4/+7 |
| | | | | | llvm-svn: 46302 | ||||
| * | With this patch, the LowerGC transformation becomes the | Gordon Henriksen | 2008-01-07 | 1 | -15/+17 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) llvm-svn: 45670 | ||||
| * | remove attribution from a variety of miscellaneous files. | Chris Lattner | 2007-12-29 | 8 | -16/+16 |
| | | | | | llvm-svn: 45425 | ||||
| * | remove attributions from the rest of the llvm makefiles. | Chris Lattner | 2007-12-29 | 4 | -8/+8 |
| | | | | | llvm-svn: 45416 | ||||
| * | GarbageCollection.html is expanded to encompass the coming | Gordon Henriksen | 2007-09-27 | 1 | -0/+5 |
| | | | | | | | | capabilities. This is a major rewrite and is easier to read en toto rather than patchwise. llvm-svn: 42414 | ||||
| * | Reenable libgc and libprofile is explicitly requested. | Chris Lattner | 2007-09-11 | 1 | -9/+1 |
| | | | | | llvm-svn: 41851 | ||||
| * | remove an obsolete library. | Chris Lattner | 2007-09-11 | 3 | -165/+0 |
| | | | | | llvm-svn: 41850 | ||||
| * | Dror GCCLibraries: they are obsolete since 2.0 release. This also reduces ↵ | Anton Korobeynikov | 2007-08-21 | 17 | -1455/+1 |
| | | | | | | | number of licenses used in LLVM. llvm-svn: 41257 | ||||
| * | crtend is only for llvm-gcc3, remove it. | Chris Lattner | 2007-02-23 | 11 | -485/+1 |
| | | | | | llvm-svn: 34529 | ||||
| * | the old trace values pass has been removed, remove its runtime library. | Chris Lattner | 2007-01-07 | 5 | -453/+1 |
| | | | | | llvm-svn: 32999 | ||||
| * | Undo removal of the runtime libraries. While this may have been a bit | Reid Spencer | 2006-11-17 | 48 | -0/+3188 |
| | | | | | | | | 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. llvm-svn: 31807 | ||||
| * | In LLVM 2.0 we won't use the runtime libraries as llvm-gcc3 support will | Reid Spencer | 2006-11-16 | 48 | -3188/+0 |
| | | | | | | | be dropped. This patch pertains to removing the runtime directory from LLVM. llvm-svn: 31793 | ||||
| * | Remove unused variable. | Reid Spencer | 2006-11-03 | 1 | -1/+0 |
| | | | | | llvm-svn: 31404 | ||||
| * | For PR786: | Reid Spencer | 2006-11-02 | 2 | -3/+0 |
| | | | | | | | | | | | 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. llvm-svn: 31380 | ||||
| * | Describe and date modifications we made per LGPL requirements. | John Criswell | 2006-08-08 | 2 | -1/+16 |
| | | | | | llvm-svn: 29569 | ||||
| * | Make information more complete. | John Criswell | 2006-08-08 | 1 | -0/+9 |
| | | | | | llvm-svn: 29568 | ||||
| * | Reverted previous commit. Thanks, Chris. | John Criswell | 2006-07-28 | 1 | -1/+1 |
| | | | | | llvm-svn: 29388 | ||||
| * | Added in the LGPL text and copyright information. This needs to be | John Criswell | 2006-07-28 | 4 | -2/+734 |
| | | | | | | | | included in the distribution. Also added the glibc LICENSES file, which should be included as well. llvm-svn: 29386 | ||||
| * | For PR786: | Reid Spencer | 2006-06-01 | 1 | -0/+2 |
| | | | | | | | | | | 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. llvm-svn: 28614 | ||||
| * | Put an innocuous statement in this file to quelch warnings about compiling | Reid Spencer | 2006-06-01 | 1 | -0/+1 |
| | | | | | | | an empty file. llvm-svn: 28612 | ||||
| * | Use archive libraries instead of object files for VMCore, BCReader, | Reid Spencer | 2006-06-01 | 3 | -1/+7 |
| | | | | | | | | BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate these changes. This was done to speed up link times. llvm-svn: 28610 | ||||
| * | For PR786: | Reid Spencer | 2006-05-24 | 1 | -1/+1 |
| | | | | | | | | | 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. llvm-svn: 28453 | ||||
| * | Invert the tests on LLVMGCC_MAJVERS to check for value 4 instead of value | Reid Spencer | 2006-04-07 | 1 | -1/+1 |
| | | | | | | | | | 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. llvm-svn: 27499 | ||||
| * | add a newline at the end of the file | Chris Lattner | 2006-04-07 | 1 | -1/+2 |
| | | | | | llvm-svn: 27492 | ||||
| * | Avoid building the runtime libraries if llvm-gcc version 4 is detected. | Reid Spencer | 2006-04-06 | 1 | -0/+8 |
| | | | | | llvm-svn: 27464 | ||||
| * | For PR722: | Reid Spencer | 2006-04-02 | 1 | -4/+4 |
| | | | | | | | | | | | 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. llvm-svn: 27361 | ||||
| * | Optimizing to calloc() to malloc() + memset() can be bad on some platforms. | Evan Cheng | 2006-03-13 | 1 | -33/+0 |
| | | | | | llvm-svn: 26732 | ||||
| * | Make the new and old front-ends more similar: now neither uses __main. | Chris Lattner | 2006-03-09 | 4 | -83/+5 |
| | | | | | llvm-svn: 26629 | ||||
| * | fix make install/uninstall of libcrtend. | Chris Lattner | 2006-01-30 | 1 | -0/+19 |
| | | | | | llvm-svn: 25796 | ||||
| * | Remove out of date comment | Chris Lattner | 2006-01-27 | 1 | -7/+0 |
| | | | | | llvm-svn: 25705 | ||||
| * | Remove the only use of FAKE_SOURCES | Chris Lattner | 2006-01-27 | 1 | -3/+11 |
| | | | | | llvm-svn: 25704 | ||||
| * | Add the remove() function from the C library. | John Criswell | 2005-11-28 | 1 | -0/+46 |
| | | | | | llvm-svn: 24498 | ||||
| * | This was never updated for the project makefile changes | Chris Lattner | 2005-10-18 | 2 | -4/+4 |
| | | | | | llvm-svn: 23790 | ||||
| * | This never got updated to reflect the project makefile changes | Chris Lattner | 2005-10-18 | 1 | -1/+1 |
| | | | | | llvm-svn: 23789 | ||||
| * | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 6 | -16/+16 |
| | | | | | llvm-svn: 21427 | ||||
| * | Fix grammar | Misha Brukman | 2005-03-23 | 1 | -1/+1 |
| | | | | | llvm-svn: 20789 | ||||
| * | Hrm, who knows what 'uint' is, but it seems to work sometimes? Wierd. | Chris Lattner | 2005-01-28 | 1 | -4/+4 |
| | | | | | llvm-svn: 19876 | ||||
| * | Turn on LOADABLE_MODULE so that profile.so can be loaded dynamically by | Reid Spencer | 2005-01-13 | 1 | -0/+1 |
| | | | | | | | the JIT. llvm-svn: 19524 | ||||
| * | Re-enable libprofile now that llvm-ar is working better. | Reid Spencer | 2005-01-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 19523 | ||||
| * | Remove dead directories | Chris Lattner | 2005-01-02 | 1 | -2/+1 |
| | | | | | llvm-svn: 19262 | ||||
| * | This lib is dead | Chris Lattner | 2005-01-02 | 2 | -16/+0 |
| | | | | | llvm-svn: 19261 | ||||
| * | Remove a bunch of useless empty libraries | Chris Lattner | 2005-01-02 | 12 | -98/+0 |
| | | | | | llvm-svn: 19260 | ||||
| * | This is no longer needed. | Chris Lattner | 2005-01-02 | 2 | -16/+0 |
| | | | | | llvm-svn: 19259 | ||||
| * | For PR432: | Reid Spencer | 2004-12-22 | 16 | -16/+16 |
| | | | | | | | * Variable name change: cferuntime_libdir -> CFERuntimeLibDir llvm-svn: 19096 | ||||
| * | Disable libprofile as llvm-ar bus errors on it, and I don't want to break | Chris Lattner | 2004-12-15 | 1 | -1/+1 |
| | | | | | | | the nightly testers. llvm-svn: 18960 | ||||
| * | Use the new BYTECODE_DESTINATION to override the default bytecode install | Reid Spencer | 2004-12-13 | 16 | -1/+17 |
| | | | | | | | | | | 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. llvm-svn: 18882 | ||||
| * | Remove useless -L switch now that gccld -link-as-library bug is fixed. | Reid Spencer | 2004-12-08 | 1 | -3/+3 |
| | | | | | llvm-svn: 18613 | ||||
| * | Make use of the LLVMGCCStdCXXLibDir variable to link objects | Reid Spencer | 2004-12-05 | 1 | -3/+3 |
| | | | | | llvm-svn: 18548 | ||||
| * | Use the FAKE_SOURCES feature for proper distribution of contents | Reid Spencer | 2004-12-04 | 1 | -9/+12 |
| | | | | | llvm-svn: 18506 | ||||
| * | Standardize the makefiles with space around = to match the rest of LLVM. | Reid Spencer | 2004-12-02 | 17 | -66/+61 |
| | | | | | llvm-svn: 18429 | ||||

