summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SimplifyLibCalls
Commit message (Collapse)AuthorAgeFilesLines
* Move the remaining simplify-libcalls tests to instcombine, merging most of ↵Benjamin Kramer2013-05-1911-604/+0
| | | | | | them into a single file. llvm-svn: 182211
* Move library call prototype attribute inference to functionattrsMeador Inge2013-03-212-34/+0
| | | | | | | | | | | | The simplify-libcalls pass implemented a doInitialization hook to infer function prototype attributes for well-known functions. Given that the simplify-libcalls pass is going away *and* that the functionattrs pass is already in place to deduce function attributes, I am moving this logic to the functionattrs pass. This approach was discussed during patch review: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121126/157465.html. llvm-svn: 177619
* Modify the LLVM assembly output so that it uses references to represent ↵Bill Wendling2013-02-201-3/+6
| | | | | | | | | | | function attributes. This makes the LLVM assembly look better. E.g.: define void @foo() #0 { ret void } attributes #0 = { nounwind noinline ssp } llvm-svn: 175605
* FileCheck-ize the tests.Bill Wendling2013-02-111-5/+11
| | | | llvm-svn: 174865
* Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ↵Dmitri Gribenko2012-12-301-1/+1
| | | | | | | | ModuleID This is done to avoid odd test failures, like the one fixed in r171243. llvm-svn: 171246
* instcombine: Migrate puts optimizationsMeador Inge2012-11-291-15/+0
| | | | | | | | | | | | This patch migrates the puts optimizations from the simplify-libcalls pass into the instcombine library call simplifier. All the simplifiers from simplify-libcalls have now been migrated to instcombine. Yay! Just a few other bits to migrate (prototype attribute inference and a few statistics) and simplify-libcalls can finally be put to rest. llvm-svn: 168925
* instcombine: Migrate fputs optimizationsMeador Inge2012-11-291-30/+0
| | | | | | | This patch migrates the fputs optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168893
* instcombine: Migrate fwrite optimizationsMeador Inge2012-11-291-13/+0
| | | | | | | This patch migrates the fwrite optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168892
* instcombine: Migrate fprintf optimizationsMeador Inge2012-11-293-88/+0
| | | | | | | This patch migrates the fprintf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168891
* Move sprintf simplifier tests to test/Transforms/InstCombineMeador Inge2012-11-271-42/+0
| | | | | | | The tests from SPrintF.ll should have been migrated to sprintf-1.ll in r168677, but I forgot to do it. llvm-svn: 168702
* llvm/test/Transforms/SimplifyLibCalls: FileCheck-ize 3 tests.NAKAMURA Takumi2012-11-273-6/+12
| | | | llvm-svn: 168691
* llvm/test/Transforms/SimplifyLibCalls/SPrintF.ll: Handle @sprintf() with ↵NAKAMURA Takumi2012-11-271-2/+1
| | | | | | -instcombine, not -simplify-libcalls. llvm-svn: 168690
* llvm/test/Transforms/SimplifyLibCalls/SPrintF.ll: Fix datalayout since r168516.NAKAMURA Takumi2012-11-273-3/+3
| | | | llvm-svn: 168689
* Trailing linefeeds.NAKAMURA Takumi2012-11-272-2/+0
| | | | llvm-svn: 168688
* test/Transforms/SimplifyLibCalls/SPrintF.ll: Suppress this for now. r168677 ↵NAKAMURA Takumi2012-11-271-0/+1
| | | | | | | | unveiled another failure. FYI, this test makes no sense with "not grep"... I saw "assertion failure" in stderr. llvm-svn: 168679
* instcombine: Migrate sprintf optimizationsMeador Inge2012-11-272-41/+0
| | | | | | | This patch migrates the sprintf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168677
* instcombine: Migrate printf optimizationsMeador Inge2012-11-263-82/+0
| | | | | | | This patch migrates the printf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168604
* instcombine: Migrate toascii optimizationsMeador Inge2012-11-261-21/+0
| | | | | | | This patch migrates the toascii optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168580
* instcombine: Migrate isdigit optimizationsMeador Inge2012-11-261-21/+0
| | | | | | | This patch migrates the isdigit optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168578
* instcombine: Migrate *abs optimizationsMeador Inge2012-11-261-11/+0
| | | | | | | This patch migrates the *abs optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168574
* instcombine: Migrate ffs* optimizationsMeador Inge2012-11-251-45/+0
| | | | | | | This patch migrates the ffs* optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168571
* Disallow the undocumented practice of starting the datalayout string with '-'.Patrik Hägglund2012-11-231-1/+1
| | | | | | Update some test cases accordingly. llvm-svn: 168516
* instcombine: Migrate math library call simplificationsMeador Inge2012-11-136-540/+0
| | | | | | | | | | | | | | | | | This patch migrates the math library call simplifications from the simplify-libcalls pass into the instcombine library call simplifier. I have typically migrated just one simplifier at a time, but the math simplifiers are interdependent because: 1. CosOpt, PowOpt, and Exp2Opt all depend on UnaryDoubleFPOpt. 2. CosOpt, PowOpt, Exp2Opt, and UnaryDoubleFPOpt all depend on the option -enable-double-float-shrink. These two factors made migrating each of these simplifiers individually more of a pain than it would be worth. So, I migrated them all together. llvm-svn: 167815
* instcombine: Migrate memset optimizationsMeador Inge2012-11-112-24/+0
| | | | | | | This patch migrates the memset optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167689
* instcombine: Migrate memmove optimizationsMeador Inge2012-11-111-12/+0
| | | | | | | This patch migrates the memmove optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167687
* instcombine: Migrate memcmp optimizationsMeador Inge2012-11-111-35/+0
| | | | | | | This patch migrates the memcmp optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167683
* instcombine: Migrate strstr optimizationsMeador Inge2012-11-111-60/+0
| | | | | | | This patch migrates the strstr optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167682
* instcombine: Migrate strcspn optimizationsMeador Inge2012-11-101-25/+0
| | | | | | | This patch migrates the strcspn optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167675
* instcombine: Migrate strspn optimizationsMeador Inge2012-11-081-16/+0
| | | | | | | This patch migrates the strspn optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167568
* instcombine: Migrate strto* optimizationsMeador Inge2012-10-311-14/+0
| | | | | | | This patch migrates the strto* optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167119
* instcombine: Migrate strpbrk optimizationsMeador Inge2012-10-311-25/+0
| | | | | | | This patch migrates the strpbrk optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167105
* instcombine: Migrate strlen optimizationsMeador Inge2012-10-311-62/+0
| | | | | | | This patch migrates the strlen optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167103
* instcombine: Migrate strncpy optimizationsMeador Inge2012-10-311-29/+0
| | | | | | | This patch migrates the strncpy optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167102
* instcombine: Migrate stpcpy optimizationsMeador Inge2012-10-311-43/+0
| | | | | | | | This patch migrates the stpcpy optimizations from the simplify-libcalls pass into the instcombine library call simplifier. Note that the __stpcpy_chk simplifications were migrated in a previous commit. llvm-svn: 167083
* SimplifyLibcalls: The return value of ffsll is always i32, even when the ↵Benjamin Kramer2012-10-191-3/+12
| | | | | | | | input is zero. Fixes PR13028. llvm-svn: 166313
* instcombine: Migrate strcpy optimizationsMeador Inge2012-10-181-37/+0
| | | | | | | | | | | | This patch migrates the strcpy optimizations from the simplify-libcalls pass into the instcombine library call simplifier. Note also that StrCpyChkOpt has been updated with a few simplifications that were being done in the simplify-libcalls version of StrCpyOpt, but not in the migrated implementation of StrCpyOpt. There is no reason to overload StrCpyOpt with fortified and regular simplifications in the new model since there is already a dedicated simplifier for __strcpy_chk. llvm-svn: 166198
* instcombine: Migrate strcmp and strncmp optimizationsMeador Inge2012-10-153-169/+0
| | | | | | | This patch migrates the strcmp and strncmp optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 165915
* instcombine: Migrate strchr and strrchr optimizationsMeador Inge2012-10-132-49/+0
| | | | | | | This patch migrates the strchr and strrchr optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 165875
* instcombine: Migrate strcat and strncat optimizationsMeador Inge2012-10-132-64/+0
| | | | | | | This patch migrates the strcat and strncat optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 165874
* SimplifyLibCalls: Give all safely-shrinkable libcalls the same treatment.Benjamin Kramer2012-08-221-0/+179
| | | | llvm-svn: 162383
* Whitespace.Chad Rosier2012-08-221-2/+0
| | | | llvm-svn: 162370
* Add test case for r162368.Chad Rosier2012-08-221-0/+335
| | | | llvm-svn: 162369
* SimplifyLibcalls: Add fabs and trunc to the list of libcalls that are safe ↵Benjamin Kramer2012-08-181-0/+23
| | | | | | to shrink from double to float. llvm-svn: 162173
* Fix the remaining TCL-style quotes found in the testsuite. This isChandler Carruth2012-07-029-9/+9
| | | | | | | | | | | | | | | | | another mechanical change accomplished though the power of terrible Perl scripts. I have manually switched some "s to 's to make escaping simpler. While I started this to fix tests that aren't run in all configurations, the massive number of tests is due to a really frustrating fragility of our testing infrastructure: things like 'grep -v', 'not grep', and 'expected failures' can mask broken tests all too easily. Essentially, I'm deeply disturbed that I can change the testsuite so radically without causing any change in results for most platforms. =/ llvm-svn: 159547
* Convert all tests using TCL-style quoting to use shell-style quoting.Chandler Carruth2012-07-029-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | This was done through the aid of a terrible Perl creation. I will not paste any of the horrors here. Suffice to say, it require multiple staged rounds of replacements, state carried between, and a few nested-construct-parsing hacks that I'm not proud of. It happens, by luck, to be able to deal with all the TCL-quoting patterns in evidence in the LLVM test suite. If anyone is maintaining large out-of-tree test trees, feel free to poke me and I'll send you the steps I used to convert things, as well as answer any painful questions etc. IRC works best for this type of thing I find. Once converted, switch the LLVM lit config to use ShTests the same as Clang. In addition to being able to delete large amounts of Python code from 'lit', this will also simplify the entire test suite and some of lit's architecture. Finally, the test suite runs 33% faster on Linux now. ;] For my 16-hardware-thread (2x 4-core xeon e5520): 36s -> 24s llvm-svn: 159525
* revert my previous commit (r159173), since as Eli pointed out, it's ↵Nuno Lopes2012-06-251-1/+1
| | | | | | perfectly ok to mark realloc as noalias llvm-svn: 159175
* do not set realloc() as NotAlias, since it can return the same pointer. This ↵Nuno Lopes2012-06-251-1/+1
| | | | | | whole thing should be upgraded to use the MemoryBuiltin interface anyway.. llvm-svn: 159173
* revert my previous patches that introduced an additional parameter to the ↵Nuno Lopes2012-05-222-4/+4
| | | | | | | | objectsize intrinsic. After a lot of discussion, we realized it's not the best option for run-time bounds checking llvm-svn: 157255
* FileCheck-ify, apropos of nothingJoel Jones2012-05-181-4/+4
| | | | llvm-svn: 157051
* Teach SimplifyLibCalls about stpcpy.David Majnemer2012-05-151-0/+43
| | | | llvm-svn: 156815
OpenPOWER on IntegriCloud