<div dir="ltr">So, i'm honestly a bit confused.<div><br></div><div>Do you mean "what the original language pointer type" was?<br>Because LLVM does not know enough to know what the language rules are, and so you'd generally want something lower level, like we have now with !tbaa, etc.</div><div><br></div><div>Do you mean something else?</div><div><br></div><div>If your goal is to distinguish whether the original accesses were to different field offsets, and the language says that means they cna't alias, you should produce that as metadata.</div><div>If your goal is something else, we should start with the goal and try to design something for it, and hopefully nearby use cases (if any) :)<br><br></div><div> </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 14, 2016 at 11:39 AM, Taewook Oh <span dir="ltr"><<a href="mailto:twoh@fb.com" target="_blank">twoh@fb.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">twoh added a comment.<br>
<br>
So I'm thinking of adding metadata that indicates the original type of the pointer operand to GEP instructions. With metadata, an analysis can tell if GEP's pointer operand is transformed from bitcast operation or not. What do you think?<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="http://reviews.llvm.org/D20665" rel="noreferrer" target="_blank">http://reviews.llvm.org/D20665</a><br>
<br>
<br>
<br>
</div></div></blockquote></div><br></div>