summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/TailCallElim
Commit message (Collapse)AuthorAgeFilesLines
...
* Temporarily XFAIL waiting for a fix.Bill Wendling2011-10-171-1/+2
| | | | llvm-svn: 142215
* Check for the returns_twice attribute in callsFunctionThatReturnsTwice. ThisRafael Espindola2011-10-051-4/+17
| | | | | | fixes PR11038, but there are still some cleanups to be done. llvm-svn: 141204
* Add the returns_twice attribute to LLVM.Rafael Espindola2011-10-031-1/+1
| | | | llvm-svn: 141001
* Replace uses of unwind with unreachable for the same effect.Bill Wendling2011-09-191-2/+2
| | | | llvm-svn: 140077
* Try to eliminate the use of the 'unwind' instruction.Bill Wendling2011-09-021-1/+1
| | | | llvm-svn: 139046
* make the asmparser reject function and type redefinitions. 'Merging' hasn't ↵Chris Lattner2011-06-171-1/+0
| | | | | | | | been needed since llvm-gcc 3.4 days. llvm-svn: 133248
* Don't do tail calls in a function that call setjmp. The stack might beRafael Espindola2011-05-161-0/+16
| | | | | | corrupted when setjmp returns again. llvm-svn: 131399
* Add a test for TCE return duplication.Evan Cheng2011-01-291-0/+23
| | | | llvm-svn: 124527
* merge two tests.Chris Lattner2010-08-312-35/+35
| | | | llvm-svn: 112617
* merge two tests and convert to filecheck.Chris Lattner2010-08-312-23/+28
| | | | llvm-svn: 112613
* Handle the case of a tail recursion in which the tail call is followedDuncan Sands2010-07-131-1/+4
| | | | | | | | | by a return that returns a constant, while elsewhere in the function another return instruction returns a different constant. This is a special case of accumulator recursion, so just generalize the existing logic a bit. llvm-svn: 108241
* Fix PR7328: when turning a tail recursion into a loop, need to preserveDuncan Sands2010-06-261-0/+17
| | | | | | | | the returned value after the tail call if it differs from other return values. The optimal thing to do would be to introduce a phi node for the return value, but for the moment just fix the miscompile. llvm-svn: 106947
* Refine the detection of seemingly infinitely recursive calls where theDan Gohman2010-04-161-1/+25
| | | | | | | callee is expected to be expanded to something else by codegen, so that normal infinitely recursive calls are still transformed. llvm-svn: 101468
* Revert 94937 and move the noreturn check to codegen.Evan Cheng2010-02-031-12/+0
| | | | llvm-svn: 95198
* Do not mark no-return calls tail calls. It'll screw up special calls like ↵Evan Cheng2010-01-311-0/+12
| | | | | | longjmp and it doesn't make much sense for performance reason. If my logic is faulty, please let me know. llvm-svn: 94937
* Delete useless trailing semicolons.Dan Gohman2010-01-051-3/+3
| | | | llvm-svn: 92740
* Improve tail call elimination to handle the switch statement.Nick Lewycky2009-11-071-0/+34
| | | | llvm-svn: 86403
* Oops, FunctionContainsEscapingAllocas is really used to mean two differentNick Lewycky2009-11-071-0/+1
| | | | | | things. Back out part of r86349 for a moment. llvm-svn: 86353
* Dust off tail recursion elimination. Fix a fixme by applying CaptureTrackingNick Lewycky2009-11-071-0/+24
| | | | | | and add a .ll to demo the new capability. llvm-svn: 86349
* Convert more tests to avoid llvm-as.Dan Gohman2009-09-111-2/+1
| | | | llvm-svn: 81545
* Eliminate more redundant llvm-as calls.Dan Gohman2009-09-112-2/+2
| | | | llvm-svn: 81540
* Change tests from "opt %s" to "opt < %s" so that opt doesn't see theDan Gohman2009-09-117-7/+7
| | | | | | | | 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
* Use opt -S instead of piping bitcode output through llvm-dis.Dan Gohman2009-09-0810-10/+10
| | | | llvm-svn: 81257
* Change these tests to feed the assembly files to opt directly, insteadDan Gohman2009-09-087-7/+7
| | | | | | of using llvm-as, now that opt supports this. llvm-svn: 81226
* tweak test, add PR#Chris Lattner2009-09-071-1/+2
| | | | llvm-svn: 81158
* Eliminate uses of %prcontext.Daniel Dunbar2009-09-051-2/+3
| | | | | | | - I'd appreciate it if someone else eyeballs my changes to make sure I captured the intent of the test. llvm-svn: 81083
* Improve tail call elim to move loads above readonly callsChris Lattner2009-06-192-0/+165
| | | | | | | when it allows forming a tail call. Patch by Frits van Bommel. This implements PR4323. llvm-svn: 73752
* sabre brings to my attention that the 'tr' suffix is also obsoleteGabor Greif2008-05-201-1/+1
| | | | llvm-svn: 51349
* Rename the last test with .llx extension to .ll, resolve duplicate test by ↵Gabor Greif2008-05-201-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
* Remove llvm-upgrade and update tests.Tanya Lattner2008-03-108-97/+86
| | | | llvm-svn: 48137
* remove obsolete testcaseChris Lattner2007-09-101-9/+0
| | | | llvm-svn: 41820
* Add missing llvm-dis.Dale Johannesen2007-09-101-1/+1
| | | | llvm-svn: 41813
* Prevent tailcallelim from breaking "recursive" calls to builtins.Chris Lattner2007-09-101-0/+10
| | | | llvm-svn: 41804
* Convert .cvsignore filesJohn Criswell2007-06-291-3/+0
| | | | llvm-svn: 37801
* move these xfailed tests to lib/Target/README.txtChris Lattner2007-05-051-31/+0
| | | | llvm-svn: 36805
* For PR1319:Reid Spencer2007-04-161-2/+3
| | | | | | | | Remove && from the end of the lines to prevent tests from throwing run lines into the background. Also, clean up places where the same command is run multiple times by using a temporary file. llvm-svn: 36142
* For PR1319:Reid Spencer2007-04-161-1/+2
| | | | | | Fix test syntax per new rules. llvm-svn: 36133
* Use %prcontext, $prcontext is not resolving for some reason.Reid Spencer2007-04-151-1/+1
| | | | llvm-svn: 36054
* For PR1319:Reid Spencer2007-04-154-5/+6
| | | | | | Conver to new test system. llvm-svn: 36045
* Make the llvm-runtest function much more amenable by eliminating all theReid Spencer2007-04-111-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
* For PR761:Reid Spencer2007-01-263-3/+5
| | | | | | | | | | | | | | Remove "target endian/pointersize" or add "target datalayout" to make the test parse properly or set the datalayout because defaults changes. For PR645: Make global names use the @ prefix. For llvm-upgrade changes: Fix test cases or completely remove use of llvm-upgrade for test cases that cannot survive the new renaming or upgrade capabilities. llvm-svn: 33533
* Regression is gone, don't try to find it on clean target.Reid Spencer2007-01-1712-0/+184
llvm-svn: 33296
OpenPOWER on IntegriCloud