[PATCH] [LoopDist/LoopVer] Move LoopVersioning to a new module, NFC

Nema, Ashutosh Ashutosh.Nema at amd.com
Thu Jul 2 02:55:57 PDT 2015


Typo:
- Loop versioning need these to set meta data.
Its 
+ Loop versioning LICM need these to set meta data.

-----Original Message-----
From: Nema, Ashutosh 
Sent: Thursday, July 02, 2015 3:21 PM
To: anemet at apple.com; hfinkel at anl.gov; Nema, Ashutosh
Cc: llvm-commits at cs.uiuc.edu
Subject: Re: [PATCH] [LoopDist/LoopVer] Move LoopVersioning to a new module, NFC

memcheck no-alias resulting branch is original loop(VersionedLoop).
& memcheck alias resulting branch is newly created loop(NonVersionedLoop).

Any specific reason you kept memcheck branch target like this ?

Why can't memcheck no-alias resulting branch targets to NonVersionedLoop
and alias resulting branch targets to VersionedLoop ?

In current implementation if loopVersioningLICM attempts to set no-alias attribute to the VersionedLoop
that is actually it will set no-alias attribute to the original loop.

I'm doubtful here because the variables of the original loop might be used out of loop in that function. 
after setting no-alias it might change the intent of program.

My understanding might be wrong here, please clarify.


================
Comment at: include/llvm/Transforms/Utils/LoopVersioning.h:67
@@ +66,3 @@
+  /// \brief The original loop.  This becomes the "versioned" one, i.e. control
+  /// goes if the memchecks all pass.
+  Loop *VersionedLoop;
----------------
Its more clear if we expand meaning of memcheck pass & fail.
i.e. memory/pointers [non]aliased in loop.

================
Comment at: include/llvm/Transforms/Utils/LoopVersioning.h:71
@@ +70,3 @@
+  Loop *NonVersionedLoop;
+
+  /// \brief For each memory pointer it contains the partitionId it is used in.
----------------
Can we expose NonVersionedLoop & VersionedLoop, or provide getter functions for these.
Loop versioning need these to set meta data.

http://reviews.llvm.org/D10577

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list