<div dir="ltr"><div dir="ltr">---- CC'ing llvm-dev list ----<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 28, 2020 at 9:46 AM Udit agarwal <<a href="mailto:dev.madaari@gmail.com">dev.madaari@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi Alberto,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 27, 2020 at 7:42 PM Alberto Barbaro <<a href="mailto:barbaro.alberto@gmail.com" target="_blank">barbaro.alberto@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hi Udit,<div dir="auto">No problem at all. When you say at runtime you mean using the Interpreter class or something else?</div></div></blockquote><div>No, I want to access this information at runtime, when the binary(obtained from compiling this LLVM IR) is executed on the host machine. For example, if along with every Alloca I'm allocating an additional 4 bytes to store the object bounds, then I can put runtime checks to ensure spatial memory safety in few cases(like out of bounds memory access, or buffer overflow). In order to do so, I need to allocate an extra 4 bytes along with every Alloca - hence my original question - At what location in Alloca implementation, should I make this change? Probably, I should make this change at the location where Alloca is lowered to Machine specific instruction.</div><div><br></div><div>Regards,</div><div>Udit Agarwal<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">If I understood properly your problem I think you could do some getDataLayout.getTypeAllocSize(I->getOperand(0)->getType());</div><div dir="auto"><br></div><div dir="auto">Where is I is the reference to the Alloca instruction.</div><div dir="auto"><br></div><div dir="auto">I hope it is correct :)</div><div dir="auto"><br></div><div dir="auto">Alberto</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 27, 2020, 13:40 Udit agarwal <<a href="mailto:dev.madaari@gmail.com" target="_blank">dev.madaari@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>---Adding llvm-dev list to CC---<br></div><div>Hi Alberto,</div><div><br></div><div>Thanks for your prompt reply. 
Actually, I need this information(about total allocation size and object
 structure) on runtime, so that is why I was planning to encode this 
info and store it in the memory itself.</div><div><br></div><div>Regards,</div><div>Udit</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 27, 2020 at 7:05 PM Alberto Barbaro <<a href="mailto:barbaro.alberto@gmail.com" rel="noreferrer" target="_blank">barbaro.alberto@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hello Udit,<div dir="auto">I'm not sure but can't you achieve the same just using metadata avoiding to change the alloca instruction?</div><div dir="auto"><br></div><div dir="auto">Thanks</div><div dir="auto">Alberto</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 27, 2020, 12:09 Udit agarwal via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello all,</div><div><br></div><div>In my project, I need to allocate an extra 4 Bytes in every Alloca instruction. These additional bytes will be used to store the 'allocation info'(like size and structure of the allocated object etc). Instead of adding 4 bytes to the Alloca 'size' operand at every Alloca Instruction, I was thinking to make this change at the level where Alloca gets converted to machine IR. <br></div>Can anyone please point me towards the code which actually handles this conversion(lowering of Alloca Inst)?<br>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,<br></div>Udit kumar agarwal<br></div></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" rel="noreferrer noreferrer" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,<br></div>Udit kumar agarwal<br><a href="http://uditagarwal.in/" rel="noreferrer" target="_blank">http://uditagarwal.in/</a><br></div></div>
</blockquote></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,<br></div>Udit kumar agarwal<br><a href="http://uditagarwal.in/" target="_blank">http://uditagarwal.in/</a><br></div></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Regards,<br></div>Udit kumar agarwal<br><a href="http://uditagarwal.in/" target="_blank">http://uditagarwal.in/</a><br></div></div></div>