<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p><br>
</p>
<div class="moz-cite-prefix">On 08/20/2017 12:11 PM, Daniel Berlin
wrote:<br>
</div>
<blockquote
cite="mid:CAF4BwTWqrffyKRgg3HBSx0=9z+oEdShS7Dyrk1aepDbtQ5VWCA@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote"><br>
<div><br>
</div>
<div>Finally, the merging of TBAA is definitely
going to be more conservative than the merging of
field offset info: If we merge a load of an int
and a float, we will, IIRC, go to the nearest
common ancestor in TBAA. The field offset info
may actually still be identical between the two,
but we will lose it by creating/or going to the
common ancestor.</div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Imagine</div>
<div>int - offset 4</div>
<div>float - offset 4</div>
<div>int - offset 12</div>
<div><br>
</div>
<div>merge(first int field, float) == </div>
<div>mergeintfloat -no offset info<br>
</div>
<div> </div>
<div>You can no longer disambiguate this against second int
field, even though it can't possibly overlap, not for type
reasons, but for offset reasons.</div>
</div>
</div>
</div>
</blockquote>
<br>
Okay, but I don't see why we have to do that. Could we not do<br>
<br>
merge(first int field, float) == mergeintfloat @ offset 4<br>
<br>
(where mergeintfloat is probably char or similar)<br>
<br>
where we keep matching offsets? Or we encode some kind of
disjunction directly (which certainly seems reasonable to me for
access merging).<br>
<br>
Thanks again,<br>
Hal<br>
<br>
<blockquote
cite="mid:CAF4BwTWqrffyKRgg3HBSx0=9z+oEdShS7Dyrk1aepDbtQ5VWCA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> <br>
</div>
</div>
</div>
</div>
</blockquote>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div> </div>
</div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</body>
</html>