summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add #includes now that MachineInstr.h doesn't include ↵Chris Lattner2002-10-281-0/+1
| | | | | | llvm/Target/MachineInstrInfo.h llvm-svn: 4327
* Changed `MachineCodeForMethod' to `MachineFunction'.Misha Brukman2002-10-281-1/+1
| | | | llvm-svn: 4301
* Significant improvement: GEP used by a load or store no longer generatesVikram S. Adve2002-10-141-36/+74
| | | | | | | | | a separate ADD; instead just use the indexed load/store instruction! Also, a bug fix: folding a GEP with a leading non-zero index with its predecessor was incorrect: now it only happens if the predecessor is pointing to an indexable type (aka SequentialType). llvm-svn: 4168
* Bug fix in folding getElementPtr instructions: don't fold one intoVikram S. Adve2002-09-291-27/+45
| | | | | | | a predecessor if it has a non-zero first index and the predecessor ends with a struct index. llvm-svn: 3982
* Sign-extend integer constants from original type size to 64 bits!Vikram S. Adve2002-09-271-5/+9
| | | | llvm-svn: 3958
* Add support for GCC 2.96Chris Lattner2002-09-171-2/+2
| | | | llvm-svn: 3777
* Add a version of ChooseRegOrImmed to handle numerical constantsVikram S. Adve2002-09-161-83/+118
| | | | | | introduced by InstrSelection. llvm-svn: 3735
* Fix a bug I introduced into the code generator. :(Chris Lattner2002-09-121-1/+1
| | | | llvm-svn: 3694
* - Change getelementptr instruction to use long indexes instead of uintChris Lattner2002-09-111-8/+8
| | | | | | indexes for sequential types. llvm-svn: 3681
* - Renamed Type::isIntegral() to Type::isInteger()Chris Lattner2002-09-031-7/+7
| | | | | | | - Added new method Type::isIntegral() that is the same as isInteger, but also accepts bool. llvm-svn: 3574
* Moved code here to extract memory instruction indices and to checkVikram S. Adve2002-08-241-17/+96
| | | | | | | whether FoldGetElemNodes should be called. This is machine-independent but was in the Sparc directory. This is in a new function: GetMemInstArgs. llvm-svn: 3500
* Eliminated the MemAccessInst class, folding contents into GEP class.Chris Lattner2002-08-221-5/+5
| | | | llvm-svn: 3487
* * Removed extraneous #includesChris Lattner2002-08-091-11/+5
| | | | | | | * Fixed file headers to be consistent with the rest of LLVM * Other minor fixes llvm-svn: 3278
* 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. llvm-svn: 3244
* Remove unused vectorChris Lattner2002-07-301-3/+0
| | | | llvm-svn: 3143
* 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. llvm-svn: 2645
* Replace all usages of Type::isPointerType with isa<PointerType>Chris Lattner2002-05-061-2/+2
| | | | llvm-svn: 2486
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-1/+0
| | | | llvm-svn: 2397
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-281-1/+1
| | | | llvm-svn: 2378
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-071-7/+8
| | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
* Fix a bug in previous bug fix.Vikram S. Adve2002-03-311-6/+14
| | | | llvm-svn: 2069
* Major overhaul to FoldGetElemPtr to handle mixed array and struct refs.Vikram S. Adve2002-03-241-10/+35
| | | | llvm-svn: 1968
* 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. llvm-svn: 1903
* * Switch over to cleaner TmpInstruction modelChris Lattner2002-02-031-5/+7
| | | | llvm-svn: 1648
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-1/+1
| | | | llvm-svn: 1503
* Eliminate all uses of memInst->getIndicesBROKEN().Vikram S. Adve2001-12-151-3/+3
| | | | llvm-svn: 1485
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-20/+16
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* 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 llvm-svn: 1338
* Don't assume constant operand can only be in position 1!Vikram S. Adve2001-11-141-2/+2
| | | | llvm-svn: 1308
* Idiotic error in last fix.Vikram S. Adve2001-11-141-1/+1
| | | | llvm-svn: 1306
* Don't need to load a NULL pointer constant from memory!Vikram S. Adve2001-11-141-2/+10
| | | | llvm-svn: 1305
* Remove much cruft from the MemAccessInst instructionChris Lattner2001-11-141-2/+2
| | | | llvm-svn: 1298
* Major overhaul of stack frame management.Vikram S. Adve2001-11-081-2/+2
| | | | llvm-svn: 1185
* Minor method renameChris Lattner2001-11-041-2/+2
| | | | llvm-svn: 1119
* Record constants that need to be emitted in the assembly code.Vikram S. Adve2001-10-281-40/+19
| | | | llvm-svn: 1010
* 1. Add a bottom-up pass on BURG trees that is used to fix constant operands.Vikram S. Adve2001-10-171-140/+187
| | | | | | | | | Needs to be bottom up because constant values may be forward-substituted to their uses (i.e., into the parent in the BURG tree). 2. Move most of the constant-fixup code into machine-indepedent file InstrSelectionSupport.cpp. llvm-svn: 859
* Machine-independent code generation routines used in instructionVikram S. Adve2001-10-101-0/+357
selection. These used to live in several different places before. llvm-svn: 719
OpenPOWER on IntegriCloud