[llvm-dev] Passing arguments and returning value of struct or class (original) (raw)
Chanhyun Park via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 4 19:59:17 PST 2018
- Previous message: [llvm-dev] RFC: LoopIDs are not identifiers (and better loop-parallel metadata)
- Next message: [llvm-dev] Passing arguments and returning value of struct or class
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi all.
I'm new to LLVM and I'm having fun with LLVM. Recently, I fount that function calls are changed based on the types of return value and arguments.
For example, as following codes, the generated LLVM IRs are efferent from what I expected them would be.
// simple C code struct Float2 { float x; float y; } Float2 foo(Float2 a)
// simple LLVM IR i64 foo(i64 a)
Even, if the size of structure is bigger than 64bit, the LLVM IRs are as follow.
void foo( struct. Float2* , struct.Float2 * )
So. I wonder where can I find these rules? I googled but I could not found official documents or something likes that.
Please help me.
Thanks. Chanhyun. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181205/8a668c12/attachment.html>
- Previous message: [llvm-dev] RFC: LoopIDs are not identifiers (and better loop-parallel metadata)
- Next message: [llvm-dev] Passing arguments and returning value of struct or class
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]