<div dir="ltr">No, there is no such clang option to control this.<div><br></div><div>Even if there were, the size would bleed through in lots of other places.  For example, C++ features like templates and constexpr will require baking in these sizes.<div>
<br></div><div>I also doubt LLVM IR supports array dimensions that aren't constant ints, so the following code would have to use a constant:<div><div>struct foo { ... };</div><div>foo a1[NUMBER];</div><div>foo a2[sizeof(a1) / sizeof(foo)];</div>
</div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 14, 2014 at 6:35 AM, Peter Conn <span dir="ltr"><<a href="mailto:conn.peter@gmail.com" target="_blank">conn.peter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>Using the following command:<br><br>clang -O0 -S -emit-llvm size.c</div><div><br>
</div><div>Will generate an LLVM IR file where uses of 'sizeof' have been replaced by constants. Is there any way to prevent this, and perhaps leave the 'sizeof's replaced by GEPs as detailed here: <a href="http://nondot.org/sabre/LLVMNotes/SizeOf-OffsetOf-VariableSizedStructs.txt" target="_blank">http://nondot.org/sabre/LLVMNotes/SizeOf-OffsetOf-VariableSizedStructs.txt</a></div>

<div><br></div><div>Thanks,</div><div>Peter</div></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>