<div dir="auto">Hi all,<div dir="auto">Thanks for your help with this. I'll try what you suggested.</div><div dir="auto"><br></div><div dir="auto">Appreciated</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 6, 2019, 20:03 Cranmer, Joshua <<a href="mailto:joshua.cranmer@intel.com">joshua.cranmer@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_-9112936975152546190WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">What you are probably looking for are the mem2reg pass and scalar replacement of aggregates (SROA) pass, which includes a more aggressive version of mem2reg.
 These passes try to eliminate alloca instructions by converting the stack variables to registers when possible.<u></u><u></u></span></p>
<p class="MsoNormal"><a name="m_-9112936975152546190__MailEndCompose" rel="noreferrer"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></a></p>
<p class="MsoNormal" style="margin-left:.5in"><a name="m_-9112936975152546190______replyseparator" rel="noreferrer"></a><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> llvm-dev [mailto:<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev-bounces@lists.llvm.org</a>]
<b>On Behalf Of </b>Alberto Barbaro via llvm-dev<br>
<b>Sent:</b> Wednesday, March 6, 2019 14:48<br>
<b>To:</b> Vedant Kumar <<a href="mailto:vsk@apple.com" target="_blank" rel="noreferrer">vsk@apple.com</a>><br>
<b>Cc:</b> llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a>><br>
<b>Subject:</b> Re: [llvm-dev] Replace all memory access with registry access<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">Hi,<u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">Thanks for getting back to me. I'd like to understand if it possible to avoid instructions that relies on memory address and instead have all the necessary data inside registers. I think this would simplify a lot
 analysis on the LLVM IR..<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Thanks again<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">On Wed, Mar 6, 2019, 18:23 Vedant Kumar <<a href="mailto:vsk@apple.com" target="_blank" rel="noreferrer">vsk@apple.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
Hi,<br>
<br>
Could you share some more details about what you're trying to accomplish?<br>
<br>
Generally speaking, some instructions necessarily load/store from/to memory (e.g. updates to a shared memory region).<br>
<br>
best,<br>
vedant<br>
<br>
> On Mar 6, 2019, at 9:37 AM, Alberto Barbaro via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a>> wrote:<br>
> <br>
> Hi all,<br>
> Is there any way for converting any instruction that is loading or storing in memory into an instruction that just deal with registries?<br>
> <br>
> I'm not even sure if it is possible. Any suggestion?<br>
> <br>
> Thanks<br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" rel="noreferrer">
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>

</blockquote></div>