[clang] added regcall struct by reg support (PR #95257)

2024-09-03 Thread Erich Keane via cfe-commits
erichkeane wrote: As background: That chunking behavior was not in the specification document that I was provided internally when I implemented that. IIRC at the time, regcall wasn't actually documented externally, so that documentation likely post-dates when I did my implementation. https:/

[clang] added regcall struct by reg support (PR #95257)

2024-06-27 Thread via cfe-commits
mahesh-attarde wrote: Thanks aaron for clearing assumptions. Will work on it with separate PR. https://github.com/llvm/llvm-project/pull/95257 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[clang] added regcall struct by reg support (PR #95257)

2024-06-27 Thread via cfe-commits
https://github.com/mahesh-attarde closed https://github.com/llvm/llvm-project/pull/95257 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] added regcall struct by reg support (PR #95257)

2024-06-24 Thread Aaron Ballman via cfe-commits
AaronBallman wrote: > I don't have any context beyond what's written on > https://reviews.llvm.org/D25204 . And at this point, I'm not sure what > compiler we're trying to be compatible with. (I added @erichkeane in case he > remembers.) The original feature was written for compatibility with

[clang] added regcall struct by reg support (PR #95257)

2024-06-18 Thread via cfe-commits
mahesh-attarde wrote: @erichkeane Regcall spec has mentioned allocation strategy that is chunk based. Do you know why currently clang does not do that ? is there different version of regcall spec it follows? Also if we add new regcall struct implementation, would that break binaries across cla

[clang] added regcall struct by reg support (PR #95257)

2024-06-18 Thread Eli Friedman via cfe-commits
efriedma-quic wrote: I don't have any context beyond what's written on https://reviews.llvm.org/D25204 . And at this point, I'm not sure what compiler we're trying to be compatible with. (I added @erichkeane in case he remembers.) https://github.com/llvm/llvm-project/pull/95257 _

[clang] added regcall struct by reg support (PR #95257)

2024-06-13 Thread Eli Friedman via cfe-commits
efriedma-quic wrote: Right, the specification requires splitting the whole structure into chunks; if we add a special-case for 8-byte structs, we'll just have to throw it away when we implement the right algorithm. Also, I'm not sure what the isBuiltinType() check is supposed to handle. It s

[clang] added regcall struct by reg support (PR #95257)

2024-06-13 Thread via cfe-commits
mahesh-attarde wrote: > What you're implementing in this change doesn't seem like it brings us much > closer to what the document says. I mean, it handles the specific structs in > your testcase, but the algorithm you're using doesn't generalize. Can you suggest case which can be useful in ge

[clang] added regcall struct by reg support (PR #95257)

2024-06-13 Thread Eli Friedman via cfe-commits
efriedma-quic wrote: What you're implementing in this change doesn't seem like it brings us much closer to what the document says. I mean, it handles the specific structs in your testcase, but the algorithm you're using doesn't generalize. https://github.com/llvm/llvm-project/pull/95257 __

[clang] added regcall struct by reg support (PR #95257)

2024-06-12 Thread via cfe-commits
mahesh-attarde wrote: There are not failures on `buildkite/github-pull-requests/linux-linux-x64.` something else is off. https://github.com/llvm/llvm-project/pull/95257 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/c

[clang] added regcall struct by reg support (PR #95257)

2024-06-12 Thread via cfe-commits
mahesh-attarde wrote: Regcall ABI is described on https://cdrdv2-public.intel.com/679047/Intel-ABI-Vector-Function-v0.9.8.pdf Page No. 18 > ![image](https://github.com/llvm/llvm-project/assets/145317060/5ff49ca5-0b4c-4c8f-9f00-5de65e4eaeda) https://github.com/llvm/llvm-project/pull/95257 _

[clang] added regcall struct by reg support (PR #95257)

2024-06-12 Thread Eli Friedman via cfe-commits
efriedma-quic wrote: Do you have a reference for the rules you're implementing? https://github.com/llvm/llvm-project/pull/95257 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] added regcall struct by reg support (PR #95257)

2024-06-12 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: None (mahesh-attarde) Changes In Context of __regcall, Whenever struct can fit in a register we must use single register to pass whole struct object. Without this patch, it uses separate registers for each field. With Patch, if Struct si

[clang] added regcall struct by reg support (PR #95257)

2024-06-12 Thread via cfe-commits
https://github.com/mahesh-attarde created https://github.com/llvm/llvm-project/pull/95257 In Context of __regcall, Whenever struct can fit in a register we must use single register to pass whole struct object. Without this patch, it uses separate registers for each field. With Patch, if Struc