Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | don't have i386-specific tests in CodeGen/Generic, PR6601. | Chris Lattner | 2010-03-14 | 14 | -276/+0 |
| | | | | llvm-svn: 98508 | ||||
* | stop using anders-aa | Chris Lattner | 2010-03-01 | 1 | -1/+1 |
| | | | | llvm-svn: 97491 | ||||
* | remove this test. | Chris Lattner | 2010-01-23 | 1 | -14/+0 |
| | | | | llvm-svn: 94276 | ||||
* | Fix test. | Evan Cheng | 2010-01-23 | 1 | -1/+1 |
| | | | | llvm-svn: 94272 | ||||
* | Change tests from "opt %s" to "opt < %s" so that opt doesn't see the | Dan Gohman | 2009-09-11 | 4 | -5/+5 |
| | | | | | | | | input filename so that opt doesn't print the input filename in the output so that grep lines in the tests don't unintentionally match strings in the input filename. llvm-svn: 81537 | ||||
* | Eliminate more uses of llvm-as and llvm-dis. | Dan Gohman | 2009-09-09 | 5 | -6/+6 |
| | | | | llvm-svn: 81293 | ||||
* | Use opt -S instead of piping bitcode output through llvm-dis. | Dan Gohman | 2009-09-08 | 2 | -3/+3 |
| | | | | llvm-svn: 81257 | ||||
* | Change these tests to feed the assembly files to opt directly, instead | Dan Gohman | 2009-09-08 | 4 | -5/+5 |
| | | | | | | of using llvm-as, now that opt supports this. llvm-svn: 81226 | ||||
* | Related to PR2911, reject as invalid non-pointer GC roots. | Gordon Henriksen | 2008-10-25 | 1 | -0/+10 |
| | | | | llvm-svn: 58143 | ||||
* | For all RUN lines starting with "not", redirect stderr to /dev/null so tests | Matthijs Kooijman | 2008-06-10 | 4 | -4/+4 |
| | | | | | | | | | | don't fail when (expected) error output is produced. This fixes 17 tests. While I was there, I also made all RUN lines of the form "not llvm-as..." a bit more consistent, they now all redirect stderr and stdout to /dev/null and use input redirect to read their input. llvm-svn: 52174 | ||||
* | sabre brings to my attention that the 'tr' suffix is also obsolete | Gabor Greif | 2008-05-20 | 1 | -1/+1 |
| | | | | llvm-svn: 51349 | ||||
* | Rename the last test with .llx extension to .ll, resolve duplicate test by ↵ | Gabor Greif | 2008-05-20 | 1 | -1/+1 |
| | | | | | | renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too. llvm-svn: 51328 | ||||
* | Setting GlobalDirective in TargetAsmInfo by default rather than | Gordon Henriksen | 2008-01-07 | 2 | -0/+56 |
| | | | | | | | providing a misleading facility. It's used once in the MIPS backend and hardcoded as "\t.globl\t" everywhere else. llvm-svn: 45676 | ||||
* | With this patch, the LowerGC transformation becomes the | Gordon Henriksen | 2008-01-07 | 1 | -0/+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 | ||||
* | Tests for changes made in r45356, where IPO optimizations would drop | Gordon Henriksen | 2007-12-26 | 2 | -0/+35 |
| | | | | | | collector algorithms. llvm-svn: 45357 | ||||
* | GC poses hazards to the inliner. Consider: | Gordon Henriksen | 2007-12-25 | 2 | -0/+47 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | define void @f() { ... call i32 @g() ... } define void @g() { ... } The hazards are: - @f and @g have GC, but they differ GC. Inlining is invalid. This may never occur. - @f has no GC, but @g does. g's GC must be propagated to @f. The other scenarios are safe: - @f and @g have the same GC. - @f and @g have no GC. - @g has no GC. This patch adds inliner checks for the former two scenarios. llvm-svn: 45351 | ||||
* | Noting and enforcing that GC intrinsics are valid only within a | Gordon Henriksen | 2007-12-25 | 2 | -1/+11 |
| | | | | | | | | | function with GC. This will catch the error when the inliner inlines a function with GC into a caller with no GC. llvm-svn: 45350 | ||||
* | Adjusting verification of "llvm.gc*" intrinsic prototypes to match | Gordon Henriksen | 2007-12-25 | 4 | -1/+49 |
| | | | | | | LangRef. llvm-svn: 45349 | ||||
* | Adding a collector name attribute to Function in the IR. These | Gordon Henriksen | 2007-12-10 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | methods are new to Function: bool hasCollector() const; const std::string &getCollector() const; void setCollector(const std::string &); void clearCollector(); The assembly representation is as such: define void @f() gc "shadow-stack" { ... The implementation uses an on-the-side table to map Functions to collector names, such that there is no overhead. A StringPool is further used to unique collector names, which are extremely likely to be unique per process. llvm-svn: 44769 | ||||
* | Upgrading this test to 2.0 .ll syntax. | Gordon Henriksen | 2007-12-09 | 1 | -28/+27 |
| | | | | llvm-svn: 44738 | ||||
* | Fix for PR1633: Verifier doesn't fully verify GC intrinsics | Gordon Henriksen | 2007-09-17 | 1 | -1/+2 |
| | | | | | | | | | | | | | | LLVM now enforces the following prototypes for the write barriers: <ty>* @llvm.gcread(<ty2>*, <ty>**) void @llvm.gcwrite(<ty>*, <ty2>*, <ty>**) And for @llvm.gcroot, the first stack slot is verified to be an alloca or a bitcast of an alloca. Fixes test/CodeGen/Generic/GC/lower_gcroot.ll, which violated these. llvm-svn: 42051 | ||||
* | Fix a gcroot lowering bug. | Evan Cheng | 2007-09-01 | 1 | -0/+10 |
| | | | | llvm-svn: 41668 | ||||
* | Convert .cvsignore files | John Criswell | 2007-06-29 | 1 | -3/+0 |
| | | | | llvm-svn: 37801 | ||||
* | For PR1319: Upgrade to new test harness. | Reid Spencer | 2007-04-15 | 1 | -2/+2 |
| | | | | llvm-svn: 36080 | ||||
* | Make the llvm-runtest function much more amenable by eliminating all the | Reid Spencer | 2007-04-11 | 1 | -1/+1 |
| | | | | | | | | global variables that needed to be passed in. This makes it possible to add new global variables with only a couple changes (Makefile and llvm-dg.exp) instead of touching every single dg.exp file. llvm-svn: 35918 | ||||
* | Regression is gone, don't try to find it on clean target. | Reid Spencer | 2007-01-17 | 3 | -0/+60 |
llvm-svn: 33296 |