[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