<div dir="ltr"><div style>Hi all,</div><div style><br></div><div style>Far from perfect, the patch adds an extra check on the offsets. I may not be using the right containers, and the static function findGEPOperator() is ill-placed, but that's the basic idea behind checking for GEPs. Any comments are really appreciated.</div>
<div style><br></div><div style>Another thing I'd like to ask is about the vector size.</div><div style><br></div><div>+  // TODO: Use vector size for further conflict detection?<br></div><div><br></div><div style>Should I investigate if the offsets point to a reasonable distance in memory, given the vector size?</div>
<div style><br></div><div style>If the write is on P and the read is on P+(2 x int) and the vector size is (4 x int), they do alias, even though the GEP is not on the same element.</div><div style><br></div><div style>I also may have to check that the address space of both pointers is the same, and possibly add this to the ValueOffsetMap container... or e may assume that address spaces will never overlap on reasonable vector sizes (ie, they're not contiguous on at least 1 vector distance).</div>
<div style><br></div><div style>cheers,</div><div style>--renato</div></div>