> The patch looks good. Some questions/comments: > > +++ include/llvm/CodeGen/SelectionDAGNodes.h (working copy) > > + SturtByVal = 1<<4, ///< Struct passed by value > > This looks like a typo "sturt" Changed to "ByVal" based on Duncan's comment.
> +++ utils/TableGen/CallingConvEmitter.cpp (working copy) > @@ -67,12 +67,14 @@ > O << IndentStr << "if ("; > > if (Action->isSubClassOf("CCIfType")) { > + O << "!(ArgFlags & ISD::ParamFlags::StructByVal) && ("; > > > I don't think CCIfType should automatically mask out byval > arguments. Instead, Plz add a new "notbyval" predicate or something > so that this logic is explicit in the .td files. The reason I did this is that if CCIfType matches "byval" arguments, the current backends will generate invalid code (handle it like a normal pointer). I have just removed the checks for now, since nothing is generating "byval"s. If a add a notbyval predicated, should I add it to all the current uses of CCIfType? > Please add code to the verifier that checks that the "byval" > attribute is only applied to pointers. You should find similar code > that handles "stret". Done. > Thanks Rafael! > > -Chris Cheers, -- Rafael Avila de Espindola Google Ireland Ltd. Gordon House Barrow Street Dublin 4 Ireland Registered in Dublin, Ireland Registration Number: 368047 _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits