aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/InstrSelection
Commit message (Collapse)AuthorAgeFilesLines
...
* Added #include <alloca.h>Anand Shukla2002-08-231-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3491 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminated the MemAccessInst class, folding contents into GEP class.Chris Lattner2002-08-222-9/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3487 91177308-0d34-0410-b5e6-96231b3b80d8
* dumpNode() does not need to print MachineInstrs.Vikram S. Adve2002-08-221-15/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3444 91177308-0d34-0410-b5e6-96231b3b80d8
* Unary Not (boolean and bitwise) is no longer a separate LLVM instructionVikram S. Adve2002-08-151-2/+7
| | | | | | | | | | but is instead implemented with XOR. Note that the InstrForest opLabels for Not and BNot remain the same, i.e., the XOR is recognized and represented as a (boolean or bitwise) Not when building the instruction trees. But these tree nodes are now binary, not unary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3343 91177308-0d34-0410-b5e6-96231b3b80d8
* * Removed extraneous #includesChris Lattner2002-08-092-25/+10
| | | | | | | | * Fixed file headers to be consistent with the rest of LLVM * Other minor fixes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3278 91177308-0d34-0410-b5e6-96231b3b80d8
* We are using std::vector, so remove extraneous namespace prefixesChris Lattner2002-08-091-8/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3275 91177308-0d34-0410-b5e6-96231b3b80d8
* Add function GetConstantValueAsUnsignedInt.Vikram S. Adve2002-08-041-52/+49
| | | | | | | | | Fix 2 bugs in FoldGetElemChain so index vector is not modified when no GEPs are folded in, and so a hasLeadingZero is computed only for the last folded GEP, not the one after that if any. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3244 91177308-0d34-0410-b5e6-96231b3b80d8
* * Move InstructionSelection Pass here instead of living in Sparc.cpp. ItChris Lattner2002-07-301-169/+146
| | | | | | | | | | is platform independant afterall. * Object orientize the functions, cleanup code a bit. Instead of static global functions, the helpers for instruction selection are now part of the InstructionSelection Pass class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3147 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused vectorChris Lattner2002-07-301-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3143 91177308-0d34-0410-b5e6-96231b3b80d8
* moving to the Reoptimizer/Mapping dirMehwish Nagda2002-07-221-279/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2993 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-07-221-5/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2985 91177308-0d34-0410-b5e6-96231b3b80d8
* changed size computationMehwish Nagda2002-07-191-35/+57
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2974 91177308-0d34-0410-b5e6-96231b3b80d8
* added check for Function with 0 BBMehwish Nagda2002-07-171-18/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2942 91177308-0d34-0410-b5e6-96231b3b80d8
* Now will profile all Basic BlocksMehwish Nagda2002-07-161-22/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2922 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checking : Writes LLVM - MI mappiing to the .s fileMehwish Nagda2002-07-151-0/+247
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2911 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.h.Vikram S. Adve2002-07-081-3/+4
| | | | | | | This class is now an annotation on BasicBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2829 91177308-0d34-0410-b5e6-96231b3b80d8
* MachineInstr::dump() now takes no arguments.Vikram S. Adve2002-07-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2828 91177308-0d34-0410-b5e6-96231b3b80d8
* changes to make it compatible with 64bit gccAnand Shukla2002-06-251-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2791 91177308-0d34-0410-b5e6-96231b3b80d8
* MEGAPATCH checkin.Chris Lattner2002-06-252-52/+35
| | | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2778 91177308-0d34-0410-b5e6-96231b3b80d8
* Hide debugging optionsChris Lattner2002-05-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2676 91177308-0d34-0410-b5e6-96231b3b80d8
* Better folding getelementptr operations with mixedVikram S. Adve2002-05-191-41/+61
| | | | | | | | | array and struct indexes. Update operand values in CallArgsDescriptor (a new class) when replacing constant values with immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2645 91177308-0d34-0410-b5e6-96231b3b80d8
* cpValue2Value now needs a vector of MachineInstr to store return values.Vikram S. Adve2002-05-191-16/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2644 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace all usages of Type::isPointerType with isa<PointerType>Chris Lattner2002-05-061-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2486 91177308-0d34-0410-b5e6-96231b3b80d8
* Add neccesary #includeChris Lattner2002-04-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2406 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-292-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-282-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-091-1/+1
| | | | | | | be 'Argument' instead of FunctionArgument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2216 91177308-0d34-0410-b5e6-96231b3b80d8
* GCC3.0 is reported to die without an alloca definition.Chris Lattner2002-04-091-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2186 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't leak memory like a seiveChris Lattner2002-04-081-18/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2185 91177308-0d34-0410-b5e6-96231b3b80d8
* Value cannot be directly instantiated. I think that this code was TRYING toChris Lattner2002-04-081-5/+3
| | | | | | | | make a PHI node, although it was badly broken. This keeps tests passing, so we'll go with it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2184 91177308-0d34-0410-b5e6-96231b3b80d8
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-072-27/+24
| | | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in previous bug fix.Vikram S. Adve2002-03-311-6/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2069 91177308-0d34-0410-b5e6-96231b3b80d8
* Change references from Method to FunctionChris Lattner2002-03-261-6/+6
| | | | | | | change references from MethodARgument to FunctionArgument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1991 91177308-0d34-0410-b5e6-96231b3b80d8
* Major overhaul to FoldGetElemPtr to handle mixed array and struct refs.Vikram S. Adve2002-03-241-10/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1968 91177308-0d34-0410-b5e6-96231b3b80d8
* Use deterministic iterator for treeRoots.Vikram S. Adve2002-03-241-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1967 91177308-0d34-0410-b5e6-96231b3b80d8
* Change treeRoots data structure to make enumeration deterministic.Vikram S. Adve2002-03-241-15/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1962 91177308-0d34-0410-b5e6-96231b3b80d8
* Constants are now added to the constant pool only when a loadVikram S. Adve2002-03-181-25/+17
| | | | | | | | instruction is actually generated for them. Rename the different versions of SetMachineOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1903 91177308-0d34-0410-b5e6-96231b3b80d8
* Use vector for machine instructions returned by GetInstructionsByRule.Vikram S. Adve2002-03-181-70/+31
| | | | | | | Fix constants in instructions generated for Phi elimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1902 91177308-0d34-0410-b5e6-96231b3b80d8
* * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and intoChris Lattner2002-02-121-1/+1
| | | | | | | | | | llvm/Support/CFG.h * Make pred & succ iterators for intervals global functions * Add #includes that are now neccesary because BasicBlock.h doesn't include InstrTypes.h anymore git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1750 91177308-0d34-0410-b5e6-96231b3b80d8
* Method.h no longer includes BasicBlock.hChris Lattner2002-02-121-3/+6
| | | | | | | | Method::inst_* is now in llvm/Support/InstIterator.h GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
* * Switch over to cleaner TmpInstruction modelChris Lattner2002-02-031-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1648 91177308-0d34-0410-b5e6-96231b3b80d8
* * Straighten out #includesChris Lattner2002-02-031-38/+12
| | | | | | | * Switch to MAchineCodeForInstruction model instead of MachineCodeForVMInstr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1647 91177308-0d34-0410-b5e6-96231b3b80d8
* * Swich to annotation model for MachineCodeForInstructionChris Lattner2002-02-031-8/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1646 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-203-39/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate all uses of memInst->getIndicesBROKEN().Vikram S. Adve2001-12-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1485 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-2/+1
| | | | | | | | Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1408 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-032-23/+19
| | | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
* Split the PHINode class out from the iOther.h file into the iPHINode.h fileChris Lattner2001-12-032-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1405 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-272-2/+2
| | | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
* The old getIndices has been deprecated, because it no longer works. It nowChris Lattner2001-11-261-2/+2
| | | | | | | | is named getIndicesBROKEN() and shall be removed when the codebase is updated to not call it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1338 91177308-0d34-0410-b5e6-96231b3b80d8