| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | 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 | |||||
| * | 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 | |||||

