| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Adding debug output during coalescing. | Bill Wendling | 2007-11-15 | 1 | -0/+1 | |
| | | | | | llvm-svn: 44154 | |||||
| * | Need to increment the iterator. | Bill Wendling | 2007-11-15 | 1 | -1/+1 | |
| | | | | | llvm-svn: 44153 | |||||
| * | Refactor some code. | Evan Cheng | 2007-11-12 | 1 | -3/+3 | |
| | | | | | llvm-svn: 44010 | |||||
| * | If an interval is being undone clear its preference as well since the source ↵ | Evan Cheng | 2007-11-04 | 1 | -1/+6 | |
| | | | | | | | interval may have been undone as well. llvm-svn: 43670 | |||||
| * | There are times when the coalescer would not coalesce away a copy but the copy | Evan Cheng | 2007-11-03 | 1 | -9/+89 | |
| | | | | | | | | | | | | | | | | | can be eliminated by the allocator is the destination and source targets the same register. The most common case is when the source and destination registers are in different class. For example, on x86 mov32to32_ targets GR32_ which contains a subset of the registers in GR32. The allocator can do 2 things: 1. Set the preferred allocation for the destination of a copy to that of its source. 2. After allocation is done, change the allocation of a copy destination (if legal) so the copy can be eliminated. This eliminates 443 extra moves from 403.gcc. llvm-svn: 43662 | |||||
| * | Apply Chris' suggestions. | Evan Cheng | 2007-10-17 | 1 | -1/+2 | |
| | | | | | llvm-svn: 43069 | |||||
| * | Clean up code that calculate MBB live-in's. | Evan Cheng | 2007-10-17 | 1 | -17/+19 | |
| | | | | | llvm-svn: 43061 | |||||
| * | Some clean up. | Evan Cheng | 2007-10-16 | 1 | -19/+10 | |
| | | | | | llvm-svn: 43043 | |||||
| * | Some clean up. | Evan Cheng | 2007-10-12 | 1 | -3/+0 | |
| | | | | | llvm-svn: 42898 | |||||
| * | Pluggable coalescers inplementation. | David Greene | 2007-09-06 | 1 | -1/+9 | |
| | | | | | llvm-svn: 41743 | |||||
| * | Re-implement trivial rematerialization. This allows def MIs whose live ↵ | Evan Cheng | 2007-08-13 | 1 | -18/+4 | |
| | | | | | | | intervals that are coalesced to be rematerialized. llvm-svn: 41060 | |||||
| * | Factor live variable analysis so it does not do register coalescing | David Greene | 2007-06-08 | 1 | -0/+1 | |
| | | | | | | | | | | | simultaneously. Move that pass to SimpleRegisterCoalescing. This makes it easier to implement alternative register allocation and coalescing strategies while maintaining reuse of the existing live interval analysis. llvm-svn: 37520 | |||||
| * | Change names from RA to something unique to get rid of naming conflicts with | Bill Wendling | 2007-05-08 | 1 | -17/+19 | |
| | | | | | | | certain linkers... llvm-svn: 36944 | |||||
| * | 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 | |||||
| * | Match MachineFunction::UsedPhysRegs changes. | Evan Cheng | 2007-04-25 | 1 | -6/+1 | |
| | | | | | llvm-svn: 36452 | |||||
| * | Clean up. | Evan Cheng | 2007-04-25 | 1 | -4/+2 | |
| | | | | | llvm-svn: 36431 | |||||
| * | Copy coalescing change to prevent a physical register from being pin to a | Evan Cheng | 2007-04-17 | 1 | -9/+22 | |
| | | | | | | | | | | | | | | long live interval that has low usage density. 1. Change order of coalescing to join physical registers with virtual registers first before virtual register intervals become too long. 2. Check size and usage density to determine if it's worthwhile to join. 3. If joining is aborted, assign virtual register live interval allocation preference field to the physical register. 4. Register allocator should try to allocate to the preferred register first (if available) to create identify moves that can be eliminated. llvm-svn: 36218 | |||||
| * | First cut trivial re-materialization support. | Evan Cheng | 2007-03-20 | 1 | -4/+16 | |
| | | | | | llvm-svn: 35208 | |||||
| * | Only add liveinterval to livein set if it isn't assigned a stack slot. | Evan Cheng | 2007-02-25 | 1 | -4/+4 | |
| | | | | | llvm-svn: 34593 | |||||
| * | Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. | Evan Cheng | 2007-02-19 | 1 | -2/+3 | |
| | | | | | llvm-svn: 34428 | |||||
| * | For PR1207: | Reid Spencer | 2007-02-19 | 1 | -3/+2 | |
| | | | | | | | | Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399 | |||||
| * | Do not add livein's to entry MBB twice. | Evan Cheng | 2007-02-17 | 1 | -2/+3 | |
| | | | | | llvm-svn: 34382 | |||||
| * | Add live-ins to every BB. | Evan Cheng | 2007-02-16 | 1 | -0/+20 | |
| | | | | | llvm-svn: 34342 | |||||
| * | Eliminate static ctors from Statistics | Chris Lattner | 2006-12-19 | 1 | -9/+6 | |
| | | | | | llvm-svn: 32698 | |||||
| * | Detemplatize the Statistic class. The only type it is instantiated with | Chris Lattner | 2006-12-06 | 1 | -2/+2 | |
| | | | | | | | is 'unsigned'. llvm-svn: 32279 | |||||
| * | eliminate fp statistic | Chris Lattner | 2006-12-06 | 1 | -3/+3 | |
| | | | | | llvm-svn: 32251 | |||||
| * | Unbreak VC++ build. | Jeff Cohen | 2006-12-02 | 1 | -0/+1 | |
| | | | | | llvm-svn: 32113 | |||||
| * | Replace std::cerr uses of the "DEBUG" macro with "DOUT" instead. Removes | Bill Wendling | 2006-11-17 | 1 | -29/+27 | |
| | | | | | | | a #include of iostream. llvm-svn: 31800 | |||||
| * | Remove redundant <cmath>. | Jim Laskey | 2006-11-08 | 1 | -1/+0 | |
| | | | | | llvm-svn: 31561 | |||||
| * | Use correct value for float HUGH_VAL. | Jim Laskey | 2006-11-07 | 1 | -2/+2 | |
| | | | | | llvm-svn: 31500 | |||||
| * | LinearScanner hotspot. | Jim Laskey | 2006-10-24 | 1 | -3/+2 | |
| | | | | | llvm-svn: 31153 | |||||
| * | s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| | Chris Lattner | 2006-08-27 | 1 | -1/+1 | |
| | | | | | llvm-svn: 29911 | |||||
| * | Final polish on machine pass registries. | Jim Laskey | 2006-08-02 | 1 | -1/+1 | |
| | | | | | llvm-svn: 29471 | |||||
| * | Introducing plugable register allocators and instruction schedulers. | Jim Laskey | 2006-08-01 | 1 | -0/+5 | |
| | | | | | llvm-svn: 29434 | |||||
| * | Reduce number of exported symbols | Andrew Lenharth | 2006-07-20 | 1 | -2/+3 | |
| | | | | | llvm-svn: 29220 | |||||
| * | Shave another 27K off libllvmgcc.dylib with visibility hidden | Chris Lattner | 2006-06-28 | 1 | -1/+2 | |
| | | | | | llvm-svn: 28973 | |||||
| * | If the register allocator cannot find a register to spill, try the aliases. If | Evan Cheng | 2006-05-12 | 1 | -2/+19 | |
| | | | | | | | | that still fails (because all the register spill weights are inf), just grab one. llvm-svn: 28262 | |||||
| * | Backing out previous check-in. | Evan Cheng | 2006-05-11 | 1 | -16/+1 | |
| | | | | | llvm-svn: 28219 | |||||
| * | If the live interval legnth is essentially zero, i.e. in every live range | Evan Cheng | 2006-05-10 | 1 | -1/+15 | |
| | | | | | | | | the use follows def immediately, it doesn't make sense to spill it and hope it will be easier to allocate for this LI. llvm-svn: 28217 | |||||
| * | Add some comments. | Chris Lattner | 2006-03-25 | 1 | -0/+4 | |
| | | | | | llvm-svn: 27133 | |||||
| * | Code cleanups, no functionality change | Chris Lattner | 2006-02-23 | 1 | -23/+10 | |
| | | | | | llvm-svn: 26328 | |||||
| * | Add explicit #includes of <iostream> | Chris Lattner | 2006-01-22 | 1 | -0/+1 | |
| | | | | | llvm-svn: 25515 | |||||
| * | HB is *the* code janitor. | Duraid Madina | 2005-12-28 | 1 | -0/+1 | |
| | | | | | llvm-svn: 25031 | |||||
| * | I think I know what you meant here, but just to be safe I'll let you | Duraid Madina | 2005-11-21 | 1 | -1/+1 | |
| | | | | | | | | | do it. :) <_sabre_> excuses excuses llvm-svn: 24471 | |||||
| * | Add section switching to common code generator code. Add a couple of | Chris Lattner | 2005-11-21 | 1 | -0/+1 | |
| | | | | | | | asserts. llvm-svn: 24445 | |||||
| * | Expose the LiveInterval interfaces as public headers. | Chris Lattner | 2005-09-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 23400 | |||||
| * | When checking the fixed intervals, don't forget to check for register aliases. | Chris Lattner | 2005-08-30 | 1 | -5/+11 | |
| | | | | | | | This fixes PR621 and Regression/CodeGen/X86/2005-08-30-RegAllocAliasProblem.ll llvm-svn: 23158 | |||||
| * | Keep track of which registers are related to which other registers. | Chris Lattner | 2005-08-23 | 1 | -21/+86 | |
| | | | | | | | | | | | | | | Use this information to avoid doing expensive interval intersections for registers that could not possible be interesting. This speeds up linscan on ia64 compiling kc++ in release mode from taking 7.82s to 4.8s(!), total itanium llc time on this program is 27.3s now. This marginally speeds up PPC and X86, but they appear to be limited by other parts of linscan, not this code. On this program, on itanium, live intervals now takes 41% of llc time. llvm-svn: 22986 | |||||

