[PATCH] Loop Rerolling Pass

Hal Finkel hfinkel at anl.gov
Wed Oct 16 18:05:54 PDT 2013


----- Original Message -----
> 
> On 15 October 2013 22:11, Hal Finkel < hfinkel at anl.gov > wrote:
> 
> 
> 
> 
> 
> 
> I made use of SCEV everywhere that I could (I think). SCEV is used to
> analyze the induction variables, and then at the end to help with
> the rewriting. I don't think that I can use SCEV everywhere,
> however. For one thing, I need to check for equivalence of
> instructions, with certain substitutions, for instructions (like
> function calls) that SCEV does not interpret.
> 
> 
> Hi Hal,
> 
> 
> This is probably my lack of understanding of all that SCEV does than
> anything else.
> 
> 
> My comment was to the fact that you seem to be investigating specific
> cases (multiply, adding, increment size near line 240), which SCEV
> could get that as an expression, and possibly making it slightly
> easier to work with. I'll let other SCEV/LV experts to chime in,
> because I basically don't know what I'm talking about, here. ;)

In the end, you're right! SCEV understands when, for example, an 'or' is really an 'add', etc. and we need to take advantage of that logic here. I'll post an updated patch soon (which will also handle reductions).

Thanks again,
Hal

> 
> 
> cheers,
> --renato

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list