summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/ConstProp
Commit message (Collapse)AuthorAgeFilesLines
...
* rename test.Chris Lattner2010-11-141-0/+0
| | | | llvm-svn: 119033
* filecheckize, remove an old and useless testChris Lattner2010-11-142-4/+4
| | | | llvm-svn: 119032
* this test is pretty pointless and "propogation" isn't a word (or so Misha ↵Chris Lattner2010-11-141-19/+0
| | | | | | claims). llvm-svn: 119031
* fix a bug I introduced, no idea how this didn't repro right.Chris Lattner2010-10-141-2/+1
| | | | llvm-svn: 116462
* hack to unbreak buildbotsChris Lattner2010-10-141-1/+2
| | | | llvm-svn: 116461
* add uadd_ov/usub_ov to apint, consolidate constant foldingChris Lattner2010-10-141-0/+11
| | | | | | | | | logic to use the new APInt methods. Among other things this implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold which comes from "clang -ftrapv", originally brought to my attention from PR8221. llvm-svn: 116457
* remove some noise from tests.Chris Lattner2010-09-021-2/+2
| | | | llvm-svn: 112889
* fix PR6197 - infinite recursion in ipsccp due to block addressesChris Lattner2010-02-011-0/+12
| | | | | | evaluateICmpRelation wasn't handling blockaddress. llvm-svn: 94993
* Fix a crasher trying to fold each element in a comparison between two vectorsNick Lewycky2010-01-211-1/+8
| | | | | | | | | | if one of the vectors didn't have elements (such as undef). Fixes PR 6096. Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would have <2 x i1> type if constant folding was successful and i1 type if it wasn't. This exposed a related issue in the bitcode reader. llvm-svn: 94069
* fix PR5978 by peeling the loop so that we avoid shifting theChris Lattner2010-01-081-0/+10
| | | | | | | result int by 8 for the first byte. While normally harmless, if the result is smaller than a byte, this shift is invalid. llvm-svn: 93018
* Fix PR5551 by not ignoring the top level constantexpr whenChris Lattner2009-12-041-0/+9
| | | | | | folding a load from constant. llvm-svn: 90545
* Convert a few tests to FileCheck for PR5307.Edward O'Callaghan2009-10-261-2/+5
| | | | llvm-svn: 85171
* fix PR5287, a serious regression from my previous patches. Thanks toChris Lattner2009-10-241-24/+38
| | | | | | Duncan for the nice tiny testcase. llvm-svn: 84992
* teach libanalysis to simplify vector loads with bitcast sources. ThisChris Lattner2009-10-231-0/+10
| | | | | | | | | | | | | | | | | | | | | | implements something out of Target/README.txt producing: _foo: ## @foo movl 4(%esp), %eax movapd LCPI1_0, %xmm0 movapd %xmm0, (%eax) ret $4 instead of: _foo: ## @foo movl 4(%esp), %eax movapd _b, %xmm0 mulpd LCPI1_0, %xmm0 addpd _a, %xmm0 movapd %xmm0, (%eax) ret $4 llvm-svn: 84942
* enhance FoldReinterpretLoadFromConstPtr to handle loads of up to 32 Chris Lattner2009-10-231-0/+11
| | | | | | bytes (i256). llvm-svn: 84941
* 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
OpenPOWER on IntegriCloud