summaryrefslogtreecommitdiff
path: root/test/Transforms/TailCallElim
Commit message (Collapse)AuthorAge
* Add a test for TCE return duplication.Evan Cheng2011-01-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124527 91177308-0d34-0410-b5e6-96231b3b80d8
* merge two tests.Chris Lattner2010-08-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112617 91177308-0d34-0410-b5e6-96231b3b80d8
* merge two tests and convert to filecheck.Chris Lattner2010-08-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112613 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle the case of a tail recursion in which the tail call is followedDuncan Sands2010-07-13
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108241 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR7328: when turning a tail recursion into a loop, need to preserveDuncan Sands2010-06-26
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106947 91177308-0d34-0410-b5e6-96231b3b80d8
* Refine the detection of seemingly infinitely recursive calls where theDan Gohman2010-04-16
| | | | | | | | callee is expected to be expanded to something else by codegen, so that normal infinitely recursive calls are still transformed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101468 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 94937 and move the noreturn check to codegen.Evan Cheng2010-02-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95198 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not mark no-return calls tail calls. It'll screw up special calls like ↵Evan Cheng2010-01-31
| | | | | | longjmp and it doesn't make much sense for performance reason. If my logic is faulty, please let me know. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94937 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete useless trailing semicolons.Dan Gohman2010-01-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve tail call elimination to handle the switch statement.Nick Lewycky2009-11-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86403 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, FunctionContainsEscapingAllocas is really used to mean two differentNick Lewycky2009-11-07
| | | | | | | things. Back out part of r86349 for a moment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86353 91177308-0d34-0410-b5e6-96231b3b80d8
* Dust off tail recursion elimination. Fix a fixme by applying CaptureTrackingNick Lewycky2009-11-07
| | | | | | | and add a .ll to demo the new capability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86349 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert more tests to avoid llvm-as.Dan Gohman2009-09-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81545 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate more redundant llvm-as calls.Dan Gohman2009-09-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81540 91177308-0d34-0410-b5e6-96231b3b80d8
* Change tests from "opt %s" to "opt < %s" so that opt doesn't see theDan Gohman2009-09-11
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8
* Use opt -S instead of piping bitcode output through llvm-dis.Dan Gohman2009-09-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81257 91177308-0d34-0410-b5e6-96231b3b80d8
* Change these tests to feed the assembly files to opt directly, insteadDan Gohman2009-09-08
| | | | | | | of using llvm-as, now that opt supports this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226 91177308-0d34-0410-b5e6-96231b3b80d8
* tweak test, add PR#Chris Lattner2009-09-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81158 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate uses of %prcontext.Daniel Dunbar2009-09-05
| | | | | | | - I'd appreciate it if someone else eyeballs my changes to make sure I captured the intent of the test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81083 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve tail call elim to move loads above readonly callsChris Lattner2009-06-19
| | | | | | | | when it allows forming a tail call. Patch by Frits van Bommel. This implements PR4323. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73752 91177308-0d34-0410-b5e6-96231b3b80d8
* sabre brings to my attention that the 'tr' suffix is also obsoleteGabor Greif2008-05-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51349 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the last test with .llx extension to .ll, resolve duplicate test by ↵Gabor Greif2008-05-20
| | | | | | renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51328 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove llvm-upgrade and update tests.Tanya Lattner2008-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48137 91177308-0d34-0410-b5e6-96231b3b80d8
* remove obsolete testcaseChris Lattner2007-09-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41820 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing llvm-dis.Dale Johannesen2007-09-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41813 91177308-0d34-0410-b5e6-96231b3b80d8
* Prevent tailcallelim from breaking "recursive" calls to builtins.Chris Lattner2007-09-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41804 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert .cvsignore filesJohn Criswell2007-06-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37801 91177308-0d34-0410-b5e6-96231b3b80d8
* move these xfailed tests to lib/Target/README.txtChris Lattner2007-05-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36805 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1319:Reid Spencer2007-04-16
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36142 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1319:Reid Spencer2007-04-16
| | | | | | | Fix test syntax per new rules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36133 91177308-0d34-0410-b5e6-96231b3b80d8
* Use %prcontext, $prcontext is not resolving for some reason.Reid Spencer2007-04-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36054 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1319:Reid Spencer2007-04-15
| | | | | | | Conver to new test system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36045 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the llvm-runtest function much more amenable by eliminating all theReid Spencer2007-04-11
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35918 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR761:Reid Spencer2007-01-26
| | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33533 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR950:Reid Spencer2006-12-31
| | | | | | | | | | | | | | | | | | | | | | | Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32789 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the llvm-upgrade program to upgrade llvm assembly.Reid Spencer2006-12-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the ability to xfail based on llvmgcc versionTanya Lattner2006-04-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27635 91177308-0d34-0410-b5e6-96231b3b80d8
* Tired of wading through cvs's list ? files that are generated when buildingReid Spencer2006-03-23
| | | | | | | | | with srcdir = objdir to see what's okay and what's cruft. So, in goes a bunch of .cvsignore files to shut cvs up about known output from running "make check". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27009 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcaseChris Lattner2005-11-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24191 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcases for PR615Chris Lattner2005-08-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22689 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcaseChris Lattner2005-05-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21837 91177308-0d34-0410-b5e6-96231b3b80d8
* This is a cross platform fail, failing on freebsd as wellChris Lattner2004-11-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18388 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding srcdir argTanya Lattner2004-11-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18020 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding subdirectory dg.exp files in order to be able to use dejagnu to only ↵Tanya Lattner2004-11-13
| | | | | | run specific tests (located in some subdirectory of Regression) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17712 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding XFAIL lines for dejagnu support.Tanya Lattner2004-11-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17514 91177308-0d34-0410-b5e6-96231b3b80d8
* new testChris Lattner2003-12-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10466 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase that is not actually handled yet, but should be in the future.Chris Lattner2003-12-09
| | | | | | | This is here to remind me to get back to this after a while. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10336 91177308-0d34-0410-b5e6-96231b3b80d8
* Whoops, forgot to check this in. :)Chris Lattner2003-12-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10334 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase for automatic insertion of accumulator variables to eliminateChris Lattner2003-12-08
| | | | | | | tail recursion git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10331 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase, this should be -tailcallelim'inatedChris Lattner2003-12-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10311 91177308-0d34-0410-b5e6-96231b3b80d8