[LLVMdev] Strong vs. default phi elimination and single-reg classes

Hal Finkel hfinkel at anl.gov
Fri Jun 8 11:11:51 PDT 2012


On Fri, 08 Jun 2012 09:24:16 -0700
Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:

> 
> On Jun 8, 2012, at 9:02 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> 
> > On Fri, 8 Jun 2012 08:49:32 -0700
> > Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
> 
> >> When machine code is still in SSA form, there are restrictions on
> >> what can be done with physical registers, which by their nature
> >> can't be in SSA form. Lang and I have been trying to come up with
> >> some rules, but we haven't found the right set yet.
> 
> > [We should add this to the docs somewhere].
> 
> http://llvm.org/bugs/show_bug.cgi?id=13058
> 
> >> Unfortunately, that breaks your TCRETURNri instructions. Sorry!
> > 
> > I'm guessing that I can rewrite TCRETURN to reference CTR/CTR8
> > directly. I'll have to try that.
> 
> That should be possible, yes.

As it turns out, I don't need to (the patterns in question are never
actually used in the current backend).

Furthermore, your suggestion to mark the register classes as
non-allocatable seems to have worked. Doing that and fully enabling this
now yields no (new) test-suite failures! :)

Thank you very much,
Hal

> 
> /jakob
> 



-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list