aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/DeadArgElim
Commit message (Collapse)AuthorAgeFilesLines
* Change tests from "opt %s" to "opt < %s" so that opt doesn't see theDan Gohman2009-09-1114-16/+16
| | | | | | | | | 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-0812-14/+14
| | | | 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-0814-16/+16
| | | | | | | 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
* aha, DAE does have to think about PHI nodes. Many thanks to "Dr Evil" (aka ↵Chris Lattner2009-03-181-0/+11
| | | | | | | | | Duncan) for pointing this out :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67212 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR3807 by inserting 'insertelement' instructions in the normal dest of Chris Lattner2009-03-181-0/+15
| | | | | | | an invoke instead of after the invoke (in its block), which is invalid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67139 91177308-0d34-0410-b5e6-96231b3b80d8
* adjust test to make it more robustChris Lattner2009-03-011-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65739 91177308-0d34-0410-b5e6-96231b3b80d8
* Support inreg, zext and sext as return value attributes.Devang Patel2008-09-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56801 91177308-0d34-0410-b5e6-96231b3b80d8
* Un-XFAIL multdeadretval, since instcombine now properly handles the mess ↵Matthijs Kooijman2008-07-161-1/+0
| | | | | | deadargelim leaves behind :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53674 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL the multdeadretval test for now, I will be fixing instcombine to make ↵Matthijs Kooijman2008-07-151-0/+1
| | | | | | it work again tomorrow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53614 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a few tests which no longer hold for deadargelim (since it is nowMatthijs Kooijman2008-07-151-15/+7
| | | | | | | | | allowed to canonicalize return values). Add a test that checks if return value and function attributes are not removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53612 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for the canonicalizations now performed by deadargelim.Matthijs Kooijman2008-07-151-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53611 91177308-0d34-0410-b5e6-96231b3b80d8
* Make deadargelim a bit less smart, so it doesn't choke on nested structs asMatthijs Kooijman2008-07-151-1/+14
| | | | | | | | | | | | | return values that are still (partially) live. Instead of updating all uses of a call instruction after removing some elements, it now just rebuilds the original struct (With undef gaps where the unused values were) and leaves it to instcombine to clean this up. The added testcase still fails currently, but this is due to instcombine which isn't good enough yet. I will fix that part next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53608 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Matthijs Kooijman2008-07-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53605 91177308-0d34-0410-b5e6-96231b3b80d8
* Restructure dead argument elimination, try #3 :-)Matthijs Kooijman2008-07-101-2/+17
| | | | | | | | | | | | | | | | | | Rewrite the DeadArgumentElimination pass, to use a more explicit tracking of dependencies between return values and/or arguments. Also make the handling of arguments and return values the same. The pass now looks properly inside returned structs, but only at the first level (ie, not inside nested structs). This version fixed a few more bugs and was cleaned up a bit. It now passes all of LLVM's testing, and should still pass SPEC2006. There is still a minor bug with regard to returning nested structs. Since there is currently nothing that emits such IR, I will fix that in a seperate commit (partly because it requires a non-trivial fix). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53400 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL for now.Evan Cheng2008-06-261-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52795 91177308-0d34-0410-b5e6-96231b3b80d8
* Commit the new DeadArgElim pass again, this time with the gcc bootstrap ↵Matthijs Kooijman2008-06-243-1/+89
| | | | | | | | | failures fixed. Also add a testcase to reproduce the gcc bootstrap failure in very much reduced form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52677 91177308-0d34-0410-b5e6-96231b3b80d8
* This file is empty.Duncan Sands2008-06-211-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52596 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out Matthijs' DAE patches. It's miscompiling gcc driver.Evan Cheng2008-06-211-39/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52570 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testcase that checks that DeadArgElim doesn't touch stuff it shouldn't ↵Matthijs Kooijman2008-06-201-0/+36
| | | | | | touch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52540 91177308-0d34-0410-b5e6-96231b3b80d8
* Recommit r52459, rewriting of the dead argument elimination pass.Matthijs Kooijman2008-06-201-0/+39
| | | | | | | | | | | | | This is a fixed version that no longer uses multimap::equal_range, which resulted in a pointer invalidation problem. Also, DAE::InspectedFunctions was not really necessary, so it got removed. Lastly, this version no longer applies the extra arg hack on functions who did not have any arguments to start with. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52532 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove this test until the corresponding patch is reapplied because it's ↵Owen Anderson2008-06-181-39/+0
| | | | | | causing make check to crash for some people. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52473 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite the DeadArgumentElimination pass, to use a more explicit tracking ofMatthijs Kooijman2008-06-181-0/+39
| | | | | | | | | | | | | | dependencies between return values and/or arguments. Also make the handling of arguments and return values the same. The pass now looks properly inside returned structs, but only at the first level (ie, not inside nested structs). Also add a testcase for testing various variations of (multiple) dead rerturn values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52459 91177308-0d34-0410-b5e6-96231b3b80d8
* Store the result of multiple identical run lines in a temporary file.Matthijs Kooijman2008-06-161-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52314 91177308-0d34-0410-b5e6-96231b3b80d8
* sabre brings to my attention that the 'tr' suffix is also obsoleteGabor Greif2008-05-201-1/+1
| | | | 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-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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51328 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove llvm-upgrade and update test cases.Tanya Lattner2008-03-015-71/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47793 91177308-0d34-0410-b5e6-96231b3b80d8
* Test case for varargs parameter attribute issue I just fixed.Evan Cheng2008-01-171-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46127 91177308-0d34-0410-b5e6-96231b3b80d8
* When DAE drops the varargs part of a function, ensure anyDuncan Sands2008-01-111-1/+4
| | | | | | | attributes on the vararg call arguments are also dropped. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45892 91177308-0d34-0410-b5e6-96231b3b80d8
* Make DAE not wipe out attributes on calls, and not dropDuncan Sands2007-12-211-0/+16
| | | | | | | | | | | | | | | | return attributes on the floor. In the case of a call to a varargs function where the varargs arguments are being removed, any call attributes on those arguments need to be dropped. I didn't do this because I plan to make it illegal to have such attributes (see next patch). With this change, compiling the gcc filter2 eh test at -O0 and then running opt -std-compile-opts on it results in a correctly working program (compiling at -O1 or higher results in the test failing due to a problem with how we output eh info into the IR). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45285 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1735 and Transforms/DeadArgElim/2007-10-18-VarargsReturn.ll byChris Lattner2007-10-181-0/+12
| | | | | | | fixing some obviously broken code :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43141 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert .cvsignore filesJohn Criswell2007-06-291-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37801 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1319:Reid Spencer2007-04-161-2/+1
| | | | | | | | | 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-152-3/+3
| | | | | | | Upgrade to use new Tcl exec based test harness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36062 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35918 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for a bug responsible for GCC bootstrap failure, fallout from PR411.Chris Lattner2007-02-071-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34004 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the llvm-upgrade program to upgrade llvm assembly.Reid Spencer2006-12-025-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcaseChris Lattner2006-09-181-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30458 91177308-0d34-0410-b5e6-96231b3b80d8
* testcase that crashes dead arg elim.Chris Lattner2006-06-271-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28942 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the ability to xfail based on llvmgcc versionTanya Lattner2006-04-121-1/+1
| | | | 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-231-0/+3
| | | | | | | | | 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
* Adding srcdir argTanya Lattner2004-11-191-1/+1
| | | | 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-131-0/+3
| | | | | | 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
* New testcase for the deadreturnvalue deletion extension to -deadargelimChris Lattner2003-10-222-0/+55
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9389 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed `as' => `llvm-as', `dis' => `llvm-dis', `link' => `llvm-link'.Misha Brukman2003-09-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8558 91177308-0d34-0410-b5e6-96231b3b80d8
* Removing Makefiles. Regression tests are now run by QMTest.John Criswell2003-09-151-10/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8548 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove explicit control flow through the use of the 'not' scriptChris Lattner2003-06-281-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6965 91177308-0d34-0410-b5e6-96231b3b80d8
* Make testcase more interesting, remove absolute path from -load lineChris Lattner2003-06-171-1/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6760 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcases for bugs and the new DAE passChris Lattner2003-06-162-0/+37
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6693 91177308-0d34-0410-b5e6-96231b3b80d8