[llvm] r177423 - Prepare to make r0 an allocatable register on PPC
Hal Finkel
hfinkel at anl.gov
Thu Mar 21 16:26:31 PDT 2013
----- Original Message -----
> From: "Jakob Stoklund Olesen" <stoklund at 2pi.dk>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "Commit Messages and Patches for LLVM" <llvm-commits at cs.uiuc.edu>
> Sent: Tuesday, March 19, 2013 4:52:53 PM
> Subject: Re: [llvm] r177423 - Prepare to make r0 an allocatable register on PPC
>
>
> On Mar 19, 2013, at 2:39 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>
> >> It is also possible that something weird is happening because you
> >> put
> >> the same ZERO register in GPRC and G8RC. Try with separate 32 and
> >> 64-bit ZERO registers.
> >
> > I tried this, and it does not change anything. I still get these
> > odd copies.
>
> It's PPCCTRLoops producing:
>
> BB#5:
> Predecessors according to CFG: BB#2
> %vreg18<def> = COPY %vreg0; G8RC:%vreg18
> GPRC_and_GPRC_NOR0:%vreg0
> MTCTR8 %vreg18, %CTR8<imp-def>; G8RC:%vreg18
> Successors according to CFG: BB#3
>
> Bad code:
>
> unsigned CopyOp = (isPPC64 && SrcRC == GPRC) ?
> (unsigned) PPC::EXTSW_32_64 :
> (unsigned) TargetOpcode::COPY;
>
> Use hasSubClassEq() instead of ==.
Fixed in r177679. Thanks again!
-Hal
>
> /jakob
>
>
More information about the llvm-commits
mailing list