Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | ||||
* | There shalt be only one "immediate" operand type! | Chris Lattner | 2006-05-04 | 1 | -8/+2 |
| | | | | llvm-svn: 28099 | ||||
* | Change "value" in MachineOperand to be a GlobalValue, as that is the only | Chris Lattner | 2006-05-04 | 1 | -14/+3 |
| | | | | | | thing that can be in it. Remove a dead method. llvm-svn: 28098 | ||||
* | Remove a bunch more dead V9 specific stuff | Chris Lattner | 2006-05-04 | 1 | -25/+2 |
| | | | | llvm-svn: 28094 | ||||
* | Remove a bunch more SparcV9 specific stuff | Chris Lattner | 2006-05-04 | 1 | -7/+1 |
| | | | | llvm-svn: 28093 | ||||
* | Remove some more V9-specific stuff. | Chris Lattner | 2006-05-04 | 1 | -32/+2 |
| | | | | llvm-svn: 28092 | ||||
* | Remove some more unused stuff from MachineInstr that was leftover from V9. | Chris Lattner | 2006-05-04 | 1 | -38/+0 |
| | | | | llvm-svn: 28091 | ||||
* | JumpTable support! What this represents is working asm and jit support for | Nate Begeman | 2006-04-22 | 1 | -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 exists | Chris Lattner | 2006-04-20 | 1 | -2/+0 |
| | | | | llvm-svn: 27899 | ||||
* | Remove some of the obvious V9-specific cruft | Chris Lattner | 2006-04-20 | 1 | -101/+2 |
| | | | | llvm-svn: 27893 | ||||
* | Add a MachineInstr::eraseFromParent convenience method. | Chris Lattner | 2006-04-17 | 1 | -0/+9 |
| | | | | llvm-svn: 27775 | ||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -18/+18 |
| | | | | llvm-svn: 21420 | ||||
* | Allow machine operands to represent global variables with offsets. This is | Chris Lattner | 2004-10-15 | 1 | -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 352 | Reid Spencer | 2004-09-01 | 1 | -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 comments | Misha Brukman | 2004-07-09 | 1 | -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 Spencer | 2004-07-04 | 1 | -0/+2 |
| | | | | llvm-svn: 14622 | ||||
* | Made a fix so that you can print out MachineInstrs that belong to a ↵ | Tanya Lattner | 2004-06-25 | 1 | -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 Gaeke | 2004-06-17 | 1 | -4/+4 |
| | | | | llvm-svn: 14205 | ||||
* | Adjust to new TargetMachine interface | Chris Lattner | 2004-06-02 | 1 | -1/+1 |
| | | | | llvm-svn: 13956 | ||||
* | Changed clone to be const. | Tanya Lattner | 2004-05-24 | 1 | -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 Lattner | 2004-05-23 | 1 | -2/+3 |
| | | | | llvm-svn: 13665 | ||||
* | Adding support to clone MachineInstr | Tanya Lattner | 2004-05-23 | 1 | -0/+19 |
| | | | | llvm-svn: 13661 | ||||
* | Make MachineOperand's value named 'contents'. Make really, really sure | Brian Gaeke | 2004-03-03 | 1 | -6/+6 |
| | | | | | | | it is always completely initialized and copied. Also, fix up many comments and asserts. llvm-svn: 12100 | ||||
* | int64_t -> int | Chris Lattner | 2004-02-29 | 1 | -1/+1 |
| | | | | llvm-svn: 11977 | ||||
* | Fix crash caused by passing register 0 to | Alkis Evlogimenos | 2004-02-27 | 1 | -1/+1 |
| | | | | | | MRegisterInfo::isPhysicalRegister(). llvm-svn: 11894 | ||||
* | Fix bugs in finegrainification | Chris Lattner | 2004-02-23 | 1 | -1/+3 |
| | | | | llvm-svn: 11758 | ||||
* | Finegrainify namespacification | Chris Lattner | 2004-02-23 | 1 | -9/+7 |
| | | | | llvm-svn: 11757 | ||||
* | Fix a __LONG__ term annoyance of mine: symbolic registers weren't being printed | Chris Lattner | 2004-02-19 | 1 | -6/+16 |
| | | | | | | | by operator<< on MachineInstr's, and looking up what register "24" is all of the time was greatly annoying. llvm-svn: 11623 | ||||
* | Add LeakDetection to MachineInstr. | Alkis Evlogimenos | 2004-02-16 | 1 | -0/+12 |
| | | | | | | | Move out of line member functions of MachineBasicBlock to MachineBasicBlock.cpp. llvm-svn: 11497 | ||||
* | Remove getAllocatedRegNum(). Use getReg() instead. | Alkis Evlogimenos | 2004-02-13 | 1 | -5/+5 |
| | | | | llvm-svn: 11393 | ||||
* | Add head-of-file comments and Doxygen comments. Tighten up a lot of whitespace. | Brian Gaeke | 2004-02-13 | 1 | -36/+32 |
| | | | | | | | | Rename SetMachineOperandConst's formal parameters to match other methods here. Mark some methods as being used only by the SPARC back-end. Fix a missing-paren bug in OutputValue(). llvm-svn: 11363 | ||||
* | Add parent pointer to MachineInstr that points to owning | Alkis Evlogimenos | 2004-02-12 | 1 | -7/+14 |
| | | | | | | | | MachineBasicBlock. Also change opcode to a short and numImplicitRefs to an unsigned char so that overall MachineInstr's size stays the same. llvm-svn: 11357 | ||||
* | Rename the opCode instance variable to Opcode | Chris Lattner | 2004-02-12 | 1 | -29/+15 |
| | | | | llvm-svn: 11348 | ||||
* | This field is never read | Chris Lattner | 2004-02-12 | 1 | -3/+0 |
| | | | | llvm-svn: 11346 | ||||
* | Modify the two address instruction pass to remove the duplicate | Alkis Evlogimenos | 2004-02-04 | 1 | -18/+0 |
| | | | | | | operand of the instruction and thus simplify the register allocation. llvm-svn: 11124 | ||||
* | When an instruction like: A += B had both A and B virtual registers | Alkis Evlogimenos | 2004-02-03 | 1 | -0/+18 |
| | | | | | | spilled, A was loaded from its stack location twice. This fixes the bug. llvm-svn: 11093 | ||||
* | Change interface of MachineOperand as follows: | Alkis Evlogimenos | 2003-12-14 | 1 | -28/+33 |
| | | | | | | | | | | | | | | | a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. llvm-svn: 10461 | ||||
* | Put all LLVM code into the llvm namespace, as per bug 109. | Brian Gaeke | 2003-11-11 | 1 | -2/+6 |
| | | | | llvm-svn: 9903 | ||||
* | Added LLVM project notice to the top of every C++ source file. | John Criswell | 2003-10-20 | 1 | -0/+7 |
| | | | | | | Header files will be on the way. llvm-svn: 9298 | ||||
* | Fixed spelling. | Misha Brukman | 2003-09-17 | 1 | -5/+5 |
| | | | | llvm-svn: 8588 | ||||
* | Fix assertion in MachineInstr::substituteValue(). | Vikram S. Adve | 2003-08-07 | 1 | -2/+2 |
| | | | | llvm-svn: 7675 | ||||
* | Do not insert physical regsiters into the regsUsed set | Chris Lattner | 2003-08-05 | 1 | -3/+0 |
| | | | | llvm-svn: 7617 | ||||
* | All callers of these methods actually wanted them to preserve the flags, | Chris Lattner | 2003-08-05 | 1 | -26/+5 |
| | | | | | | | | | so get rid of the def/use parameters that were getting passed in. **** This now changes the semantics of these methods to preserve the flags, not clobber them! llvm-svn: 7602 | ||||
* | Simplify code, eliminating the need for the X86 isVoid target instr flag | Chris Lattner | 2003-08-03 | 1 | -3/+4 |
| | | | | llvm-svn: 7534 |