| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 | ||||
| * | add a new SDVTList type and new SelectionDAG::getVTList methods to streamline | Chris Lattner | 2006-08-15 | 1 | -68/+79 |
| | | | | | | | the creation of canonical VTLists. llvm-svn: 29709 | ||||
| * | eliminate use of getNode that takes vector of valuetypes. | Chris Lattner | 2006-08-14 | 2 | -30/+30 |
| | | | | | llvm-svn: 29687 | ||||
| * | Add a new getNode() method that takes a pointer to an already-intern'd list | Chris Lattner | 2006-08-14 | 1 | -78/+70 |
| | | | | | | | | of value-type nodes. This avoids having to do mallocs for std::vectors of valuetypes when a node returns more than one type. llvm-svn: 29685 | ||||
| * | remove SelectionDAG::InsertISelMapEntry, it is dead | Chris Lattner | 2006-08-14 | 1 | -9/+0 |
| | | | | | llvm-svn: 29677 | ||||
| * | Add code to resize the CSEMap hash table. This doesn't speedup codegen of | Chris Lattner | 2006-08-14 | 2 | -3/+47 |
| | | | | | | | kimwitu, but seems like a good idea from a "avoid performance cliffs" standpoint :) llvm-svn: 29675 | ||||
| * | Add the actual constant to the hash for ConstantPool nodes. Thanks to | Chris Lattner | 2006-08-14 | 2 | -0/+2 |
| | | | | | | | Rafael Espindola for pointing this out. llvm-svn: 29669 | ||||
| * | Emit .set directives for jump table entries when possible, which reduces | Nate Begeman | 2006-08-12 | 1 | -3/+39 |
| | | | | | | | the number of relocations in object files, shrinkifying them. llvm-svn: 29650 | ||||
| * | Fix an obvious bug, noticed by inspection. No current targets trigger this. | Chris Lattner | 2006-08-12 | 1 | -3/+3 |
| | | | | | llvm-svn: 29648 | ||||
| * | Switch to using SuperFastHash instead of adding all elements together. This | Chris Lattner | 2006-08-12 | 1 | -6/+24 |
| | | | | | | | doesn't significantly improve performance but it helps a small amount. llvm-svn: 29642 | ||||
| * | Switch NodeID to track 32-bit chunks instead of 8-bit chunks, for a 2.5% | Chris Lattner | 2006-08-11 | 1 | -15/+9 |
| | | | | | | | speedup in isel time. llvm-svn: 29640 | ||||
| * | Remove 8 more std::map's. | Chris Lattner | 2006-08-11 | 2 | -92/+58 |
| | | | | | llvm-svn: 29631 | ||||
| * | Move the BBNodes, GlobalValues, TargetGlobalValues, Constants, TargetConstants, | Chris Lattner | 2006-08-11 | 2 | -88/+83 |
| | | | | | | | RegNodes, and ValueNodes maps into the CSEMap. llvm-svn: 29626 | ||||
| * | eliminate the NullaryOps map, use CSEMap instead. | Chris Lattner | 2006-08-11 | 1 | -22/+18 |
| | | | | | llvm-svn: 29621 | ||||
| * | change internal impl of dag combiner so that calls to CombineTo never have to | Chris Lattner | 2006-08-11 | 1 | -12/+9 |
| | | | | | | | make a temporary vector. llvm-svn: 29618 | ||||
| * | Change one ReplaceAllUsesWith method to take an array of operands to replace | Chris Lattner | 2006-08-11 | 2 | -6/+5 |
| | | | | | | | instead of a vector of operands. llvm-svn: 29616 | ||||

