summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Silence some VC++ warningsJeff Cohen2005-05-102-3/+2
| | | | llvm-svn: 21838
* If a function contains no allocas, all of the calls in it are triviallyChris Lattner2005-05-091-3/+45
| | | | | | suitable for tail calls. llvm-svn: 21836
* The semantics of cast X to bool are a comparison against zero, not a truncation!Chris Lattner2005-05-091-0/+5
| | | | llvm-svn: 21833
* Implement READPORT/WRITEPORT, implementing the last X86 regression testsChris Lattner2005-05-091-2/+102
| | | | | | | | that were failing with the pattern selector. Note that the support that existed in the simple selector was clearly broken in several ways though (which has also been fixed). llvm-svn: 21831
* do not emit illegal instructionsChris Lattner2005-05-091-2/+2
| | | | llvm-svn: 21830
* Fix the syntax of the i/o instructions, these are obviously unused.Chris Lattner2005-05-091-12/+12
| | | | llvm-svn: 21829
* legalize readio/writeio into load/stores, fixing CodeGen/X86/io.llx withChris Lattner2005-05-091-0/+9
| | | | | | the pattern isel. llvm-svn: 21828
* legalize readio/writeio into a load/store if requestedChris Lattner2005-05-091-5/+55
| | | | llvm-svn: 21827
* legalize READPORT, WRITEPORT, READIO, WRITEIO, at least in the basic casesChris Lattner2005-05-091-9/+43
| | | | | | | where they are directly supported by the architecture. Wrap a bunch of long lines :( llvm-svn: 21826
* Add support for matching the READPORT, WRITEPORT, READIO, WRITEIO intrinsicsChris Lattner2005-05-091-14/+28
| | | | llvm-svn: 21825
* Add support for READPORT, WRITEPORT, READIO, WRITEIOChris Lattner2005-05-091-1/+10
| | | | llvm-svn: 21824
* restore some non-dead code I removed last night breaking double casts toChris Lattner2005-05-091-1/+3
| | | | | | uint llvm-svn: 21821
* fold and (shl X, C1), C2 -> rlwinm when possible. Many other cases are ↵Chris Lattner2005-05-091-1/+20
| | | | | | | | possible, include and (srl) and the inverses (shl and) etc. llvm-svn: 21820
* Fold shifts into subsequent SHL's. These shifts often arise due to addrsesChris Lattner2005-05-091-0/+28
| | | | | | arithmetic lowering. llvm-svn: 21818
* fix and cleanup constmul code a bit, this fixes mediabench/toast andDuraid Madina2005-05-091-13/+10
| | | | | | probably a couple of other tests. llvm-svn: 21814
* Wrap long lines, remove dead code that is now handled by legalizeChris Lattner2005-05-091-55/+8
| | | | llvm-svn: 21811
* Fix FP -> bool castsChris Lattner2005-05-091-0/+2
| | | | llvm-svn: 21810
* implement and.ll:test33Chris Lattner2005-05-091-2/+18
| | | | llvm-svn: 21809
* Don't use the load/store instruction as the source pointer, use the pointerChris Lattner2005-05-092-2/+4
| | | | | | being stored/loaded through! llvm-svn: 21806
* memoize all nodes, even null Value* nodes. Do not add two token chain outputsChris Lattner2005-05-091-7/+5
| | | | llvm-svn: 21805
* wrap long linesChris Lattner2005-05-091-2/+4
| | | | llvm-svn: 21804
* Print SrcValue nodes correctlyChris Lattner2005-05-092-0/+11
| | | | llvm-svn: 21803
* Fix X86/2005-05-08-FPStackifierPHI.ll: ugly gross hack.Chris Lattner2005-05-091-2/+19
| | | | llvm-svn: 21801
* Preserve CC's when linking modulesChris Lattner2005-05-091-0/+1
| | | | llvm-svn: 21799
* Preserve calling conventions when doing IPOChris Lattner2005-05-093-5/+13
| | | | llvm-svn: 21798
* wrap long lines, preserve calling conventions when cloning functions andChris Lattner2005-05-092-6/+14
| | | | | | turning calls into invokes llvm-svn: 21797
* By definition, 'tail' calls cannot access the stack frame of their caller.Chris Lattner2005-05-081-0/+6
| | | | | | | Expose this as a simple form of mod/ref information. This implements BasicAA/tailcall-modref.ll llvm-svn: 21796
* Verify that varargs functions all have cccChris Lattner2005-05-081-1/+5
| | | | llvm-svn: 21792
* Convert non-address taken functions with C calling conventions to fastcc.Chris Lattner2005-05-081-1/+41
| | | | llvm-svn: 21791
* Implement Reassociate/mul-neg-add.llChris Lattner2005-05-081-0/+12
| | | | llvm-svn: 21788
* Bail out earlierChris Lattner2005-05-081-4/+4
| | | | llvm-svn: 21786
* Teach reassociate that 0-X === X*-1Chris Lattner2005-05-081-4/+46
| | | | llvm-svn: 21785
* Fix PR557 and basictest[34].ll.Chris Lattner2005-05-081-12/+27
| | | | | | | | This makes reassociate realize that loads should be treated as unmovable, and gives distinct ranks to distinct values defined in the same basic block, allowing reassociate to do its thing. llvm-svn: 21783
* Add debugging informationChris Lattner2005-05-081-0/+18
| | | | llvm-svn: 21781
* eliminate gotosChris Lattner2005-05-081-3/+4
| | | | llvm-svn: 21780
* Wrap long lines. Fix "warning: conflicting types for built-in function ↵Chris Lattner2005-05-081-8/+15
| | | | | | | | 'memset'" warning from the CBE+GCC. llvm-svn: 21779
* Improve reassociation handling of inverses, implementing inverses.ll.Chris Lattner2005-05-081-2/+104
| | | | llvm-svn: 21778
* clean up and modernize this pass.Chris Lattner2005-05-081-24/+18
| | | | llvm-svn: 21776
* Strength reduce SAR into SHR if there is no way sign bits could be shiftedChris Lattner2005-05-081-0/+10
| | | | | | | | | | | in. This tends to get cases like this: X = cast ubyte to int Y = shr int X, ... Tested by: shift.ll:test24 llvm-svn: 21775
* Refactor some codeChris Lattner2005-05-081-45/+55
| | | | llvm-svn: 21772
* Handle some simple cases where we can see that values get annihilated.Chris Lattner2005-05-081-7/+42
| | | | llvm-svn: 21771
* Fix a miscompilation of crafty by clobbering the "A" variable.Chris Lattner2005-05-071-9/+10
| | | | llvm-svn: 21770
* Rewrite the guts of the reassociate pass to be more efficient and logical. ↵Chris Lattner2005-05-071-103/+185
| | | | | | | | | Instead of trying to do local reassociation tweaks at each level, only process an expression tree once (at its root). This does not improve the reassociation pass in any real way. llvm-svn: 21768
* * Add two strlen optimizations:Reid Spencer2005-05-071-23/+56
| | | | | | | | | | | | strlen(x) != 0 -> *x != 0 strlen(x) == 0 -> *x == 0 * Change nested statistics to use style of other LLVM statistics so that only the name of the optimization (simplify-libcalls) is used as the statistic name, and the description indicates which specific all is optimized. Cuts down on some redundancy and saves a few bytes of space. * Make note of stpcpy optimization that could be done. llvm-svn: 21766
* Don't increment the counter unless the debug flag is set.Reid Spencer2005-05-071-1/+1
| | | | llvm-svn: 21762
* Convert shifts to muls to assist reassociation. This implementsChris Lattner2005-05-071-2/+27
| | | | | | Reassociate/shifttest.ll llvm-svn: 21761
* Simplify the code and rearrange it. No major functionality changes here.Chris Lattner2005-05-071-62/+82
| | | | llvm-svn: 21759
* Silence VC++ warnings about unsafe mixing of ints and bools with the | operator.Jeff Cohen2005-05-071-2/+2
| | | | llvm-svn: 21758
* remove some dead (always dynamically false) flagsChris Lattner2005-05-062-36/+1
| | | | llvm-svn: 21752
* encode calling conventions for call/invoke instructions.Chris Lattner2005-05-062-14/+80
| | | | llvm-svn: 21751
OpenPOWER on IntegriCloud