Date: Tue, 21 Jun 2011 08:01:05 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: Roman Divacky <rdivacky@freebsd.org> Cc: svn-src-projects@freebsd.org, Marcel Moolenaar <marcel@freebsd.org>, src-committers@freebsd.org Subject: Re: svn commit: r223357 - projects/llvm-ia64/contrib/llvm/lib/Target/IA64 Message-ID: <8D265214-C867-443B-8C93-2D7CD22CE4DF@xcllnt.net> In-Reply-To: <20110621071352.GA44571@freebsd.org> References: <201106210527.p5L5RoKW081314@svn.freebsd.org> <20110621071352.GA44571@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 21, 2011, at 12:13 AM, Roman Divacky wrote: >> + >> +SDValue >> +IA64TargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv, >> + bool isVarArg, const SmallVectorImpl<ISD::OutputArg> &Outs, >> + const SmallVectorImpl<SDValue> &OutVals, DebugLoc dl, >> + SelectionDAG &DAG) const >> +{ >> + return Chain; >> +} > > This doesn't look right, you probably want to copy the result(s) into > register(s) or something like this. Oh, it's definitely not right. I just want to get to the point where I can compile 1 thing, no matter if that's: void foo(void) { } The thing is that you can expand in multiple directions in parallel after you have that. You can work on supporting more and different formal arguments (including the icky varargs), different return values and structure returns, more instructions patterns for the instruction selection pass, etc. More importantly, it allows me (in parallel) to work out the best way to abstract the notion of having a flexible number of stacked registers, rotating registers and other ia64 specific features. FYI, -- Marcel Moolenaar marcel@xcllnt.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8D265214-C867-443B-8C93-2D7CD22CE4DF>