Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | forgot this | Duraid Madina | 2006-09-04 | 1 | -0/+2 |
| | | | | llvm-svn: 30097 | ||||
* | add setJumpBufSize() and setJumpBufAlignment() to target-lowering. | Duraid Madina | 2006-09-04 | 1 | -2/+2 |
| | | | | | | | Call these from your backend to enjoy setjmp/longjmp goodness, see lib/Target/IA64/IA64ISelLowering.cpp for an example llvm-svn: 30095 | ||||
* | new file | Chris Lattner | 2006-09-04 | 1 | -0/+154 |
| | | | | llvm-svn: 30082 | ||||
* | Avoid beating on the mi2i map when we know the answer already. | Chris Lattner | 2006-09-03 | 1 | -12/+19 |
| | | | | llvm-svn: 30066 | ||||
* | minor speedup | Chris Lattner | 2006-09-03 | 1 | -3/+3 |
| | | | | llvm-svn: 30065 | ||||
* | Fix Regression/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll on X86. | Chris Lattner | 2006-09-03 | 1 | -6/+11 |
| | | | | | | | Just because an alias of a register is available, it doesn't mean that we can arbitrarily evict the register. llvm-svn: 30064 | ||||
* | When deleting a machine instruction, make sure to remove it from the | Chris Lattner | 2006-09-03 | 1 | -1/+4 |
| | | | | | | livevariables information. This fixes several regalloc=local failures on x86 llvm-svn: 30062 | ||||
* | Move two methods out of line, make them work when the record for a machine | Chris Lattner | 2006-09-03 | 1 | -0/+36 |
| | | | | | | instruction includes physregs. llvm-svn: 30061 | ||||
* | improve compat with certain versions of GCC (on cygwin?) | Chris Lattner | 2006-09-02 | 1 | -1/+1 |
| | | | | llvm-svn: 30054 | ||||
* | Iteration is required for some cases, even if they don't occur in crafty. | Chris Lattner | 2006-09-02 | 1 | -13/+24 |
| | | | | | | Restore it, which re-fixes X86/2006-08-21-ExtraMovInst.ll llvm-svn: 30050 | ||||
* | When joining two intervals where the RHS is really simple, use a light-weight | Chris Lattner | 2006-09-02 | 2 | -11/+172 |
| | | | | | | method for joining the live ranges instead of the fully-general one. llvm-svn: 30049 | ||||
* | Allow legalizer to expand ISD::MUL using only MULHS in the rare case that is | Evan Cheng | 2006-09-01 | 1 | -6/+13 |
| | | | | | | possible and the target only supports MULHS. llvm-svn: 30022 | ||||
* | Corrections. | Jim Laskey | 2006-09-01 | 1 | -4/+4 |
| | | | | llvm-svn: 30021 | ||||
* | Pull some code out of a hot recursive function because the common case doesn't | Chris Lattner | 2006-09-01 | 1 | -6/+19 |
| | | | | | | need recursion. llvm-svn: 30015 | ||||
* | Reserve space in the ValueNumberInfo vector. This speeds up live interval | Chris Lattner | 2006-09-01 | 1 | -10/+10 |
| | | | | | | | | analysis 16% on crafty. Wrap long lines. llvm-svn: 30012 | ||||
* | Iterative coallescing doesn't buy us anything (we get identical results on | Chris Lattner | 2006-09-01 | 1 | -24/+4 |
| | | | | | | crafty with and without it). Removing it speeds up live intervals 6%. llvm-svn: 30010 | ||||
* | DAG combiner fix for rotates. Previously the outer-most condition checks | Evan Cheng | 2006-08-31 | 1 | -27/+44 |
| | | | | | | | for ROTL availability. This prevents it from forming ROTR for targets that has ROTR only. llvm-svn: 29997 | ||||
* | Add a special case that speeds up coallescing a bit, but not enough. | Chris Lattner | 2006-08-31 | 1 | -51/+107 |
| | | | | llvm-svn: 29996 | ||||
* | Delete copies as they are coallesced instead of waiting until the end. | Chris Lattner | 2006-08-31 | 1 | -0/+4 |
| | | | | llvm-svn: 29995 | ||||
* | avoid calling the virtual isMoveInstr method endlessly by caching its results. | Chris Lattner | 2006-08-31 | 2 | -75/+73 |
| | | | | llvm-svn: 29994 | ||||
* | Fix a compiler crash bootstrapping llvm-gcc. | Chris Lattner | 2006-08-30 | 1 | -2/+6 |
| | | | | llvm-svn: 29989 | ||||
* | Teach the coallescer to coallesce live intervals joined by an arbitrary | Chris Lattner | 2006-08-29 | 2 | -155/+249 |
| | | | | | | | | number of copies, potentially defining live ranges that appear to have differing value numbers that become identical when coallsced. Among other things, this fixes CodeGen/X86/shift-coalesce.ll and PR687. llvm-svn: 29968 | ||||
* | Handle callee saved registers in dwarf frame info (lead up to exception | Jim Laskey | 2006-08-29 | 1 | -9/+35 |
| | | | | | | handling.) llvm-svn: 29954 | ||||
* | Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make ↵ | Evan Cheng | 2006-08-29 | 2 | -31/+3 |
| | | | | | | it a static method of SelectionDAG. llvm-svn: 29951 | ||||
* | eliminate RegisterOpt. It does the same thing as RegisterPass. | Chris Lattner | 2006-08-27 | 1 | -1/+1 |
| | | | | llvm-svn: 29925 | ||||
* | Eliminate RegisterAnalysis. RegisterPass now does all that is necessary. | Chris Lattner | 2006-08-27 | 2 | -2/+2 |
| | | | | llvm-svn: 29921 | ||||
* | s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| | Chris Lattner | 2006-08-27 | 15 | -15/+15 |
| | | | | llvm-svn: 29911 | ||||
* | typo fix | Chris Lattner | 2006-08-27 | 1 | -3/+4 |
| | | | | llvm-svn: 29910 | ||||
* | Eliminate SelectNodeTo() and getTargetNode() variants which take more than | Evan Cheng | 2006-08-27 | 1 | -254/+12 |
| | | | | | | | 3 SDOperand operands. They are replaced by versions which take an array of SDOperand and the number of operands. llvm-svn: 29905 | ||||
* | Properly size the string table, and emit symbol table and string table | Nate Begeman | 2006-08-26 | 1 | -59/+81 |
| | | | | | | entries in the correct order, fixing several fixmes. llvm-svn: 29902 | ||||
* | SelectNodeTo now returns a SDNode*. | Evan Cheng | 2006-08-26 | 1 | -74/+74 |
| | | | | llvm-svn: 29901 | ||||
* | Simplifications to liveinterval analysis, no functionality change. | Chris Lattner | 2006-08-26 | 2 | -37/+36 |
| | | | | llvm-svn: 29896 | ||||
* | Completely change the way that joining with physregs is implemented. This | Chris Lattner | 2006-08-25 | 2 | -35/+72 |
| | | | | | | | | paves the way for future changes, increases coallescing opportunities (in theory, not witnessed in practice), and eliminates the really expensive LiveIntervals::overlapsAliases method. llvm-svn: 29890 | ||||
* | Tidy up. | Jim Laskey | 2006-08-25 | 1 | -2/+4 |
| | | | | llvm-svn: 29888 | ||||
* | Consolidate callee saved register information so that it can me used by debug | Jim Laskey | 2006-08-25 | 1 | -20/+21 |
| | | | | | | information and exception handling. llvm-svn: 29881 | ||||
* | Allow for register numbers > 31. | Jim Laskey | 2006-08-25 | 1 | -4/+14 |
| | | | | llvm-svn: 29879 | ||||
* | Get closer to handling globals correctly. We now generally get them in the | Nate Begeman | 2006-08-25 | 1 | -5/+70 |
| | | | | | | right section. llvm-svn: 29871 | ||||
* | When replacing value numbers, make sure to compactify the value # space. | Chris Lattner | 2006-08-24 | 1 | -0/+12 |
| | | | | llvm-svn: 29865 | ||||
* | Take advantage of the recent improvements to the liveintervals set (tracking | Chris Lattner | 2006-08-24 | 3 | -221/+330 |
| | | | | | | | | | | | | | | | | | | | instructions which define each value#) to simplify and improve the coallescer. In particular, this patch: 1. Implements iterative coallescing. 2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a better solution. 3. Implements PR865, "coallescing" away the second copy in code like: A = B ... B = A This also includes changes to symbolically print registers in intervals when possible. llvm-svn: 29862 | ||||
* | Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it | Nate Begeman | 2006-08-23 | 1 | -0/+428 |
| | | | | | | does emit linkable .o files in very simple cases. llvm-svn: 29850 | ||||
* | Improve the LiveInterval class to keep track of which machine instruction | Chris Lattner | 2006-08-22 | 2 | -17/+40 |
| | | | | | | | defines each value# tracked by the interval. This will be used to improve coallescing. llvm-svn: 29830 | ||||
* | Print physreg names symbolically in dumps | Chris Lattner | 2006-08-21 | 1 | -2/+3 |
| | | | | llvm-svn: 29805 | ||||
* | Print debug info as: | Chris Lattner | 2006-08-21 | 1 | -2/+5 |
| | | | | | | | | | | | | | | | | *** Register mapping *** reg 1024 -> %reg1028 reg 1026 -> EAX reg 1027 -> %reg1028 instead of: *** Register mapping *** reg 1024 -> reg 1028 reg 1026 -> reg 15 reg 1027 -> reg 1028 llvm-svn: 29803 | ||||
* | Adding C++ member support. | Jim Laskey | 2006-08-21 | 2 | -62/+152 |
| | | | | llvm-svn: 29799 | ||||
* | Fix PR861 | Chris Lattner | 2006-08-21 | 1 | -0/+1 |
| | | | | llvm-svn: 29796 | ||||
* | Added a check so that if we have two machine instructions in this form | Bill Wendling | 2006-08-21 | 1 | -10/+30 |
| | | | | | | | | | MOV R0, R1 MOV R1, R0 the second machine instruction is removed. Added a regression test. llvm-svn: 29792 | ||||
* | switch the SUnit pred/succ sets from being std::sets to being smallvectors. | Chris Lattner | 2006-08-17 | 3 | -78/+82 |
| | | | | | | | | This reduces selectiondag time on kc++ from 5.43s to 4.98s (9%). More significantly, this speeds up the default ppc scheduler from ~1571ms to 1063ms, a 33% speedup. llvm-svn: 29743 | ||||
* | minor changes. | Chris Lattner | 2006-08-16 | 2 | -22/+24 |
| | | | | llvm-svn: 29740 | ||||
* | Use the appropriate typedef | Chris Lattner | 2006-08-16 | 1 | -2/+1 |
| | | | | llvm-svn: 29730 | ||||
* | Start using SDVTList more consistently | Chris Lattner | 2006-08-15 | 2 | -72/+78 |
| | | | | llvm-svn: 29711 |