summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a thinko in the reassociation code, fixing Generic/badlive.llChris Lattner2005-01-071-1/+1
| | | | llvm-svn: 19359
* Add support for truncating integer casts from long.Chris Lattner2005-01-071-1/+13
| | | | llvm-svn: 19358
* Fix a bug in load expansion legalization and ret legalization. This fixesChris Lattner2005-01-071-9/+17
| | | | | | CodeGen/Generic/select.ll:castconst. llvm-svn: 19357
* Legalize unconditional branches tooChris Lattner2005-01-071-0/+6
| | | | llvm-svn: 19356
* Implement support for long GEP indices on 32-bit archs and support forChris Lattner2005-01-072-3/+15
| | | | | | int GEP indices on 64-bit archs. llvm-svn: 19354
* Simplify: truncate ({zero|sign}_extend (X))Chris Lattner2005-01-071-0/+9
| | | | llvm-svn: 19353
* implement legalization of a bunch more operators.Chris Lattner2005-01-071-0/+6
| | | | llvm-svn: 19352
* Fix another bug legalizing calls!Chris Lattner2005-01-071-1/+1
| | | | llvm-svn: 19350
* Fix handling of dead PHI nodes.Chris Lattner2005-01-071-26/+30
| | | | llvm-svn: 19349
* Fix a bug legalizing callsChris Lattner2005-01-071-1/+1
| | | | llvm-svn: 19348
* After legalizing a DAG, delete dead nodes to save space.Chris Lattner2005-01-071-6/+1
| | | | llvm-svn: 19346
* Implement RemoveDeadNodesChris Lattner2005-01-071-0/+119
| | | | llvm-svn: 19345
* Teach legalize how to handle condbranchesChris Lattner2005-01-071-0/+10
| | | | llvm-svn: 19339
* Allow the selection-dag based selector to be diabled with -disable-pattern-isel.Chris Lattner2005-01-071-2/+11
| | | | | | | For now, this is the default, as the current selector is missing some big pieces. To enable the new selector, pass -disable-pattern-isel=false to llc or lli. llvm-svn: 19335
* Reimplementation of the X86 pattern isel. This is still missing many largeChris Lattner2005-01-071-0/+1415
| | | | | | pieces, but can already do amazing things in some cases. llvm-svn: 19334
* This file is now dead.Chris Lattner2005-01-071-131/+0
| | | | llvm-svn: 19333
* Add a new prototypeChris Lattner2005-01-071-2/+7
| | | | llvm-svn: 19332
* Initial implementation of the SelectionDAGISel class. This contains mostChris Lattner2005-01-071-0/+853
| | | | | | of the code for lowering from LLVM code to a SelectionDAG. llvm-svn: 19331
* This file is obsoleteChris Lattner2005-01-071-278/+0
| | | | llvm-svn: 19330
* Initial implementation of the DAG legalization. This still has a long wayChris Lattner2005-01-071-0/+703
| | | | | | to go, but it does work for some non-trivial cases now. llvm-svn: 19329
* Complete rewrite of the SelectionDAG class.Chris Lattner2005-01-071-106/+758
| | | | llvm-svn: 19327
* First draft of new Target interfaceChris Lattner2005-01-071-0/+48
| | | | llvm-svn: 19324
* Add convenience method.Chris Lattner2005-01-071-0/+4
| | | | llvm-svn: 19321
* Convert tabs to spacesMisha Brukman2005-01-071-3/+2
| | | | llvm-svn: 19320
* Add missing createXxxPass functionsJeff Cohen2005-01-074-0/+20
| | | | llvm-svn: 19319
* Add missing includeJeff Cohen2005-01-071-0/+1
| | | | llvm-svn: 19315
* Codegen -1 and -0.0 more efficiently. This implements ↵Chris Lattner2005-01-061-2/+9
| | | | | | CodeGen/X86/negatize_zero.ll llvm-svn: 19313
* No need to pessimize current code for future possibilities.Chris Lattner2005-01-061-4/+3
| | | | llvm-svn: 19311
* Put createLoopUnswitchPass() into proper namespaceJeff Cohen2005-01-061-1/+1
| | | | llvm-svn: 19306
* Add missing includeJeff Cohen2005-01-061-0/+1
| | | | llvm-svn: 19305
* Fix CBE code so that it compiles with VC++.Jeff Cohen2005-01-061-1/+1
| | | | llvm-svn: 19303
* 1. If a double FP constant must be put into a constant pool, but it can beChris Lattner2005-01-051-9/+23
| | | | | | | | | precisely represented as a float, put it into the constant pool as a float. 2. Use the cbw/cwd/cdq instructions instead of an explicit SAR for signed division. llvm-svn: 19291
* Minor optimization to allocate R8 registers in a better order.Chris Lattner2005-01-051-1/+7
| | | | llvm-svn: 19289
* To not break TBAA rules, use a union.Chris Lattner2005-01-041-5/+9
| | | | llvm-svn: 19280
* Revert elimination of global variable hack... still needed.Jeff Cohen2005-01-031-0/+7
| | | | llvm-svn: 19273
* ADC and IMUL are also commutable.Chris Lattner2005-01-031-0/+4
| | | | llvm-svn: 19264
* This hunk:Chris Lattner2005-01-021-2/+2
| | | | | | | | | | | - unsigned TrueValue = getReg(TrueVal, BB, BB->begin()); + unsigned TrueValue = getReg(TrueVal); Fixes the PPC regressions from last night. The other hunk is just a clarity improvement. llvm-svn: 19263
* Correct the case of a #include directory name, just in case.Reid Spencer2005-01-021-1/+1
| | | | llvm-svn: 19254
* Eliminate the use of the global variable hack in the X86 target that was usedJeff Cohen2005-01-021-7/+0
| | | | | | | to get Visual Studio to link in X86.lib to the executables that need it. There is another way of doing it. llvm-svn: 19252
* Disable 2->3 address promotion of add and inc instructions to LEA's. InChris Lattner2005-01-021-0/+5
| | | | | | | | addition to being three address, LEA's don't set the flags. This fixes 186.crafty. llvm-svn: 19251
* Add a new method.Chris Lattner2005-01-021-1/+10
| | | | llvm-svn: 19249
* Add support for SETNPr to lower to memory form.Chris Lattner2005-01-021-0/+1
| | | | llvm-svn: 19248
* Implement the convertToThreeAddress method, add support for inverting JP/JNPChris Lattner2005-01-022-0/+93
| | | | | | branches. llvm-svn: 19247
* Two changes here:Chris Lattner2005-01-021-1/+30
| | | | | | | | 1. Add new instructions for checking parity flags: JP, JNP, SETP, SETNP. 2. Set the isCommutable and isPromotableTo3Address bits on several instructions. llvm-svn: 19246
* Make the 2-address instruction lowering pass smarter in two ways:Chris Lattner2005-01-021-17/+61
| | | | | | | | | | | | | | | | | 1. If we are two-addressing a commutable instruction and the LHS is not the last use of the variable, see if the instruction is the last use of the RHS. If so, commute the instruction, allowing us to avoid a register-register copy in many cases for common instructions like ADD, OR, AND, etc on X86. 2. If #1 doesn't hold, and if this is an instruction that also existing in 3-address form, promote the instruction to a 3-address instruction to avoid the register-register copy. We can do this for several common instructions in X86, including ADDrr, INC, DEC, etc. This patch implements test/Regression/CodeGen/X86/commute-two-addr.ll, overlap-add.ll, and overlap-shift.ll when I check in the X86 support for it. llvm-svn: 19245
* Add some bits that can be set for instructions.Chris Lattner2005-01-021-0/+2
| | | | llvm-svn: 19241
* Make printing a warning message optional in CheckBytecodeOutputToConsole.Reid Spencer2005-01-021-5/+8
| | | | llvm-svn: 19240
* Implement a function to print a warning if bytecode output is to be sent toReid Spencer2005-01-011-8/+10
| | | | | | a terminal/console. llvm-svn: 19237
* Add functions for determining if the stdin/out/err is connected to aJeff Cohen2005-01-011-0/+13
| | | | | | console or not. llvm-svn: 19236
* Add functions for determining if the stdin/out/err is connected to aReid Spencer2005-01-011-0/+24
| | | | | | console or not. llvm-svn: 19233
OpenPOWER on IntegriCloud