[PATCH] D12345: [Reassociate]: Add intermediate subtract instructions created while negating to be redone later for more reassociate opportunities

Owen Anderson via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 12 23:55:57 PST 2015


resistor added a comment.

In http://reviews.llvm.org/D12345#288471, @dberlin wrote:

> The last status i saw was: "I'll try seeing what little needs to be done to
>  converge in the couple cases that I have (one above) and a superficial look
>  at why the second reassociate improves codegen."
>
> I saw no update on that ;-)


Would it be reasonable to stage that investigation?  AFAICT the changes already proposed (with Chad's comments incorporated) are a strict improvement, and I at least am seeing pretty severe performance regressions from their absence.  Would you be alright with going ahead and landing those?

> and

>  "Is there already an implementation for global reassociate?"

> 

> Which i missed.

> 

> The answer to this is yes". N-Ary reassociate is already in tree, and

>  making it "better" shouldn't be that hard (if it turns out to be hard,

>  great, let's hack up local reassociate if we have to)


For my use case, at least, N-ary reassociation is not really appropriate as I also heavily depend on reassociation of floating point arithmetic.  So, I'm stuck with local reassociation, and the problem described here is making today's LLVM integer factors worse than last year's for me.


Repository:
  rL LLVM

http://reviews.llvm.org/D12345





More information about the llvm-commits mailing list