<div dir="ltr">Hi,<div><br></div><div>Thanks for the flag-up Renato.<br><div><br></div><div>Extending the code to deal with other barries is trivial, however the research I did was only on DMBs, since they were the only barriers we encountered in our code. It is indeed *very likely* that other combinations can be dealt with in the same way, and although I feel that two consecutive DSBs or ISBs do not add anything over a single one, I am not 100% certain this is the case, and whether they can be moved past other instructions in the same ways that DMBs can, is also something I cannot comment on; on combinations of DMBs, ISBs and DSBs I feel even less qualified to make definite statements.</div>

<div><br></div><div>Unfortunately it doesn't look like I will get much time to dive deeper into this for the next couple of months (and I'm afraid I'm not actively following the llvm commit list any more), but feel free to get in touch if there are any questions.</div>

<div><br></div><div>Reinoud</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 2, 2014 at 5:26 PM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Yi,<br>
<br>
This was a research done by Reinoud on C11 atomics, maybe he could<br>
extend the work to other barriers.<br>
<br>
He also had other interesting ideas about de-duplicating DMBs, if<br>
you're interested.<br>
<br>
cheers,<br>
--renato<br>
<br>
On 2 June 2014 16:51, Yi Kong <<a href="mailto:kongy.dev@gmail.com">kongy.dev@gmail.com</a>> wrote:<br>
<div class="">><br>
> Renato Golin <renato.golin@...> writes:<br>
>><br>
>> Author: rengolin<br>
>> Date: Wed Apr  2 04:03:43 2014<br>
>> New Revision: 205409<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=205409&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=205409&view=rev</a><br>
>> Log:<br>
>> Remove duplicated DMB instructions<br>
>><br>
>> ARM specific optimiztion, finding places in ARM machine code where 2 dmbs<br>
>> follow one another, and eliminating one of them.<br>
>><br>
>> Patch by Reinoud Elhorst.<br>
><br>
</div>> I suppose this optimization also applies to DSBs? Also consecutive ISBs<br>
> should be able to be merged as well?<br>
><br>
> -Yi<br>
<div class="HOEnZb"><div class="h5">><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>