submit [PATCH] SimplifyCFG for code review

Ye, Mei Mei.Ye at amd.com
Tue Jun 18 16:27:06 PDT 2013


Hi Sean

There are some considerations that go into this test sample to create an opportunity for the transformation.
It is illegal to speculatively hoist up a load through un-tracked pointers.   So by-design, I have:

a.       The first two loops cache value into local arrays, which avoid use of pointer loads in the if-conditions.

b.      The loops (or its unrolled body) add to the complexity that prevents copy propagation which will remove references of local arrays.

c.       The write through pointer "fail" create a potential alias that prevents loop fusion, but allows detection of no-alias with local array references.

d.      All local array references are "touched" before the if-conditions so that there is no potential out-of-boundary seg faults for speculative loads.
-Mei







From: Sean Silva [mailto:silvas at purdue.edu]
Sent: Tuesday, June 18, 2013 3:32 PM
To: Ye, Mei
Cc: llvm-commits at cs.uiuc.edu
Subject: Re: submit [PATCH] SimplifyCFG for code review

On Tue, Jun 18, 2013 at 3:10 PM, Ye, Mei <Mei.Ye at amd.com<mailto:Mei.Ye at amd.com>> wrote:
Hi Sean

Thanks for your time.  The .ll are generated from attached .cpp.  It is a simple case.

Please reduce it to a simple .ll case.

-- Sean Silva
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130618/6613b9cd/attachment.html>


More information about the llvm-commits mailing list