From: Borja F. <bor...@gm...> - 2011-04-15 22:23:25
|
John can you make a diff patch of the following changes and include them in the patch file in svn? This patch is necesarry in LLVM to be able to know the size of function arguments when calling external symbols, and is required for my latests changes. TargetCallingConv.h Add static const uint64_t SplitPiece = 0x3FULL << 11; static const uint64_t SplitPieceOffs = 11; after static const uint64_t SplitOffs = 10; Add unsigned getSplitPiece() const { return (unsigned)((Flags & SplitPiece) >> SplitPieceOffs); } void setSplitPiece(unsigned S) { Flags = (Flags & ~SplitPiece) | (uint64_t(S) << SplitPieceOffs); } After void setByValSize(unsigned S) { Flags = (Flags & ~ByValSize) | (uint64_t(S) << ByValSizeOffs); } (Introduce a newline after the setByValSize closing brace) SelectionDAGBuilder.cpp Add MyFlags.Flags.setSplitPiece(j); After ISD::OutputArg MyFlags(Flags, Parts[j].getValueType(), i < NumFixedArgs); (around line 6115) Add MyFlags.Flags.setSplitPiece(i); After ISD::InputArg MyFlags(Flags, RegisterVT, isArgValueUsed); (around line 6310) |