Jeroen Dobbelaere via llvm-dev
2019-Nov-03 22:15 UTC
[llvm-dev] Full restrict support - status update
Hi Alexey, Adding llvm-ir bitcode support means adding/adapting the tags for LOAD/STORE instructions and adding the support for the noalias_sidechannel at the right places. I had a short attempt to implement it when preparing the public patches, but I am not familiar with that part of the llvm code. When I noticed that it would take a lot longer than anticipated, I postponed it. Also because it is likely that the way how the noalias_sidechannel was added to LoadInst/StoreInst might change. At this moment, I am not planning to work on this. For the current implementation, there might be a number of possibilities for adding support : - maybe 2 new tags are needed (FUNC_CODE_INST_{LOAD_NOALIAS,STORE_NOALIAS}) - or maybe it is sufficient to add the noalias_sidechannels as extra operands and look at the number of operands to see if they are present or not - or maybe it is sufficient to look at the number of operands, and the noalias_sidechannel operand should be added with an extra bit, indicating if it is really there or not... Greetings, Jeroen Dobbelaere From: Alexey Zhikhartsev <alexey.zhikhar at gmail.com> Sent: Thursday, October 31, 2019 16:21 To: Jeroen Dobbelaere <dobbel at synopsys.com> Cc: llvm-dev at lists.llvm.org Subject: Re: [llvm-dev] Full restrict support - status update Hi Jeroen, Thank you very much for the great work, it is much appreciated.> - For now, there is still no llvm-ir bitcode support for the load/store noalias_sidechannel argument.Do you have plans to work on this in the near future? Do you know how much work it is and if there are significant hurdles? Thanks, Alexey [...] -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191103/9bf0ca32/attachment.html>
Alexey Zhikhartsev via llvm-dev
2019-Nov-05 17:33 UTC
[llvm-dev] Full restrict support - status update
Thanks, Jeroen. We would love to see your patches merged as soon as possible, so I was wondering: do you think the lack of bitcode support will prevent that from happening? Best, Alexey On Sun., Nov. 3, 2019, 5:15 p.m. Jeroen Dobbelaere, < Jeroen.Dobbelaere at synopsys.com> wrote:> Hi Alexey, > > > > Adding llvm-ir bitcode support means adding/adapting the tags for > LOAD/STORE instructions and adding > > the support for the noalias_sidechannel at the right places. > > > > I had a short attempt to implement it when preparing the public patches, > but I am not familiar with that > > part of the llvm code. When I noticed that it would take a lot longer than > anticipated, I postponed it. > > Also because it is likely that the way how the noalias_sidechannel was > added to LoadInst/StoreInst might > > change. > > > > At this moment, I am not planning to work on this. For the current > implementation, there might be > > a number of possibilities for adding support : > > - maybe 2 new tags are needed > (FUNC_CODE_INST_{LOAD_NOALIAS,STORE_NOALIAS}) > > - or maybe it is sufficient to add the noalias_sidechannels as extra > operands and look at the number of > > operands to see if they are present or not > > - or maybe it is sufficient to look at the number of operands, and the > noalias_sidechannel operand should > > be added with an extra bit, indicating if it is really there or not... > > > > Greetings, > > > > Jeroen Dobbelaere > > > > > > *From:* Alexey Zhikhartsev <alexey.zhikhar at gmail.com> > *Sent:* Thursday, October 31, 2019 16:21 > *To:* Jeroen Dobbelaere <dobbel at synopsys.com> > *Cc:* llvm-dev at lists.llvm.org > *Subject:* Re: [llvm-dev] Full restrict support - status update > > > > Hi Jeroen, > > > > Thank you very much for the great work, it is much appreciated. > > > > > - For now, there is still no llvm-ir bitcode support for the load/store > noalias_sidechannel argument. > > > > Do you have plans to work on this in the near future? Do you know how much > work it is and if there are significant hurdles? > > > > Thanks, > > Alexey > > > > [...] > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191105/89665de8/attachment.html>
Jeroen Dobbelaere via llvm-dev
2019-Nov-06 11:05 UTC
[llvm-dev] Full restrict support - status update
Hi Alexey,>From: Alexey Zhikhartsev[..]> We would love to see your patches merged as soon as possible, so I was wondering: do you think the lack of bitcode support will prevent that from happening?Yes, I think that the lack of bitcode support will prevent it. During the Developers meeting, I also talked with Hal and Johannes. They had some extra remarks: - (1) the restrict implementation deserves a separate document. (I am working on that one) - (2) they don't like the naming of 'noalias_sidechannel'. - (3) they also have some other mechanisms in mind to add the 'sidechannel' to the load/store instructions (and maybe to function calls, intrinsics; currently that is handled through llvm.noalias.arg.guard) For (2) and (3), I am waiting for a proposal from them ;) Greetings, Jeroen Dobbelaere