[PATCH] Make GVN more iterative

James Molloy James.Molloy at arm.com
Mon Aug 11 11:29:49 PDT 2014


Hi all,

GVN currently iterates until it can do no more, then performs PRE. There's a FIXME, saying we should try GVN again if PRE made changes.

This patch changes GVN to do this, motivated by the attached testcase (reduced from SPEC) where GVN currently leaves a redundant load.

The FIXME mentions memory dependence checking, but it looks to me like the memory dependence updating got implemented after the FIXME was written, so it's out of date.

I've tested this for compile time and there are no non-noise regressions (in fact, the geomean was a 5% speedup, interestingly).

What do you think?

Cheers,

James

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140811/4daddb64/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gvn-pre-iterate.diff
Type: application/octet-stream
Size: 5159 bytes
Desc: gvn-pre-iterate.diff
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140811/4daddb64/attachment.obj>


More information about the llvm-commits mailing list