Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | simpilfy some register printing code. | Chris Lattner | 2007-12-30 | 1 | -16/+6 | |
| | | | | llvm-svn: 45458 | |||||
* | eliminate a copy of the machineoperand printing stuff. Keep the copy that | Chris Lattner | 2007-12-30 | 1 | -34/+4 | |
| | | | | | | knows how to print offsets. llvm-svn: 45457 | |||||
* | Simplify and clean up some machine operand/instr printing/dumping stuff. | Chris Lattner | 2007-12-30 | 1 | -9/+9 | |
| | | | | llvm-svn: 45456 | |||||
* | two register machineoperands are not identical unless their subregs match. | Chris Lattner | 2007-12-30 | 1 | -1/+2 | |
| | | | | llvm-svn: 45455 | |||||
* | MachineOperand::getImmedValue -> MachineOperand::getImm | Chris Lattner | 2007-12-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 45454 | |||||
* | make machine operands fatter: give each one an up-pointer to the | Chris Lattner | 2007-12-30 | 1 | -1/+7 | |
| | | | | | | machineinstr that owns it. llvm-svn: 45449 | |||||
* | Start using the simplified methods for adding operands. | Chris Lattner | 2007-12-30 | 1 | -8/+3 | |
| | | | | llvm-svn: 45432 | |||||
* | simplify some code by factoring operand construction better. | Chris Lattner | 2007-12-30 | 1 | -22/+4 | |
| | | | | llvm-svn: 45428 | |||||
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 | |
| | | | | llvm-svn: 45418 | |||||
* | Clean up sub-register implementation by moving subReg information back to | Evan Cheng | 2007-11-14 | 1 | -0/+2 | |
| | | | | | | | | | | | MachineOperand auxInfo. Previous clunky implementation uses an external map to track sub-register uses. That works because register allocator uses a new virtual register for each spilled use. With interval splitting (coming soon), we may have multiple uses of the same register some of which are of using different sub-registers from others. It's too fragile to constantly update the information. llvm-svn: 44104 | |||||
* | Optionally create a MachineInstr without default implicit operands. | Evan Cheng | 2007-10-13 | 1 | -4/+5 | |
| | | | | llvm-svn: 42945 | |||||
* | EXTRACT_SUBREG coalescing support. The coalescer now treats EXTRACT_SUBREG like | Evan Cheng | 2007-10-12 | 1 | -0/+18 | |
| | | | | | | | | | (almost) a register copy. However, it always coalesced to the register of the RHS (the super-register). All uses of the result of a EXTRACT_SUBREG are sub- register uses which adds subtle complications to load folding, spiller rewrite, etc. llvm-svn: 42899 | |||||
* | Remove isReg, isImm, and isMBB, and change all their users to use | Dan Gohman | 2007-09-14 | 1 | -7/+7 | |
| | | | | | | | isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular. llvm-svn: 41958 | |||||
* | Remove spurious consts. This fixes warnings with compilers that | Dan Gohman | 2007-09-14 | 1 | -1/+1 | |
| | | | | | | are strict about such things. llvm-svn: 41956 | |||||
* | Remove subreg index from MachineInstr's and also keep vregs as unsigned when ↵ | Christopher Lamb | 2007-07-26 | 1 | -2/+0 | |
| | | | | | | adding operands. llvm-svn: 40514 | |||||
* | MachineInstr::isPredicable() is no longer needed. | Evan Cheng | 2007-06-15 | 1 | -4/+0 | |
| | | | | llvm-svn: 37599 | |||||
* | Add missing const qualifiers. | Evan Cheng | 2007-05-29 | 1 | -7/+8 | |
| | | | | llvm-svn: 37341 | |||||
* | Rename M_PREDICATED to M_PREDICABLE; Moved isPredicable() to MachineInstr. | Evan Cheng | 2007-05-16 | 1 | -2/+6 | |
| | | | | llvm-svn: 37121 | |||||
* | Added getNumExplicitOperands and findFirstPredOperand. | Evan Cheng | 2007-05-15 | 1 | -0/+46 | |
| | | | | llvm-svn: 37064 | |||||
* | llvm bug #1350, parts 1, 2, and 3. | Nate Begeman | 2007-05-01 | 1 | -2/+2 | |
| | | | | llvm-svn: 36618 | |||||
* | Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion. | Evan Cheng | 2007-04-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 36483 | |||||
* | Change findRegisterUseOperand() to return operand index instead. | Evan Cheng | 2007-03-26 | 1 | -4/+4 | |
| | | | | llvm-svn: 35363 | |||||
* | Use findRegisterUseOperand to find a kill of particular register. | Evan Cheng | 2007-02-23 | 1 | -3/+5 | |
| | | | | llvm-svn: 34512 | |||||
* | Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. | Evan Cheng | 2007-02-19 | 1 | -0/+11 | |
| | | | | llvm-svn: 34428 | |||||
* | For PR1207: | Reid Spencer | 2007-02-19 | 1 | -11/+0 | |
| | | | | | | | Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399 | |||||
* | Added findRegisterDefOperand(). | Evan Cheng | 2007-02-17 | 1 | -0/+11 | |
| | | | | llvm-svn: 34380 | |||||
* | Print <dead> def operands. | Evan Cheng | 2007-02-16 | 1 | -0/+2 | |
| | | | | llvm-svn: 34343 | |||||
* | The best unbreakage yet, addressing Bill's concerns. | Jeff Cohen | 2006-12-16 | 1 | -41/+28 | |
| | | | | llvm-svn: 32622 | |||||
* | An even better unbreakage... | Jeff Cohen | 2006-12-15 | 1 | -0/+12 | |
| | | | | llvm-svn: 32617 | |||||
* | Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are | Bill Wendling | 2006-12-07 | 1 | -2/+1 | |
| | | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298 | |||||
* | Move copyKillDeadInfo out-of-line. Add findRegisterUseOperand(). | Evan Cheng | 2006-12-06 | 1 | -0/+31 | |
| | | | | llvm-svn: 32273 | |||||
* | - MachineInstr now keeps a ptr to TargetInstrDescriptor instead of Opcode. | Evan Cheng | 2006-11-30 | 1 | -42/+35 | |
| | | | | | | - Remove the ugly TargetInstrDescriptors hack. llvm-svn: 32032 | |||||
* | Use llvm streams instead of <iostream> | Bill Wendling | 2006-11-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 31985 | |||||
* | Clean up. | Evan Cheng | 2006-11-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 31957 | |||||
* | Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead | Evan Cheng | 2006-11-27 | 1 | -20/+14 | |
| | | | | | | of opcode and number of operands. llvm-svn: 31947 | |||||
* | setOperand should not zap the operand list or add implicit operands to an | Chris Lattner | 2006-11-20 | 1 | -39/+0 | |
| | | | | | | | | | instruction. Doing so breaks the FP stackifier, the alpha branch selector the sparc fpmover. This fixes PR1012 and CodeGen/X86/fp-stack-compare.ll llvm-svn: 31876 | |||||
* | Minor updates. | Evan Cheng | 2006-11-15 | 1 | -4/+4 | |
| | | | | llvm-svn: 31761 | |||||
* | - Let MachineInstr ctors add implicit def and use operands. Other operands | Evan Cheng | 2006-11-13 | 1 | -16/+113 | |
| | | | | | | | | | will be inserted before these operands. If the opcode changes (by setOpcode), the implicit operands are updated as well. - Added IsKill, IsDead fields to MachineOperand in preparation for changes that move kill / dead info to MachineInstr's. llvm-svn: 31711 | |||||
* | Add methods to add implicit def use operands to a MI. | Evan Cheng | 2006-11-11 | 1 | -0/+12 | |
| | | | | llvm-svn: 31675 | |||||
* | Add implicit def / use operands to MachineInstr. | Evan Cheng | 2006-11-10 | 1 | -2/+6 | |
| | | | | llvm-svn: 31633 | |||||
* | be more aggressive about matching identical instructions. | Chris Lattner | 2006-10-25 | 1 | -1/+1 | |
| | | | | llvm-svn: 31179 | |||||
* | implement MachineOperand::isIdenticalTo | Chris Lattner | 2006-10-20 | 1 | -0/+29 | |
| | | | | llvm-svn: 31088 | |||||
* | Only call isUse/isDef on register operands | Chris Lattner | 2006-09-05 | 1 | -11/+5 | |
| | | | | llvm-svn: 30118 | |||||
* | Instructions with variable operands (variable_ops) can have a number required | Evan Cheng | 2006-06-15 | 1 | -1/+2 | |
| | | | | | | | | | | | | | operands. e.g. def CALL32r : I<0xFF, MRM2r, (ops GR32:$dst, variable_ops), "call {*}$dst", [(X86call GR32:$dst)]>; TableGen should emit operand informations for the "required" operands. Added a target instruction info flag M_VARIABLE_OPS to indicate the target instruction may have more operands in addition to the minimum required operands. llvm-svn: 28791 | |||||
* | Remove a bogus cast. | Evan Cheng | 2006-05-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 28492 | |||||
* | Final pass of minor cleanups for MachineInstr | Chris Lattner | 2006-05-04 | 1 | -4/+0 | |
| | | | | llvm-svn: 28110 | |||||
* | Remove redundancy and a level of indirection when creating machine operands | Chris Lattner | 2006-05-04 | 1 | -21/+5 | |
| | | | | llvm-svn: 28107 | |||||
* | Remove and simplify some more machineinstr/machineoperand stuff. | Chris Lattner | 2006-05-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 28105 | |||||
* | Rename MO_VirtualRegister -> MO_Register. Clean up immediate handling. | Chris Lattner | 2006-05-04 | 1 | -2/+2 | |
| | | | | llvm-svn: 28104 | |||||
* | Move some methods out of MachineInstr into MachineOperand | Chris Lattner | 2006-05-04 | 1 | -19/+0 | |
| | | | | llvm-svn: 28102 |