summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombine.h
Commit message (Collapse)AuthorAgeFilesLines
* Migrate _chk call lowering from SimplifyLibCalls to InstCombine. StubEric Christopher2010-03-061-0/+1
| | | | | | | | out the remainder of the calls that we should lower in some way and move the tests to the new correct directory. Fix up tests that are now optimized more than they were before by -instcombine. llvm-svn: 97875
* Fix PR6503. This turned into a much more interesting and nasty bug. Various Chris Lattner2010-03-051-6/+6
| | | | | | | | | | | parts of the cmp|cmp and cmp&cmp folding logic wasn't prepared for vectors (unrelated to the bug but noticed while in the code) and the code was *definitely* not safe to use by the (cast icmp)|(cast icmp) handling logic that I added in r95855. Fix all this up by changing the various routines to more consistently use IRBuilder and not pass in the I which had the wrong type. llvm-svn: 97801
* Rename ValueRequiresCast to ShouldOptimizeCast, to better reflectChris Lattner2010-02-111-5/+6
| | | | | | | | | | | | | | what it does. Enhance it to return false to optimizing vector sign extensions from vector comparisions, which is the idiom used to get a splatted vector for a vector comparison. Doing this breaks vector-casts.ll, add some compensating transformations to handle the important case they cover without depending on this canonicalization. This fixes rdar://7434900 a serious pessimization of vector compares. llvm-svn: 95855
* inline and remove the rest of commonIntCastTransforms.Chris Lattner2010-01-101-1/+0
| | | | llvm-svn: 93091
* make this a static function instead of a method.Chris Lattner2010-01-051-2/+0
| | | | llvm-svn: 92795
* split mul/div/rem instructions out to their own file.Chris Lattner2010-01-051-0/+1
| | | | llvm-svn: 92689
* convert various IntrinsicInst's to use class instead of struct.Chris Lattner2010-01-051-3/+3
| | | | llvm-svn: 92681
* Fix some struct/class specifier mismatches.Daniel Dunbar2010-01-051-3/+3
| | | | llvm-svn: 92550
* split 943 lines of instcombine out to a new InstCombineCasts.cppChris Lattner2010-01-041-0/+10
| | | | | | file. InstructionCombining.cpp is now down to a svelte 9300 lines :) llvm-svn: 92468
* split instcombine of compares (visit[FI]Cmp) out toChris Lattner2010-01-041-1/+17
| | | | | | a new InstCombineCompares.cpp file. llvm-svn: 92467
* move the 'SimplifyDemandedFoo' methods out to their own file, cutting 1K ↵Chris Lattner2010-01-041-5/+2
| | | | | | lines out of instcombine.cpp llvm-svn: 92465
* split the instcombine class definition out to a header shared Chris Lattner2010-01-041-0/+328
among the instcombine library. llvm-svn: 92463
OpenPOWER on IntegriCloud