summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcInstrSelection.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* *** empty log message ***Chris Lattner2002-07-241-1/+1
| | | | llvm-svn: 3056
* Have to save a boolean (setCC) value whenever use is outside the currentVikram S. Adve2002-07-081-20/+16
| | | | | | | | | | basic block. Mark setCCInstr used as dest. of conditional-move as both a def and a use. BA instruction no longer has the unused CC argument. llvm-svn: 2836
* Fix constnessChris Lattner2002-06-051-1/+1
| | | | llvm-svn: 2762
* Rename IsPowerOf2 to isPowerOf2Chris Lattner2002-05-191-2/+2
| | | | llvm-svn: 2663
* Numerous bug fixes:Vikram S. Adve2002-05-191-279/+336
| | | | | | | | | | | | | | | | | | | | | | | | -- correct sign extensions for integer casts and for shift-by-constant instructions generated for integer multiply -- passing FP arguments to functions with more than 6 arguments -- passing FP arguments to varargs functions -- passing FP arguments to functions with no prototypes -- incorrect stack frame size when padding a section -- folding getelementptr operations with mixed array and struct indexes -- use uint64_t instead of uint for constant offsets in mem operands -- incorrect coloring for CC registers (both int and FP): interferences were being completely ignored for int CC and were considered but no spills were marked for fp CC! Also some code improvements: -- better interface to generating machine instr for common cases (many places still need to be updated to use this interface) -- annotations on MachineInstr to communicate information from one codegen phase to another (now used to pass information about CALL/JMPLCALL operands from selection to register allocation) -- all sizes and offests in class TargetData are uint64_t instead of uint llvm-svn: 2640
* Replace all usages of Type::isPointerType with isa<PointerType>Chris Lattner2002-05-061-37/+25
| | | | llvm-svn: 2486
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-1/+1
| | | | llvm-svn: 2378
* Use the cast<> operator in favor of C style castsChris Lattner2002-04-271-3/+3
| | | | llvm-svn: 2331
* Change Constant::getNullConstant to Constant::getNullValueChris Lattner2002-04-271-3/+2
| | | | llvm-svn: 2323
* Insert copy operations for FP arguments to a varargs function,Vikram S. Adve2002-04-251-31/+69
| | | | | | | | to copy the FP arg. to an integer. Necessary so that the register allocator has two different live ranges for the FP value and the int. argument. llvm-svn: 2314
* Move the InsertPrologEpilogCode class out of the Sparc.cpp file into theChris Lattner2002-04-091-81/+0
| | | | | | | | | new PrologEpilogCodeInserter.cpp file, and include the bodies of the GetInstructionsFor(Prolog|Epilog) functions from SparcInstrSelection.cpp into the class. This eliminates the need for a static global vector of instructions and a class of errors that is really unneccesary. llvm-svn: 2194
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-071-21/+22
| | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
* s/MethodType/FunctionTypeChris Lattner2002-04-041-3/+3
| | | | llvm-svn: 2115
* Case numbers were not updated when Sparc.burg.in was changedVikram S. Adve2002-04-011-1/+2
| | | | | | to add separate label for bitwise NOT operator. llvm-svn: 2091
* 1. Fix a leftover bug in generating memory instructions.Vikram S. Adve2002-03-311-36/+38
| | | | | | 2. Fix type used for TmpInstruction holding the return address. llvm-svn: 2075
* Convert to use new style casts instead of direct checkingChris Lattner2002-03-261-2/+2
| | | | llvm-svn: 1990
* Major enhancements to how array and structure indices are handled.Vikram S. Adve2002-03-241-148/+182
| | | | | | | | Improve checking for constants in Multiply. Simpler method to keep track of when a node is folded into its parent. Several other bug fixes. llvm-svn: 1964
* Add support for code generation for array references.Vikram S. Adve2002-03-181-481/+607
| | | | | | | | Also, use distinct names for the three types of SetMachineOperand to avoid painful overloading problems and errors. Bug fix in converting-int-to-float. Other minor stuff. llvm-svn: 1896
* * Switch to new TmpInstruction modelChris Lattner2002-02-031-27/+28
| | | | | | * Switch to new MachineCodeForInstruction model llvm-svn: 1655
* Remove dead variable.Chris Lattner2002-01-211-1/+0
| | | | llvm-svn: 1514
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-14/+9
| | | | llvm-svn: 1503
* Eliminate all uses of memInst->getIndicesBROKEN().Vikram S. Adve2001-12-151-18/+9
| | | | llvm-svn: 1485
* Allow pointer indexingChris Lattner2001-12-141-1/+1
| | | | llvm-svn: 1462
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-8/+8
| | | | | | | Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() llvm-svn: 1408
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-30/+31
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-271-3/+1
| | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes llvm-svn: 1400
* The old getIndices has been deprecated, because it no longer works. It nowChris Lattner2001-11-261-1/+2
| | | | | | | is named getIndicesBROKEN() and shall be removed when the codebase is updated to not call it llvm-svn: 1338
* Fix use of AllocateLocalVar for alloca instruction!Vikram S. Adve2001-11-151-1/+1
| | | | llvm-svn: 1319
* Remove much cruft from the MemAccessInst instructionChris Lattner2001-11-141-6/+5
| | | | llvm-svn: 1298
* Disable use of the Phi machine instruction which is no longer neededVikram S. Adve2001-11-121-0/+5
| | | | | | for register allocation. llvm-svn: 1270
* Added phi elimination codeRuchira Sasanka2001-11-121-3/+5
| | | | llvm-svn: 1265
* Fix dumb bug in alignment adjustment code!Vikram S. Adve2001-11-121-1/+1
| | | | llvm-svn: 1260
* Must generate an instruction for GetElementPtr if single user is notVikram S. Adve2001-11-101-10/+20
| | | | | | a memory instruction! llvm-svn: 1238
* Do the same for float->int that we did for int->float earlier.Vikram S. Adve2001-11-091-54/+102
| | | | | | Also check IsPointerType() in addition to IsIntegral() in several places. llvm-svn: 1227
* Fix bugs in FITOS/D instruction generation.Vikram S. Adve2001-11-081-68/+116
| | | | | | | | The space for optional args in the stack frame is now being computed, so finish the code generation for the variable `alloca'. Finally, made a major overhaul of how stack frame is managed. llvm-svn: 1194
* Killing warningsChris Lattner2001-11-071-3/+3
| | | | llvm-svn: 1175
* Generate code for Rem instruction.Vikram S. Adve2001-11-041-19/+53
| | | | llvm-svn: 1124
* Fixed instruction information for RDCCR and WRCCR.Vikram S. Adve2001-11-041-48/+109
| | | | | | | | Fixed selection to create a TmpInstruction for each integer CC register (since it is an implicit side-effect, unlike FP CC registers which are explicit operands). llvm-svn: 1120
* Minor method renameChris Lattner2001-11-041-1/+1
| | | | llvm-svn: 1119
* Need to subtract, not add, stack size in SAVE instruction!Vikram S. Adve2001-10-281-3/+6
| | | | llvm-svn: 1005
* Added functions to generate prolog and epilog code.Vikram S. Adve2001-10-221-116/+149
| | | | | | Use JMPLRET instead of RETURN for method returns so that llvm-svn: 939
* Use CALL for direct function calls; JMPL for indirect ones.Vikram S. Adve2001-10-201-19/+26
| | | | llvm-svn: 927
* 1. Move most of the constant-fixup code into machine-independent fileVikram S. Adve2001-10-181-395/+42
| | | | | | | | InstrSelectionSupport.cpp. It now happens in a bottom-up pass on each BURG tree after the original top-down selection pass on the tree. 2. Handle global values as constants (viz., constant addresses). llvm-svn: 868
* Forward operands into implicit uses as well as explicit ones.Vikram S. Adve2001-10-141-3/+8
| | | | llvm-svn: 808
* Two bug fixes that were suppressing some "load-constant-into-register" instrs.Vikram S. Adve2001-10-141-2/+2
| | | | llvm-svn: 795
* * Add #includeChris Lattner2001-10-131-3/+3
| | | | | | | * Fix #endif problems * Change to getCalledValue instead of getCalledMethod llvm-svn: 767
* Record implicitRefs for each machine instruction instead ofVikram S. Adve2001-10-111-39/+32
| | | | | | each VM instruction. llvm-svn: 725
* Insert code to load constants used as Call or Return arguments.Vikram S. Adve2001-10-101-39/+94
| | | | | | Also, note return value of a Call as an "implicitUse". llvm-svn: 720
* Commit more code over to new cast styleChris Lattner2001-10-021-2/+1
| | | | llvm-svn: 697
* Convert more code to use new style castsChris Lattner2001-10-011-11/+11
| | | | | | Eliminate old style casts from value.h llvm-svn: 696
OpenPOWER on IntegriCloud