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