search for: coalescethiscopy

Displaying 5 results from an estimated 5 matches for "coalescethiscopy".

2007 Jul 16
4
[LLVMdev] [PATCH] Re: Pluggable Register Coalescers
...e there are other passes that can benefit from it. Also, on this particular file below. Seems to me these queries do not belong to the register allocator. Perhaps a utility class that tracks interference information that can be accessed by both the allocator and the coalescer? Also, why is coalesceThisCopy() needed? Shouldn't the coalescer be responsible for making the decision? Evan Index: llvm/include/llvm/CodeGen/RegisterAllocator.h =================================================================== --- llvm/include/llvm/CodeGen/RegisterAllocator.h (revision 0) +++ llvm/include/llvm/CodeGe...
2007 Jul 17
0
[LLVMdev] [PATCH] Re: Pluggable Register Coalescers
...need for abstract interfaces for both. > Also, on this particular file below. Seems to me these queries do not > belong to the register allocator. Perhaps a utility class that tracks > interference information that can be accessed by both the allocator > and the coalescer? Also, why is coalesceThisCopy() needed? Shouldn't > the coalescer be responsible for making the decision? Register allocators know information about interference, for example, the interference graph in a coloring allocator. The classic coalescing algorithm examines the interference graph and looks for copies between al...
2007 Jul 13
0
[LLVMdev] [PATCH] Re: Pluggable Register Coalescers
...DEGEN_REGISTER_ALLOCATOR_H +#define LLVM_CODEGEN_REGISTER_ALLOCATOR_H + +#include <llvm/CodeGen/LiveInterval.h> + +namespace llvm +{ + class MachineInstruction; + + class RegisterAllocator { + public: + /// Return whether this copy should be considered for coalescing. + virtual bool coalesceThisCopy(const MachineInstruction &) { + // Be aggressive, but possibly bad + return(true); + }; + + /// Return whether two live ranges interfere. + virtual bool interfere(const LiveInterval &a, + const LiveInterval &b) { + // A naive test +...
2007 Jul 17
3
[LLVMdev] [PATCH] Re: Pluggable Register Coalescers
...ide the choice). > >> Also, on this particular file below. Seems to me these queries do not >> belong to the register allocator. Perhaps a utility class that tracks >> interference information that can be accessed by both the allocator >> and the coalescer? Also, why is coalesceThisCopy() needed? Shouldn't >> the coalescer be responsible for making the decision? > > Register allocators know information about interference, for example, > the interference graph in a coloring allocator. The classic > coalescing > algorithm examines the interference graph a...
2007 Jul 11
3
[LLVMdev] Pluggable Register Coalescers
On Jul 11, 2007, at 11:39 AM, David Greene wrote: > On Wednesday 11 July 2007 12:41, Tanya M. Lattner wrote: > >> I think the coalescer should be flexible enough to be run >> independent of >> the register allocator. For example, you may want to expose the >> copies >> induced by transforming out of SSA to the scheduler. If the >> scheduler is