summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/ConstProp
Commit message (Collapse)AuthorAgeFilesLines
...
* teach libanalysis to fold int and fp loads from almost arbitraryChris Lattner2009-10-231-0/+68
| | | | | | | | | | | | | | | | | | | non-type-safe constant initializers. This sort of thing happens quite a bit for 4-byte loads out of string constants, unions, bitfields, and an interesting endianness check from sqlite, which is something like this: const int sqlite3one = 1; # define SQLITE_BIGENDIAN (*(char *)(&sqlite3one)==0) # define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1) # define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE) all of these macros now constant fold away. This implements PR3152 and is based on a patch started by Eli, but heavily modified and extended. llvm-svn: 84936
* Teach vm core to more aggressively fold 'trunc' constantexprs,Chris Lattner2009-10-171-0/+18
| | | | | | | | | allowing it to simplify the crazy constantexprs in the testcases down to something sensible. This allows -std-compile-opts to completely "devirtualize" the pointers to member functions in the testcase from PR5176. llvm-svn: 84368
* remove # uses from FileCheck lines.Chris Lattner2009-10-171-14/+15
| | | | llvm-svn: 84367
* rename testChris Lattner2009-10-171-0/+0
| | | | llvm-svn: 84364
* Extend ConstantFolding to understand signed overflow variantsEvan Phoenix2009-10-051-1/+120
| | | | llvm-svn: 83338
* teach the optimizer how to constant fold uadd/usub intrinsics.Chris Lattner2009-10-051-0/+53
| | | | llvm-svn: 83295
* Peer through zext and sext to eliminate them when it is safe to do so.Nick Lewycky2009-09-201-0/+3
| | | | llvm-svn: 82389
* Fold 'icmp eq (icmp), true' into an xor(icmp).Nick Lewycky2009-09-201-0/+9
| | | | llvm-svn: 82386
* Rewrite this check so that it checks what it's supposed to and doesn't useNick Lewycky2009-09-201-27/+20
| | | | | | CHECK-NOT. llvm-svn: 82383
* Teach the constant folder how to not a cmpinst.Nick Lewycky2009-09-201-0/+6
| | | | llvm-svn: 82378
* Try turning icmp(bitcast(x), bitcast(y)) into icmp(bitcast(bitcast(x)), y) inNick Lewycky2009-09-201-0/+5
| | | | | | the hopes that the two bitcasts will merge. llvm-svn: 82371
* Teach the constant folder how to handle a few simple i1 cases.Nick Lewycky2009-09-201-0/+25
| | | | llvm-svn: 82340
* convert to filecheckChris Lattner2009-09-151-9/+10
| | | | llvm-svn: 81848
* Change tests from "opt %s" to "opt < %s" so that opt doesn't see theDan Gohman2009-09-1117-19/+19
| | | | | | | | 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-0818-20/+20
| | | | llvm-svn: 81257
* Change these tests to feed the assembly files to opt directly, insteadDan Gohman2009-09-0822-24/+24
| | | | | | of using llvm-as, now that opt supports this. llvm-svn: 81226
* Eliminate some Tclisms.Daniel Dunbar2009-09-051-1/+1
| | | | llvm-svn: 81081
* Fix month.Chris Lattner2009-09-021-0/+0
| | | | llvm-svn: 80769
* fix PR4848 an infinite loop when indexing down through a recursive gepChris Lattner2009-09-021-0/+24
| | | | | | | and we get the original pointer type. This doesn't mean that we're at the first pointer being indexed. Correct the predicate. llvm-svn: 80762
* Remove the vicmp and vfcmp instructions. Because we never had a release withNick Lewycky2009-07-081-12/+12
| | | | | | | these instructions, no autoupgrade or backwards compatibility support is provided. llvm-svn: 74991
* Expand this test to handle more cases (remainder and shifts) of zero.Nick Lewycky2009-06-211-0/+11
| | | | llvm-svn: 73839
* implement PR4424: 0/x is always 0 for integer division.Chris Lattner2009-06-211-0/+12
| | | | llvm-svn: 73835
* Split the Add, Sub, and Mul instruction opcodes into separateDan Gohman2009-06-041-3/+3
| | | | | | | | | | | | | | | integer and floating-point opcodes, introducing FAdd, FSub, and FMul. For now, the AsmParser, BitcodeReader, and IRBuilder all preserve backwards compatability, and the Core LLVM APIs preserve backwards compatibility for IR producers. Most front-ends won't need to change immediately. This implements the first step of the plan outlined here: http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt llvm-svn: 72897
* apply Eli's patch for PR2165 and provide a testcase.Chris Lattner2008-10-161-0/+8
| | | | llvm-svn: 57625
* Fix a case where vector comparison constant folding would cause anChris Lattner2008-07-101-0/+6
| | | | | | infinite recursion. part of PR2529 llvm-svn: 53383
* elementwise comparison of vector constants was completely wrong. FixChris Lattner2008-07-101-1/+9
| | | | | | it for PR2529 llvm-svn: 53380
* 'Optimize' testChris Lattner2008-07-081-1/+1
| | | | llvm-svn: 53242
* Fix three bugs:Chris Lattner2008-07-081-0/+14
| | | | | | | | | | | 1) evaluate [v]fcmp true/false with undefs to true or false instead of undef. 2) fix vector comparisons with undef to return a vector result instead of i1 3) fix vector comparisons with evaluatable results to return vector true/false instead of i1 true/false (PR2529) llvm-svn: 53220
* 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 test cases.Tanya Lattner2008-03-0117-156/+194
| | | | llvm-svn: 47793
* Fix PR1816, by correcting the broken definition of APInt::countTrailingZeros.Chris Lattner2007-11-231-0/+8
| | | | llvm-svn: 44296
* Change all floating constants that are not exactlyDale Johannesen2007-09-051-2/+2
| | | | | | representable to use hex format. llvm-svn: 41722
* Convert tests using "| wc -l | grep ..." to use the count script.Dan Gohman2007-08-151-1/+1
| | | | llvm-svn: 41097
* Convert .cvsignore filesJohn Criswell2007-06-291-3/+0
| | | | llvm-svn: 37801
* For PR1319:Reid Spencer2007-04-161-1/+0
| | | | | | | | 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-162-2/+4
| | | | | | Fix syntax of tests to ensure grep pattern is properly quoted. llvm-svn: 36134
* Oops. A little aggressive on the name changes there.Reid Spencer2007-04-141-8/+8
| | | | llvm-svn: 36029
* For PR1913:Reid Spencer2007-04-149-22/+31
| | | | | | Convert to new test system. This exposes test/Transforms/ConstProp/calls.ll llvm-svn: 36027
* 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
* testcase for pr1215Chris Lattner2007-02-241-0/+5
| | | | llvm-svn: 34547
* Testcase for miscompilationChris Lattner2007-02-061-0/+7
| | | | llvm-svn: 33947
* Regression is gone, don't try to find it on clean target.Reid Spencer2007-01-1719-0/+253
llvm-svn: 33296
OpenPOWER on IntegriCloud