search for: defaultabiinfo

Displaying 4 results from an estimated 4 matches for "defaultabiinfo".

2012 Jun 13
2
[LLVMdev] Structs passed by value
...how structures are passed to functions to use pass-by-value. Currently LLVM's default behavior is to pass structures by reference. I'm not disputing the benefits of this but I really want to change the default behavior for experimentation purposes. To this end I've changed the code in DefaultABIInfo::classifyArgumentType() to use the different types. What I've found is that none of the options yield the expected results for the input code (see below). Except for the indirect case, the function signature is changed to take each structure element. How can I modify LLVM to pass structures by...
2012 Oct 08
1
[LLVMdev] Fwd: Multiply i8 operands promotes to i32
...ABIArgInfo MSP430ABIInfo::classifyArgumentType(QualType Ty) const { if (isAggregateTypeForABI(Ty)) return ABIArgInfo::getIndirect(0); return ABIArgInfo::getDirect(); } 3) Register your new MSP430ABIInfo class in the TargetCodeGenInfo constructor inside MSP430TargetCodeGenInfo by replacing DefaultABIInfo. Hope this helps. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121008/a1ec7539/attachment.html>
2012 Jun 14
0
[LLVMdev] Structs passed by value
...es that a hidden copy of the pointee is made between the caller and the callee, so the callee is unable to modify the value in the caller." etc... Is the problem that in the backend, you do not see a copy being made? **** > > ** ** > > To this end I’ve changed the code in > DefaultABIInfo::classifyArgumentType() to use the different types. What > I’ve found is that none of the options yield the expected results for the > input code (see below). Except for the indirect case, the function > signature is changed to take each structure element. How can I modify LLVM > to pas...
2017 Aug 09
4
[RFC] The future of the va_arg instruction
...riate loads and stors. * AArch64/Darwin generates va_arg if possible. When not possible, as for aggregates or illegal vector types, it generates the usual va_list manipulation code. It is not used for other AARch64 platforms. * A few other targets such as MSP430, Lanai and AVR seem to use it due to DefaultABIInfo Which in-tree backends support va_arg? * AArch64, ARM, Hexagon, Lanai, MSP430, Mips, PPC, Sparc, WebAssembly, X86, XCore It's worth nothing there has been some relevant prior discussion, see these messages from Will Dietz and Renato Golin <http://lists.llvm.org/pipermail/llvm-dev/2011-Augu...