[llvm-commits] [llvm-gcc-4.2] r49386 - /llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Evan Cheng
evan.cheng at apple.com
Tue Apr 8 11:07:51 PDT 2008
Hi Devang,
This is somewhat confusing to me. isShadowRet means returning an
aggregate in a shadow argument, while isAggrRet means returning an
aggregare using multiple scalar values?
Thanks,
Evan
On Apr 8, 2008, at 9:48 AM, Devang Patel wrote:
> Author: dpatel
> Date: Tue Apr 8 11:48:04 2008
> New Revision: 49386
>
> URL: http://llvm.org/viewvc/llvm-project?rev=49386&view=rev
> Log:
> Keep track of calls that return multiple values.
>
> Modified:
> llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
>
> Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=49386&r1=49385&r2=49386&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
> +++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Tue Apr 8 11:48:04 2008
> @@ -2311,6 +2311,7 @@
> Value *TheValue;
> MemRef RetBuf;
> bool isShadowRet;
> + bool isAggrRet;
>
> FunctionCallArgumentConversion(SmallVector<Value*, 16> &ops,
> const FunctionType *FnTy,
> @@ -2318,7 +2319,8 @@
> bool ReturnSlotOpt,
> LLVMFoldingBuilder &b)
> : CallOperands(ops), FTy(FnTy), DestLoc(destloc),
> - useReturnSlot(ReturnSlotOpt), Builder(b),
> isShadowRet(false) { }
> + useReturnSlot(ReturnSlotOpt), Builder(b), isShadowRet(false),
> + isAggrRet(false) { }
>
> // Push the address of an argument.
> void pushAddress(Value *Loc) {
> @@ -2367,6 +2369,7 @@
> }
>
> bool isShadowReturn() { return isShadowRet; }
> + bool isAggrReturn() { return isAggrRet; }
>
> // EmitShadowResult - If the return result was redirected to a
> buffer,
> // emit it now.
> @@ -2406,6 +2409,7 @@
> /// returns an aggregate value using multiple return values.
> void HandleAggregateResultAsAggregate(const Type *AggrTy) {
> // There is nothing to do here.
> + isAggrRet = true;
> }
>
> /// HandleAggregateShadowArgument - This callback is invoked if
> the function
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list