Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | Try to avoid scanning the fixed list. On architectures with a non-stupid | Chris Lattner | 2005-08-22 | 1 | -20/+55 | |
| | | | | | | | | | | | | | number of regs (e.g. most riscs), many functions won't need to use callee clobbered registers. Do a speculative check to see if we can get a free register without processing the fixed list (which has all of these). This saves a lot of time on machines with lots of callee clobbered regs (e.g. ppc and itanium, also x86). This reduces ppc llc compile time from 184s -> 172s on kc++. This is probably worth FAR FAR more on itanium though. llvm-svn: 22972 | |||||
* | Move some code in the register assignment case that only needs to happen if | Chris Lattner | 2005-08-22 | 1 | -17/+26 | |
| | | | | | | | | we spill out of the fast path. The scan of active_ and the calls to updateSpillWeights don't need to happen unless a spill occurs. This reduces debug llc time of kc++ with ppc from 187.3s to 183.2s. llvm-svn: 22971 | |||||
* | Speed up this loop a bit, based on some observations that Nate made, and | Chris Lattner | 2005-08-22 | 1 | -8/+34 | |
| | | | | | | add some comments. This loop really needs to be reevaluated! llvm-svn: 22966 | |||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -4/+4 | |
| | | | | llvm-svn: 21420 | |||||
* | Update these register allocators to set the PhysRegUsed info in MachineFunction. | Chris Lattner | 2005-01-23 | 1 | -2/+9 | |
| | | | | llvm-svn: 19791 | |||||
* | Silence VS warnings | Chris Lattner | 2005-01-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 19385 | |||||
* | Move virtual method call out of loop | Chris Lattner | 2004-12-15 | 1 | -2/+2 | |
| | | | | llvm-svn: 18955 |