[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