<div dir="ltr">Hi folks,<div><br></div><div style>I haven't changed the patch much since last review for two reasons:</div><div style><br></div><div style>1. Using DenseMap<vector> would over-complicate the code, at least for this first introduction. Since Hal only found 1% of improvement with that change, I think we can leave it for later, when the code is more stable.</div>
<div style><br></div><div style>2. I haven't merged <GEP, UndObj, Store/Load> into one container or structure because it'd again over-complicate the code and it's possible that it'll change as we progress in the alias analysis side of things. I'd rather leave that change for a time when we're sure it won't change much.</div>
<div style><br></div><div style>What I have changed:</div><div style><br></div><div style>1. Accounting for unroll factor, as Arnold suggested, for the access width.</div><div style><br></div><div style>2. Changed from WriteObjects from [!count(*UI)] to [find(*UI) == end()], because we don't need to know how many (thus find all occurrences), just to know that there isn't any (find any occurrence).</div>
<div style><br></div><div style>3. Added some more comments and TODOs to make it clear that this is work in progress.</div><div style><br></div><div style>Shall we consider this the first step (of many) towards global structure vectorization?</div>
<div style><br></div><div style>cheers,</div><div style>--renato</div></div>