<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi, Sam.<br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><br class=""></div></div></div></div></div></div><div><blockquote type="cite" class=""><div class=""><div class="">Thank you for writing this proposal.<br class=""><br class="">I presume you have seen the FDPIC proposal on the RISC-V sw-dev mailing list [1]. I am keen that any gp-relative relocations that could be shared between the two proposals are shared and compatible with each other - I think this will make a major difference to maintainability and our ability to document these details.<br class=""></div></div></blockquote><div><br class=""></div><div>Yes, I have and, at the time it came out, I was designing this code model.  I'm glad that someone else also thought of the GP relative relocations.  Code reuse is always desirable.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="">Am I right in thinking your proposal only has one value for `gp` for the whole program, and thus it does not need to be saved or loaded in function prologs and epilogs?<br class=""></div></div></blockquote><div><br class=""></div>As is current the case, it is callee saved.  Of course, since DSOs have their own small data area, if a function in a DSO built for the compact code model refers to any global data, then it needs to save, restore and setup the GP within it.</div><div><br class=""></div><div>Thank you,</div><div><br class=""><div class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>__ </div><div>Evandro Menezes ◊ SiFive ◊ Austin, TX</div><div class=""><br class=""></div></div></div></div></div></div><blockquote type="cite" class=""><div class=""><div class=""><blockquote type="cite" class="">On 19 Mar 2020, at 4:19 pm, Evandro Menezes via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""><br class="">Here's the draft proposal for the compact code model on RV.  I'd appreciate your feedback before I propose it to the foundation and go about updating the psABI.<br class=""><br class="">Thank you,<br class=""><Compact Code Model.pdf><br class=""><br class="">__ <br class="">Evandro Menezes ◊ SiFive ◊ Austin, TX<br class=""><br class=""><blockquote type="cite" class="">On Mar 19, 2020, at 8:58, Alex Bradbury via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""><br class="">For background on these calls, see<br class=""><<a href="http://lists.llvm.org/pipermail/llvm-dev/2019-September/135087.html" class="">http://lists.llvm.org/pipermail/llvm-dev/2019-September/135087.html</a>>.<br class=""><br class="">Reminder: the purpose is to co-ordinate between active contributors.<br class="">If you have support questions etc then it's best to post to llvm-dev.<br class=""><br class="">We have a call each Thursday at 4pm GMT, via<br class=""><<a href="https://meet.google.com/ske-zcog-spp" class="">https://meet.google.com/ske-zcog-spp</a>>.<br class=""><br class="">I've created a shared calendar which may help in keeping track, which<br class="">is accessible at:<br class=""> * <<a href="https://calendar.google.com/calendar/b/1?cid=bG93cmlzYy5vcmdfMG41cGtlc2ZqY25wMGJoNWhwczFwMGJkODBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ" class="">https://calendar.google.com/calendar/b/1?cid=bG93cmlzYy5vcmdfMG41cGtlc2ZqY25wMGJoNWhwczFwMGJkODBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ</a>><br class=""> * <<a href="https://calendar.google.com/calendar/ical/lowrisc.org_0n5pkesfjcnp0bh5hps1p0bd80%40group.calendar.google.com/public/basic.ics" class="">https://calendar.google.com/calendar/ical/lowrisc.org_0n5pkesfjcnp0bh5hps1p0bd80%40group.calendar.google.com/public/basic.ics</a>><br class=""><br class="">Issues to discuss today include the following:<br class="">* Improving rust code size by not forcing frame pointers<br class=""><<a href="https://github.com/rust-lang/rust/pull/69890" class="">https://github.com/rust-lang/rust/pull/69890</a>><br class="">* Compact code model (Evandro)<br class="">* Update on embedded PIC discussions<br class="">* Small data limit <<a href="https://reviews.llvm.org/D57497" class="">https://reviews.llvm.org/D57497</a>><br class="">* Bitmanip / experimental extension status<br class="">* ELF attribute support close to merging<br class=""><<a href="https://reviews.llvm.org/D75833" class="">https://reviews.llvm.org/D75833</a>> <<a href="https://reviews.llvm.org/D74023" class="">https://reviews.llvm.org/D74023</a>><br class="">* No other topics were submitted, as always, please do submit things<br class="">you'd like to discuss<br class=""><br class="">Best,<br class=""><br class="">Alex<br class="">_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></blockquote><br class="">_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></blockquote><br class="">--<br class="">Sam Elliott<br class="">Software Developer - LLVM and OpenTitan<br class="">lowRISC CIC<br class=""><br class=""></div></div></blockquote></div><br class=""></body></html>