Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | It's possible to commute instrctions with more than 3 operands. | Evan Cheng | 2007-10-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 43256 | |||||
* | Added missing curly braces which renders the if clause useless in debug build. | Evan Cheng | 2007-10-20 | 1 | -1/+2 | |
| | | | | llvm-svn: 43196 | |||||
* | Allow copyRegToReg to emit cross register classes copies. | Evan Cheng | 2007-09-26 | 1 | -1/+1 | |
| | | | | | | Tested with "make check"! llvm-svn: 42346 | |||||
* | Fix typo in comment. | Nick Lewycky | 2007-05-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 36873 | |||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 1 | -2/+2 | |
| | | | | llvm-svn: 36662 | |||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 1 | -2/+2 | |
| | | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652 | |||||
* | Do not use typeinfo to identify pass in pass manager. | Devang Patel | 2007-05-01 | 1 | -0/+4 | |
| | | | | llvm-svn: 36632 | |||||
* | VarInfo::UsedBlocks is no longer used. Remove. | Evan Cheng | 2007-04-18 | 1 | -4/+0 | |
| | | | | llvm-svn: 36250 | |||||
* | Keep UsedBlocks info accurate. | Evan Cheng | 2007-03-18 | 1 | -0/+3 | |
| | | | | llvm-svn: 35140 | |||||
* | Eliminate static ctors from Statistics | Chris Lattner | 2006-12-19 | 1 | -7/+4 | |
| | | | | llvm-svn: 32698 | |||||
* | Removed more <iostream> includes | Bill Wendling | 2006-12-07 | 1 | -4/+3 | |
| | | | | llvm-svn: 32321 | |||||
* | Detemplatize the Statistic class. The only type it is instantiated with | Chris Lattner | 2006-12-06 | 1 | -3/+3 | |
| | | | | | | is 'unsigned'. llvm-svn: 32279 | |||||
* | Match TargetInstrInfo changes. | Evan Cheng | 2006-12-01 | 1 | -14/+9 | |
| | | | | llvm-svn: 32098 | |||||
* | Use llvm streams instead of <iostream> | Bill Wendling | 2006-11-28 | 1 | -12/+11 | |
| | | | | llvm-svn: 31985 | |||||
* | Remove M_2_ADDR_FLAG. | Evan Cheng | 2006-11-09 | 1 | -2/+0 | |
| | | | | llvm-svn: 31583 | |||||
* | Two-address instructions no longer have to be A := A op C. Now any pair of ↵ | Evan Cheng | 2006-11-01 | 1 | -100/+119 | |
| | | | | | | dest / src operands can be tied together. llvm-svn: 31363 | |||||
* | Fix a long-standing wart in the code generator: two-address instruction lowering | Chris Lattner | 2006-09-05 | 1 | -3/+2 | |
| | | | | | | | | | | | | | | | actually *removes* one of the operands, instead of just assigning both operands the same register. This make reasoning about instructions unnecessarily complex, because you need to know if you are before or after register allocation to match up operand #'s with the target description file. Changing this also gets rid of a bunch of hacky code in various places. This patch also includes changes to fold loads into cmp/test instructions in the X86 backend, along with a significant simplification to the X86 spill folding code. llvm-svn: 30108 | |||||
* | s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| | Chris Lattner | 2006-08-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 29911 | |||||
* | Reduce number of exported symbols | Andrew Lenharth | 2006-07-20 | 1 | -3/+3 | |
| | | | | llvm-svn: 29220 | |||||
* | Shave another 27K off libllvmgcc.dylib with visibility hidden | Chris Lattner | 2006-06-28 | 1 | -1/+3 | |
| | | | | llvm-svn: 28973 | |||||
* | Patches to make the LLVM sources more -pedantic clean. Patch provided | Chris Lattner | 2006-05-24 | 1 | -1/+1 | |
| | | | | | | by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447 | |||||
* | Move some methods out of MachineInstr into MachineOperand | Chris Lattner | 2006-05-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 28102 | |||||
* | Add explicit #includes of <iostream> | Chris Lattner | 2006-01-22 | 1 | -0/+1 | |
| | | | | llvm-svn: 25515 | |||||
* | Fix some spello's pointed out by Gabor Greif | Chris Lattner | 2005-10-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 24019 | |||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -4/+4 | |
| | | | | llvm-svn: 21420 | |||||
* | Use the TargetInstrInfo::commuteInstruction method to commute instructions | Chris Lattner | 2005-01-19 | 1 | -6/+17 | |
| | | | | | | instead of doing it manually. llvm-svn: 19685 | |||||
* | Make the 2-address instruction lowering pass smarter in two ways: | Chris Lattner | 2005-01-02 | 1 | -17/+61 | |
| | | | | | | | | | | | | | | | | | 1. If we are two-addressing a commutable instruction and the LHS is not the last use of the variable, see if the instruction is the last use of the RHS. If so, commute the instruction, allowing us to avoid a register-register copy in many cases for common instructions like ADD, OR, AND, etc on X86. 2. If #1 doesn't hold, and if this is an instruction that also existing in 3-address form, promote the instruction to a 3-address instruction to avoid the register-register copy. We can do this for several common instructions in X86, including ADDrr, INC, DEC, etc. This patch implements test/Regression/CodeGen/X86/commute-two-addr.ll, overlap-add.ll, and overlap-shift.ll when I check in the X86 support for it. llvm-svn: 19245 | |||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -3/+3 | |
| | | | | | | | | 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 | |||||
* | The insertion method returns void now | Chris Lattner | 2004-08-15 | 1 | -5/+1 | |
| | | | | llvm-svn: 15779 | |||||
* | Fix indentation and wrap code at 80 cols | Misha Brukman | 2004-07-22 | 1 | -110/+100 | |
| | | | | llvm-svn: 15107 | |||||
* | Remove extraneous punctuation | Chris Lattner | 2004-07-22 | 1 | -2/+2 | |
| | | | | llvm-svn: 15098 | |||||
* | Minor cleanups | Chris Lattner | 2004-07-21 | 1 | -8/+6 | |
| | | | | llvm-svn: 15091 | |||||
* | These files don't need to include <iostream> since they include ↵ | Brian Gaeke | 2004-07-21 | 1 | -1/+0 | |
| | | | | | | "Support/Debug.h". llvm-svn: 15089 | |||||
* | Simplify the interface to LiveVariables::addVirtualRegister(Killed|Dead) | Chris Lattner | 2004-07-19 | 1 | -2/+2 | |
| | | | | llvm-svn: 14997 | |||||
* | Made a fix so that you can print out MachineInstrs that belong to a ↵ | Tanya Lattner | 2004-06-25 | 1 | -3/+3 | |
| | | | | | | 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 | |||||
* | Adjust to new TargetMachine interface | Chris Lattner | 2004-06-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 13956 | |||||
* | Beautify debug output. | Alkis Evlogimenos | 2004-02-18 | 1 | -3/+8 | |
| | | | | llvm-svn: 11573 | |||||
* | This pass should not require phi elimination or live variable | Alkis Evlogimenos | 2004-02-15 | 1 | -13/+13 | |
| | | | | | | | analysis. It should only preserve them and update LiveVariables if it already ran. llvm-svn: 11479 | |||||
* | Use newly added next() and prior() utility functions. | Alkis Evlogimenos | 2004-02-14 | 1 | -2/+2 | |
| | | | | llvm-svn: 11430 | |||||
* | Remove getAllocatedRegNum(). Use getReg() instead. | Alkis Evlogimenos | 2004-02-13 | 1 | -6/+6 | |
| | | | | llvm-svn: 11393 | |||||
* | Change MachineBasicBlock's vector of MachineInstr pointers into an | Alkis Evlogimenos | 2004-02-12 | 1 | -5/+5 | |
| | | | | | | | | | ilist of MachineInstr objects. This allows constant time removal and insertion of MachineInstr instances from anywhere in each MachineBasicBlock. It also allows for constant time splicing of MachineInstrs into or out of MachineBasicBlocks. llvm-svn: 11340 | |||||
* | Added missing include. | Tanya Lattner | 2004-02-05 | 1 | -0/+1 | |
| | | | | llvm-svn: 11129 | |||||
* | Modify the two address instruction pass to remove the duplicate | Alkis Evlogimenos | 2004-02-04 | 1 | -57/+67 | |
| | | | | | | operand of the instruction and thus simplify the register allocation. llvm-svn: 11124 | |||||
* | Revert changes. Will implement this using a different set of primitives | Alkis Evlogimenos | 2004-02-02 | 1 | -9/+3 | |
| | | | | llvm-svn: 11091 | |||||
* | Correctly update def/use information for modified machine operands. | Alkis Evlogimenos | 2004-02-02 | 1 | -3/+9 | |
| | | | | llvm-svn: 11087 | |||||
* | Fix, correctly this time, the computation of the return value | Chris Lattner | 2004-01-31 | 1 | -15/+16 | |
| | | | | | | | | | Fix a spello Tighten up the assertion checking No functionality changes. llvm-svn: 11036 | |||||
* | * Fix incorrect computation of the runOnMachineFunction return value | Chris Lattner | 2004-01-31 | 1 | -30/+23 | |
| | | | | | | * Turn a bunch of instance variables into automatic variables llvm-svn: 11035 | |||||
* | Remove unneeded #includes | Chris Lattner | 2004-01-31 | 1 | -12/+10 | |
| | | | | | | | | Move Passes.h (which defines the interface to this file) to the top. Move statistics to the top of the file. Add a comment llvm-svn: 11034 | |||||
* | Make LiveVariables::HandlePhysRegUse and | Alkis Evlogimenos | 2004-01-11 | 1 | -21/+11 | |
| | | | | | | | | | LiveVariables::HandlePhysRegDef private they use information that is not in memory when LiveVariables finishes the analysis. Also update the TwoAddressInstructionPass to not use this interface. llvm-svn: 10755 | |||||
* | fix warning | Chris Lattner | 2004-01-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 10692 |