[llvm-commits] [PATCH] No need to check SRetReturnReg again

Zhongxing Xu xuzhongxing at gmail.com
Tue May 25 18:02:33 PDT 2010


It hasn't been applied. Is it okay to apply?

On Tue, May 25, 2010 at 10:09 PM, Duncan Sands <baldrick at free.fr> wrote:

> Hi Zhongxing Xu, this looks ok to me.  Was it applied?
>
> Ciao,
>
> Duncan.
>
> > ping?
> >
> > The reason of this change is that in LowerFormalArguments() we have:
> >
> > if (Is64Bit && MF.getFunction()->hasStructRetAttr()) {
> >      X86MachineFunctionInfo *FuncInfo =
> > MF.getInfo<X86MachineFunctionInfo>();
> >      unsigned Reg = FuncInfo->getSRetReturnReg();
> >      if (!Reg) {
> >        Reg =
> > MF.getRegInfo().createVirtualRegister(getRegClassFor(MVT::i64));
> >        FuncInfo->setSRetReturnReg(Reg);
> >      }
> >      SDValue Copy = DAG.getCopyToReg(DAG.getEntryNode(), dl, Reg,
> > InVals[0]);
> >      Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Copy, Chain);
> >    }
> >
> > On Fri, May 21, 2010 at 3:45 PM, Zhongxing Xu <xuzhongxing at gmail.com
> > <mailto:xuzhongxing at gmail.com>> wrote:
> >
> >     Index: lib/Target/X86/X86ISelLowering.cpp
> >     ===================================================================
> >     --- lib/Target/X86/X86ISelLowering.cpp    (版本 104313)
> >     +++ lib/Target/X86/X86ISelLowering.cpp    (工作副本)
> >     @@ -1256,10 +1256,8 @@
> >           MachineFunction &MF = DAG.getMachineFunction();
> >           X86MachineFunctionInfo *FuncInfo =
> >     MF.getInfo<X86MachineFunctionInfo>();
> >           unsigned Reg = FuncInfo->getSRetReturnReg();
> >     -    if (!Reg) {
> >     -      Reg = MRI.createVirtualRegister(getRegClassFor(MVT::i64));
> >     -      FuncInfo->setSRetReturnReg(Reg);
> >     -    }
> >     +    assert(Reg &&
> >     + "SRetReturnReg should have been set in LowerFormalArguments().");
> >           SDValue Val = DAG.getCopyFromReg(Chain, dl, Reg,
> getPointerTy());
> >
> >           Chain = DAG.getCopyToReg(Chain, dl, X86::RAX, Val, Flag);
> >
> >
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100526/eb4bf190/attachment.html>


More information about the llvm-commits mailing list