summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Don't emit unneccesary branch instructions!Chris Lattner2003-01-161-15/+41
| | | | llvm-svn: 5328
* Fix problem with invalidated iteratorChris Lattner2003-01-161-1/+1
| | | | llvm-svn: 5327
* Implement optimization folding setcc into branch.Chris Lattner2003-01-161-38/+113
| | | | llvm-svn: 5324
* Add more flavors of branch instructionsChris Lattner2003-01-161-1/+11
| | | | llvm-svn: 5323
* Implement code to keep the stack pointer aligned to an 8 byte boundary.Chris Lattner2003-01-163-2/+15
| | | | | | | | This improves the performance of the power benchmark by a few percent. This will be neccesary for SSE code, which requires 16 byte alignment of the stack. llvm-svn: 5320
* Handle frame offset due to return address pushed on the stackChris Lattner2003-01-151-6/+8
| | | | llvm-svn: 5319
* Move sparc specific code into the Sparc backendChris Lattner2003-01-153-2/+271
| | | | llvm-svn: 5317
* Fix warningsChris Lattner2003-01-151-4/+3
| | | | llvm-svn: 5316
* Adjust to simpler interfacesChris Lattner2003-01-152-49/+42
| | | | | | Eliminate dependency on RegClass.h llvm-svn: 5315
* #include RegClass.h explicitlyChris Lattner2003-01-151-0/+1
| | | | llvm-svn: 5307
* Move private header to private directoryChris Lattner2003-01-152-2/+2
| | | | llvm-svn: 5305
* Prune #includesChris Lattner2003-01-152-2/+0
| | | | llvm-svn: 5303
* Use BuildMI moreChris Lattner2003-01-152-242/+156
| | | | llvm-svn: 5299
* Fix bug found by regtestsChris Lattner2003-01-151-9/+5
| | | | llvm-svn: 5294
* Use BuildMI more, Create*Instruction lessChris Lattner2003-01-153-135/+71
| | | | llvm-svn: 5291
* X86 backend should never use addMRegChris Lattner2003-01-151-4/+4
| | | | llvm-svn: 5288
* * Elimiante a bunch of functions from InstrSelectionSupport.h, replacing usersChris Lattner2003-01-153-65/+62
| | | | | | | of them with BUildMI calls instead. * Fix def information in instructions generated by prologepilog inserter llvm-svn: 5287
* Rename llvm/Analysis/LiveVar/FunctionLiveVarInfo.h -> ↵Chris Lattner2003-01-141-7/+10
| | | | | | llvm/CodeGen/FunctionLiveVarInfo.h llvm-svn: 5284
* Rename MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-1417-42/+40
| | | | llvm-svn: 5272
* Minor cleanupsChris Lattner2003-01-141-5/+2
| | | | llvm-svn: 5266
* New filesChris Lattner2003-01-132-0/+673
| | | | llvm-svn: 5260
* * No longer need lowerallocation passChris Lattner2003-01-131-9/+10
| | | | | | | * Add X86 Stackifier pass * Add peephole optimizer pass llvm-svn: 5233
* rename FP -> fp*Chris Lattner2003-01-131-7/+7
| | | | llvm-svn: 5232
* * Move frame and constant pool indexes to first argument of memory referenceChris Lattner2003-01-131-11/+12
| | | | | | | so we can put an offset in there as well... * Fix long/ulong stuff llvm-svn: 5231
* * Some instructions take 64 bit integers, add an Arg type for itChris Lattner2003-01-131-4/+32
| | | | | | * Add flags for different types of FP pseudo instrs llvm-svn: 5230
* * Function calls clobber fp registersChris Lattner2003-01-131-72/+141
| | | | | | | | | | | | | * Use new M_TERMINATOR_FLAG flag * Add ::Void flag on several instructions so def-use info is correct! * Implement MANY FP instructions * Finalize pseudo FP instructions * Add set of Pseudo FP instruction description flags * Add support for MOVim instrs * Add support for 64 bit support instrs, like adc sbb, etc * Add conditional move llvm-svn: 5229
* Add support for frame and constant pool referencesChris Lattner2003-01-131-4/+16
| | | | llvm-svn: 5228
* Move passes out to Passes.hChris Lattner2003-01-131-10/+7
| | | | llvm-svn: 5227
* Add speculationChris Lattner2003-01-131-1/+1
| | | | llvm-svn: 5226
* * Implement rudimentary output of the constant poolChris Lattner2003-01-131-19/+110
| | | | | | | | | * Implement support for MRMS?m instructions * Add Arg64 support * Add support for frame indexes and constant pool indexes * llvm-svn: 5225
* * Add support for FP registers ST*Chris Lattner2003-01-132-40/+146
| | | | | | | | | * Add support for the constant pool & constant pool indices * Add support for MRMS?m instructions * Fix FP Prefix emission * Add support for global addresses and external symbols llvm-svn: 5224
* * Adjust to use new interfaces, eliminating CurReg stuffChris Lattner2003-01-131-410/+802
| | | | | | | | | | | | | | | | | | * Support arbitrary FP constants * Fix bugs in frame layout for function calls and incoming arguments * Insert copies for constant arguments to PHI nodes into the BOTTOM of predecessor blocks, not the top. * Implement _floating point_ support: setcc, return, load, store, cast * Fix several bugs in the cast instruction * Abstract out call emission and load/store for FP * Implement malloc/free without previous lowering pass. * Make use of new forms of MachineOperand * Implement _long_ support! * Fix many bugs in FP support * Change branch from je/jne to je/jmp * Simplify code generated for GEP instructions llvm-svn: 5223
* Start renaming MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-131-16/+11
| | | | llvm-svn: 5221
* More renamings of Target/Machine*Info to Target/Target*InfoChris Lattner2002-12-296-35/+35
| | | | llvm-svn: 5204
* Rename MachineOptInfo to TargetoptInfoChris Lattner2002-12-293-7/+7
| | | | | | Rename MachineCacheInfo to TargetCacheInfo llvm-svn: 5203
* Rename MachineOptInfo to TargetoptInfoChris Lattner2002-12-291-10/+8
| | | | | | Rename MachineCacheInfo to TargetCacheInfo llvm-svn: 5202
* Rename FunctionFrameInfo to MachineFrameInfoChris Lattner2002-12-282-18/+18
| | | | llvm-svn: 5201
* Rename MachineFrameInfo to TargetFrameInfo.hChris Lattner2002-12-282-2/+2
| | | | llvm-svn: 5199
* Put class in anonymous namespaceChris Lattner2002-12-281-23/+25
| | | | llvm-svn: 5197
* Eliminate unneccesary fileChris Lattner2002-12-281-42/+0
| | | | llvm-svn: 5191
* Capture more information in ctorChris Lattner2002-12-281-1/+5
| | | | llvm-svn: 5190
* Implement the TargetFrameInfo interfaceChris Lattner2002-12-281-6/+9
| | | | llvm-svn: 5189
* * Initialize new FrameInfo memberChris Lattner2002-12-281-4/+11
| | | | | | | * most pass ctors no longer take TM arguments * New prolog/epilog insertion pass llvm-svn: 5188
* Changes to match new MRegisterInfo apiChris Lattner2002-12-281-25/+26
| | | | llvm-svn: 5187
* *** Implement frame pointer elimination on X86!Chris Lattner2002-12-281-57/+288
| | | | | | | | | | * Include contents of X86RegisterClasses.cpp into here * Adjustments to register api to work with new frame manager * Eliminate moveImm2Reg, getFramePointer, and getStackPointer * Cleanup and simplify prolog/epilog code generation * Prolog/epilog are MUCH more efficient now. llvm-svn: 5186
* Contents merged with X86RegisterInfo.cppChris Lattner2002-12-281-111/+0
| | | | llvm-svn: 5185
* * Remove implementations of previously pure virtual functions that are not ↵Chris Lattner2002-12-281-49/+0
| | | | | | any longer. llvm-svn: 5184
* * Minor reformattingChris Lattner2002-12-281-63/+78
| | | | | | | | | | * Remove some size suffixes [bwl] * Add new ADJCALLSTACKDOWN & ADJCALLSTACKUP pseudo instrs * Call instructions are M_CALL not M_BRANCH! * Disable push and pop instructions * Add new ANDri32 instr llvm-svn: 5183
* New addFrameReference functionChris Lattner2002-12-281-6/+18
| | | | llvm-svn: 5182
* * Most pass ctor functions don't take TM arguments anymoreChris Lattner2002-12-281-7/+12
| | | | | | * New createPrologEpilogCodeInserter() function llvm-svn: 5181
OpenPOWER on IntegriCloud