aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/MachineInstr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove all traces of the "Opcode Mask" field in the MachineInstr classChris Lattner2002-10-281-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4359 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove more default arguments that are never usedChris Lattner2002-10-281-7/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4358 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove default operands that are never usedChris Lattner2002-10-281-6/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4357 91177308-0d34-0410-b5e6-96231b3b80d8
* * Make MachineOperand ctors private, so MachineOperand can only be createdChris Lattner2002-10-281-20/+21
| | | | | | | | | by MachineInstr. * Add a bunch of new methods to allow incremental addition of operands to the machine instr instance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4356 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove two arguments that are never specifiedChris Lattner2002-10-281-8/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4348 91177308-0d34-0410-b5e6-96231b3b80d8
* Fairly major overhaul of MachineInstr & Operand classesChris Lattner2002-10-281-6/+21
| | | | | | | | | - Inline methods that are mostly a single line anyway - Eliminate several methods that were never called - Group methods a bit more consistently git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4329 91177308-0d34-0410-b5e6-96231b3b80d8
* Add #includes now that MachineInstr.h doesn't include ↵Chris Lattner2002-10-281-0/+1
| | | | | | llvm/Target/MachineInstrInfo.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4327 91177308-0d34-0410-b5e6-96231b3b80d8
* - Two minor improvements to the MachineInstr class to reduce footprint andChris Lattner2002-10-221-4/+4
| | | | | | | | overhead: Merge 3 parallel vectors into 1, change regsUsed hash_set to be a bitvector. Sped up LLC a little less than 10% in a debug build! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4261 91177308-0d34-0410-b5e6-96231b3b80d8
* Add method MachineInstr::replace to rewrite a machine instruction in place.Vikram S. Adve2002-09-201-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3843 91177308-0d34-0410-b5e6-96231b3b80d8
* Dump routine now writes out allocated register numbers if available.Vikram S. Adve2002-09-161-4/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3737 91177308-0d34-0410-b5e6-96231b3b80d8
* Add method MachineInstr::substituteValue() which substitutesVikram S. Adve2002-08-141-0/+29
| | | | | | | | one Value with another one in all operands and implicit references of the machine instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3306 91177308-0d34-0410-b5e6-96231b3b80d8
* * Removed extraneous #includesChris Lattner2002-08-091-15/+2
| | | | | | | | * 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
* *** empty log message ***Chris Lattner2002-07-251-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3075 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for marking each operand as a %hh, %hm, %lm or %lo.Vikram S. Adve2002-07-101-34/+38
| | | | | | | | Represent previous bools and these ones with flags in a single byte per operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2860 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}.Vikram S. Adve2002-07-081-11/+25
| | | | | | | | | An (explicit or implicit) operand may now be both a def and a use. Also add a set of regs used by each instruction. dump() no longer takes an optional argument, which doesn't work in gdb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2821 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve printing during dumps.Vikram S. Adve2002-04-251-28/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2311 91177308-0d34-0410-b5e6-96231b3b80d8
* s/method/functionChris Lattner2002-04-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2177 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix in setting CC register.Vikram S. Adve2002-03-181-8/+11
| | | | | | | | Also use distinct names for the three types of SetMachineOperand to avoid painful overloading problems and errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1904 91177308-0d34-0410-b5e6-96231b3b80d8
* * Prune #includesChris Lattner2002-02-031-259/+1
| | | | | | | * Remove MachineCodeFor(Method|VMInstr) code to their own .cpp files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1649 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-30/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-2/+2
| | | | | | | | 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
* Added naming to inserted phi copy values - for easy debuggingRuchira Sasanka2001-11-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1325 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify AllocateLocalVar method to take a size argument.Vikram S. Adve2001-11-151-3/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1318 91177308-0d34-0410-b5e6-96231b3b80d8
* Small changed to printing a machine operand - It the operand is a def, it printsRuchira Sasanka2001-11-141-2/+6
| | | | | | | a star after it - only for debugging git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1309 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix in offset alignment computations: don't subtract the paddingVikram S. Adve2001-11-121-37/+32
| | | | | | | value from size *before* subtracting size from offset! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1283 91177308-0d34-0410-b5e6-96231b3b80d8
* Improved printing routines.Vikram S. Adve2001-11-121-4/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1263 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust all stack variable offsets to be aligned by size.Vikram S. Adve2001-11-121-13/+55
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1261 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix errors in computing downgrowing offsets, and inVikram S. Adve2001-11-111-11/+14
| | | | | | | computing size of extra outgoing args. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1256 91177308-0d34-0410-b5e6-96231b3b80d8
* Major overhaul of stack frame management.Vikram S. Adve2001-11-081-20/+150
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1185 91177308-0d34-0410-b5e6-96231b3b80d8
* Make reg. numbers signed ints.Vikram S. Adve2001-11-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1137 91177308-0d34-0410-b5e6-96231b3b80d8
* Added class MachineCodeForMethod.Vikram S. Adve2001-10-221-1/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@947 91177308-0d34-0410-b5e6-96231b3b80d8
* Added implict operand printing for operator( ostream, MachineInstr&)Ruchira Sasanka2001-10-181-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@912 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Add a bottom-up pass on BURG trees that is used to fix constant operands.Vikram S. Adve2001-10-171-2/+3
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@859 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved code generation support routines to InstrSelectionSupport.cpp.Vikram S. Adve2001-10-101-215/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@717 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert more code to use new style castsChris Lattner2001-10-011-4/+4
| | | | | | | Eliminate old style casts from value.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
* Improved dump for disp type operand.Vikram S. Adve2001-09-301-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@679 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor changes.Vikram S. Adve2001-09-181-99/+93
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@613 91177308-0d34-0410-b5e6-96231b3b80d8
* added setRegForValue to MachineOperand classRuchira Sasanka2001-09-151-1/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@591 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate MainTreeNode functionChris Lattner2001-09-111-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@550 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug I introduced (assertion failed: Unknown operand type), and convert ↵Chris Lattner2001-09-101-16/+11
| | | | | | to predicate style for type checks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@531 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the subset of the GetConstantValueAsSignedInt function that is ↵Chris Lattner2001-09-091-19/+32
| | | | | | needed, locally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@524 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix problems with freeing memory twiceChris Lattner2001-09-091-40/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@520 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build breakage. :(Chris Lattner2001-09-091-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@511 91177308-0d34-0410-b5e6-96231b3b80d8
* The header file for a translation unit should always be included firstChris Lattner2001-09-071-8/+2
| | | | | | | System headers should be last git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@475 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved function PrintMachineInstructions here.Vikram S. Adve2001-08-281-5/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@392 91177308-0d34-0410-b5e6-96231b3b80d8
* Always set isDef for operand in position resultPos.Vikram S. Adve2001-08-131-7/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed SetMachineOpernad calls in Set3OperandsFromInstr so that theRuchira Sasanka2001-08-131-4/+4
| | | | | | | result position is a def (i.e., added true to the end of call) -- Ruchira git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Ruchira Sasanka2001-08-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351 91177308-0d34-0410-b5e6-96231b3b80d8
* added a default isDef arg to SetMachineOperand method - RuchiraRuchira Sasanka2001-08-071-3/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow machine instructions with variable numbers of arguments.Vikram S. Adve2001-07-311-1/+12
| | | | | | | This is used only by Phi for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336 91177308-0d34-0410-b5e6-96231b3b80d8