summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineInstr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use findRegisterUseOperand to find a kill of particular register.Evan Cheng2007-02-231-3/+5
| | | | llvm-svn: 34512
* Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.Evan Cheng2007-02-191-0/+11
| | | | llvm-svn: 34428
* For PR1207:Reid Spencer2007-02-191-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 Cheng2007-02-171-0/+11
| | | | llvm-svn: 34380
* Print <dead> def operands.Evan Cheng2007-02-161-0/+2
| | | | llvm-svn: 34343
* The best unbreakage yet, addressing Bill's concerns.Jeff Cohen2006-12-161-41/+28
| | | | llvm-svn: 32622
* An even better unbreakage...Jeff Cohen2006-12-151-0/+12
| | | | llvm-svn: 32617
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-2/+1
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Move copyKillDeadInfo out-of-line. Add findRegisterUseOperand().Evan Cheng2006-12-061-0/+31
| | | | llvm-svn: 32273
* - MachineInstr now keeps a ptr to TargetInstrDescriptor instead of Opcode.Evan Cheng2006-11-301-42/+35
| | | | | | - Remove the ugly TargetInstrDescriptors hack. llvm-svn: 32032
* Use llvm streams instead of <iostream>Bill Wendling2006-11-281-2/+2
| | | | llvm-svn: 31985
* Clean up.Evan Cheng2006-11-281-2/+2
| | | | llvm-svn: 31957
* Change MachineInstr ctor's to take a TargetInstrDescriptor reference insteadEvan Cheng2006-11-271-20/+14
| | | | | | of opcode and number of operands. llvm-svn: 31947
* setOperand should not zap the operand list or add implicit operands to anChris Lattner2006-11-201-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 Cheng2006-11-151-4/+4
| | | | llvm-svn: 31761
* - Let MachineInstr ctors add implicit def and use operands. Other operandsEvan Cheng2006-11-131-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 Cheng2006-11-111-0/+12
| | | | llvm-svn: 31675
* Add implicit def / use operands to MachineInstr.Evan Cheng2006-11-101-2/+6
| | | | llvm-svn: 31633
* be more aggressive about matching identical instructions.Chris Lattner2006-10-251-1/+1
| | | | llvm-svn: 31179
* implement MachineOperand::isIdenticalToChris Lattner2006-10-201-0/+29
| | | | llvm-svn: 31088
* Only call isUse/isDef on register operandsChris Lattner2006-09-051-11/+5
| | | | llvm-svn: 30118
* Instructions with variable operands (variable_ops) can have a number requiredEvan Cheng2006-06-151-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 Cheng2006-05-261-1/+1
| | | | llvm-svn: 28492
* Final pass of minor cleanups for MachineInstrChris Lattner2006-05-041-4/+0
| | | | llvm-svn: 28110
* Remove redundancy and a level of indirection when creating machine operandsChris Lattner2006-05-041-21/+5
| | | | llvm-svn: 28107
* Remove and simplify some more machineinstr/machineoperand stuff.Chris Lattner2006-05-041-1/+1
| | | | llvm-svn: 28105
* Rename MO_VirtualRegister -> MO_Register. Clean up immediate handling.Chris Lattner2006-05-041-2/+2
| | | | llvm-svn: 28104
* Move some methods out of MachineInstr into MachineOperandChris Lattner2006-05-041-19/+0
| | | | llvm-svn: 28102
* There shalt be only one "immediate" operand type!Chris Lattner2006-05-041-8/+2
| | | | llvm-svn: 28099
* Change "value" in MachineOperand to be a GlobalValue, as that is the onlyChris Lattner2006-05-041-14/+3
| | | | | | thing that can be in it. Remove a dead method. llvm-svn: 28098
* Remove a bunch more dead V9 specific stuffChris Lattner2006-05-041-25/+2
| | | | llvm-svn: 28094
* Remove a bunch more SparcV9 specific stuffChris Lattner2006-05-041-7/+1
| | | | llvm-svn: 28093
* Remove some more V9-specific stuff.Chris Lattner2006-05-041-32/+2
| | | | llvm-svn: 28092
* Remove some more unused stuff from MachineInstr that was leftover from V9.Chris Lattner2006-05-041-38/+0
| | | | llvm-svn: 28091
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-221-0/+6
| | | | | | | | x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. llvm-svn: 27947
* This field no longer existsChris Lattner2006-04-201-2/+0
| | | | llvm-svn: 27899
* Remove some of the obvious V9-specific cruftChris Lattner2006-04-201-101/+2
| | | | llvm-svn: 27893
* Add a MachineInstr::eraseFromParent convenience method.Chris Lattner2006-04-171-0/+9
| | | | llvm-svn: 27775
* Remove trailing whitespaceMisha Brukman2005-04-211-18/+18
| | | | llvm-svn: 21420
* Allow machine operands to represent global variables with offsets. This isChris Lattner2004-10-151-5/+9
| | | | | | | | | | | | | | | | | useful when you have a reference like: int A[100]; void foo() { A[10] = 1; } In this case, &A[10] is a single constant and should be treated as such. Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no other operand type is. This is another fine patch contributed by Jeff Cohen!! llvm-svn: 17007
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* * Doxygenify commentsMisha Brukman2004-07-091-104/+96
| | | | | | | | | | | * Fix spacing, grammar in comment * Make code layout consistent * Wrap code at 80 cols * Delete spurious blank lines No functional changes. llvm-svn: 14721
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+2
| | | | llvm-svn: 14622
* Made a fix so that you can print out MachineInstrs that belong to a ↵Tanya Lattner2004-06-251-5/+18
| | | | | | MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. llvm-svn: 14389
* Make debugging dumps w/ multiple MachineBBs for a given LLVM BB readable.Brian Gaeke2004-06-171-4/+4
| | | | llvm-svn: 14205
* Adjust to new TargetMachine interfaceChris Lattner2004-06-021-1/+1
| | | | llvm-svn: 13956
* Changed clone to be const.Tanya Lattner2004-05-241-1/+7
| | | | | | Changed copy constructor to set parent, prev, and next pointers to null. llvm-svn: 13706
* Fixed up my changes to add support for cloning Machine Instructions.Tanya Lattner2004-05-231-2/+3
| | | | llvm-svn: 13665
* Adding support to clone MachineInstrTanya Lattner2004-05-231-0/+19
| | | | llvm-svn: 13661
* Make MachineOperand's value named 'contents'. Make really, really sureBrian Gaeke2004-03-031-6/+6
| | | | | | | it is always completely initialized and copied. Also, fix up many comments and asserts. llvm-svn: 12100
OpenPOWER on IntegriCloud