Displaying 11 results from an estimated 11 matches for "phieliminationid".
Did you mean:
phielimination
2015 Jul 09
3
[LLVMdev] PHI Elimination in Register Allocation Pass
...er the register allocation phase. And I intend to implement the
allocator registers using the resources of SSA representation, making this
step (*PHI Elimination*) vital for development.
Looking at the source code of allocators of LLVM, I see no explicit call of
PHI Elimination (*AU.addRequiredID (PHIEliminationID)*), my question is
whether if this step is called, occurs when and where such a call?
--
Natanael Ramos
Membro do corpo discente de Ciência da Computação pelo Instituto Federal de
Minas Gerais - Campus Formiga
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <htt...
2005 Jul 29
1
[LLVMdev] How to define a pass requiring a register allocation pass?
How to define a MachineFunctionPass requireing one of the register
allocation passes being executed first?
Should there be a PassInfo for register allocation in Pass.h?
Pass.h:
namespace llvm {
extern const PassInfo *PHIEliminationID;
extern const PassInfo *TwoAddressInstructionPassID;
extern const PassInfo *RegisterAllocationPassID; // <--
add this one?
There are four register allocation passes in CodeGen, but I don't know
which one will be used unitl run-time (the register allocator is
chosen by a co...
2006 Sep 09
1
[LLVMdev] Help with pass registration
...AnalysisUsage method look like?
>
Chris,
I think I've figured the problem out. I have a very basic question
though. What is the difference between addRequired, and addRequiredID?
For instance, in RegAllocLocal.cpp, you have both:
AU.addRequired<LiveVariables>();
AU.addRequiredID(PHIEliminationID);
When should I use one, and when the other should be used?
Thanks a lot,
Fernando
2010 Oct 05
3
[LLVMdev] [LLVMDev] Phi elimination: Who does what
Aye, between all current register allocators the
'AU.addRequiredID(PHIEliminationID);' will cause phi's to be
eliminated to copies, but this misses the point of my question.
What I am asking, is how does stack know that the value of the
variable which the resulting value of the phi is currently allocated
at. For instance take the instruction:
Machine Basic Block (mbb) 12...
2010 Oct 05
0
[LLVMdev] [LLVMDev] Phi elimination: Who does what
...normal phi elimination before register allocation.
I am also writing an SSA-based register allocator for LLVM; perhaps we can share some code in common passes.
Cameron
On Oct 5, 2010, at 6:02 PM, Jeff Kunkel wrote:
> Aye, between all current register allocators the
> 'AU.addRequiredID(PHIEliminationID);' will cause phi's to be
> eliminated to copies, but this misses the point of my question.
>
> What I am asking, is how does stack know that the value of the
> variable which the resulting value of the phi is currently allocated
> at. For instance take the instruction:
>...
2010 Oct 05
2
[LLVMdev] [LLVMDev] Phi elimination: Who does what
...allocation.
>
> I am also writing an SSA-based register allocator for LLVM; perhaps we can share some code in common passes.
>
> Cameron
>
> On Oct 5, 2010, at 6:02 PM, Jeff Kunkel wrote:
>
>> Aye, between all current register allocators the
>> 'AU.addRequiredID(PHIEliminationID);' will cause phi's to be
>> eliminated to copies, but this misses the point of my question.
>>
>> What I am asking, is how does stack know that the value of the
>> variable which the resulting value of the phi is currently allocated
>> at. For instance take th...
2006 Sep 09
2
[LLVMdev] Help with pass registration
Dear guys,
I have updated my LLVM to the top of CVS, and now I am getting
errors like this one below when I write new passes:
"llc: PassManagerT.h:387: void
llvm::PassManagerT<Trait>::markPassUsed(const llvm::PassInfo*,
llvm::Pass*) [with Trait = llvm::FTraits]: Assertion
`getAnalysisOrNullUp(P) &&
dynamic_cast<ImmutablePass*>(getAnalysisOrNullUp(P)) &&
2006 Sep 09
0
[LLVMdev] Help with pass registration
On Fri, 8 Sep 2006, Fernando Magno Quintao Pereira wrote:
> I have updated my LLVM to the top of CVS, and now I am getting
> errors like this one below when I write new passes:
What does your getAnalysisUsage method look like?
-Chris
> "llc: PassManagerT.h:387: void
> llvm::PassManagerT<Trait>::markPassUsed(const llvm::PassInfo*,
> llvm::Pass*) [with Trait =
2010 Oct 06
0
[LLVMdev] [LLVMDev] Phi elimination: Who does what
...writing an SSA-based register allocator for LLVM; perhaps we can share some code in common passes.
>>
>> Cameron
>>
>> On Oct 5, 2010, at 6:02 PM, Jeff Kunkel wrote:
>>
>>> Aye, between all current register allocators the
>>> 'AU.addRequiredID(PHIEliminationID);' will cause phi's to be
>>> eliminated to copies, but this misses the point of my question.
>>>
>>> What I am asking, is how does stack know that the value of the
>>> variable which the resulting value of the phi is currently allocated
>>> at....
2010 Oct 05
0
[LLVMdev] [LLVMDev] Phi elimination: Who does what
At the moment, phi elimination happens before register allocation, so there can be no phis between memory locations.
Cameron
On Oct 5, 2010, at 4:19 PM, Jeff Kunkel wrote:
> When doing phi elimination, does one have to communicate with the
> stack space at all? The problem I see is two distinctly different
> registers may have two distinctly different stack spaces. When these
>
2010 Oct 05
2
[LLVMdev] [LLVMDev] Phi elimination: Who does what
When doing phi elimination, does one have to communicate with the
stack space at all? The problem I see is two distinctly different
registers may have two distinctly different stack spaces. When these
registers are combined in a phi, the values the registers point to
needs to be moved, combined, or otherwise taken care of. I understand
this is the job of the stack space colorer, but when doing phi