aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineInstr.cpp
AgeCommit message (Collapse)AuthorFilesLines
2007-02-19For PR1207:Reid Spencer1-11/+0
Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399
2007-02-17Added findRegisterDefOperand().Evan Cheng1-0/+11
llvm-svn: 34380
2007-02-16Print <dead> def operands.Evan Cheng1-0/+2
llvm-svn: 34343
2006-12-16The best unbreakage yet, addressing Bill's concerns.Jeff Cohen1-41/+28
llvm-svn: 32622
2006-12-15An even better unbreakage...Jeff Cohen1-0/+12
llvm-svn: 32617
2006-12-07Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling1-2/+1
now cerr, cout, and NullStream resp. llvm-svn: 32298
2006-12-06Move copyKillDeadInfo out-of-line. Add findRegisterUseOperand().Evan Cheng1-0/+31
llvm-svn: 32273
2006-11-30- MachineInstr now keeps a ptr to TargetInstrDescriptor instead of Opcode.Evan Cheng1-42/+35
- Remove the ugly TargetInstrDescriptors hack. llvm-svn: 32032
2006-11-28Use llvm streams instead of <iostream>Bill Wendling1-2/+2
llvm-svn: 31985
2006-11-28Clean up.Evan Cheng1-2/+2
llvm-svn: 31957
2006-11-27Change MachineInstr ctor's to take a TargetInstrDescriptor reference insteadEvan Cheng1-20/+14
of opcode and number of operands. llvm-svn: 31947
2006-11-20setOperand should not zap the operand list or add implicit operands to anChris Lattner1-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
2006-11-15Minor updates.Evan Cheng1-4/+4
llvm-svn: 31761
2006-11-13- Let MachineInstr ctors add implicit def and use operands. Other operandsEvan Cheng1-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
2006-11-11Add methods to add implicit def use operands to a MI.Evan Cheng1-0/+12
llvm-svn: 31675
2006-11-10Add implicit def / use operands to MachineInstr.Evan Cheng1-2/+6
llvm-svn: 31633
2006-10-25be more aggressive about matching identical instructions.Chris Lattner1-1/+1
llvm-svn: 31179
2006-10-20implement MachineOperand::isIdenticalToChris Lattner1-0/+29
llvm-svn: 31088
2006-09-05Only call isUse/isDef on register operandsChris Lattner1-11/+5
llvm-svn: 30118
2006-06-15Instructions with variable operands (variable_ops) can have a number requiredEvan Cheng1-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
2006-05-26Remove a bogus cast.Evan Cheng1-1/+1
llvm-svn: 28492
2006-05-04Final pass of minor cleanups for MachineInstrChris Lattner1-4/+0
llvm-svn: 28110
2006-05-04Remove redundancy and a level of indirection when creating machine operandsChris Lattner1-21/+5
llvm-svn: 28107
2006-05-04Remove and simplify some more machineinstr/machineoperand stuff.Chris Lattner1-1/+1
llvm-svn: 28105
2006-05-04Rename MO_VirtualRegister -> MO_Register. Clean up immediate handling.Chris Lattner1-2/+2
llvm-svn: 28104
2006-05-04Move some methods out of MachineInstr into MachineOperandChris Lattner1-19/+0
llvm-svn: 28102
2006-05-04There shalt be only one "immediate" operand type!Chris Lattner1-8/+2
llvm-svn: 28099
2006-05-04Change "value" in MachineOperand to be a GlobalValue, as that is the onlyChris Lattner1-14/+3
thing that can be in it. Remove a dead method. llvm-svn: 28098
2006-05-04Remove a bunch more dead V9 specific stuffChris Lattner1-25/+2
llvm-svn: 28094
2006-05-04Remove a bunch more SparcV9 specific stuffChris Lattner1-7/+1
llvm-svn: 28093
2006-05-04Remove some more V9-specific stuff.Chris Lattner1-32/+2
llvm-svn: 28092
2006-05-04Remove some more unused stuff from MachineInstr that was leftover from V9.Chris Lattner1-38/+0
llvm-svn: 28091
2006-04-22JumpTable support! What this represents is working asm and jit support forNate Begeman1-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
2006-04-20This field no longer existsChris Lattner1-2/+0
llvm-svn: 27899
2006-04-20Remove some of the obvious V9-specific cruftChris Lattner1-101/+2
llvm-svn: 27893
2006-04-17Add a MachineInstr::eraseFromParent convenience method.Chris Lattner1-0/+9
llvm-svn: 27775
2005-04-21Remove trailing whitespaceMisha Brukman1-18/+18
llvm-svn: 21420
2004-10-15Allow machine operands to represent global variables with offsets. This isChris Lattner1-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
2004-09-01Changes For Bug 352Reid Spencer1-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
2004-07-09* Doxygenify commentsMisha Brukman1-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
2004-07-04Add #include <iostream> since Value.h does not #include it any more.Reid Spencer1-0/+2
llvm-svn: 14622
2004-06-25Made a fix so that you can print out MachineInstrs that belong to a ↵Tanya Lattner1-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
2004-06-17Make debugging dumps w/ multiple MachineBBs for a given LLVM BB readable.Brian Gaeke1-4/+4
llvm-svn: 14205
2004-06-02Adjust to new TargetMachine interfaceChris Lattner1-1/+1
llvm-svn: 13956
2004-05-24Changed clone to be const.Tanya Lattner1-1/+7
Changed copy constructor to set parent, prev, and next pointers to null. llvm-svn: 13706
2004-05-23Fixed up my changes to add support for cloning Machine Instructions.Tanya Lattner1-2/+3
llvm-svn: 13665
2004-05-23Adding support to clone MachineInstrTanya Lattner1-0/+19
llvm-svn: 13661
2004-03-03Make MachineOperand's value named 'contents'. Make really, really sureBrian Gaeke1-6/+6
it is always completely initialized and copied. Also, fix up many comments and asserts. llvm-svn: 12100
2004-02-29int64_t -> intChris Lattner1-1/+1
llvm-svn: 11977
2004-02-27Fix crash caused by passing register 0 toAlkis Evlogimenos1-1/+1
MRegisterInfo::isPhysicalRegister(). llvm-svn: 11894