[llvm] r259783 - [ScheduleDagInstrs] Improved comments

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 4 05:08:48 PST 2016


Author: jonpa
Date: Thu Feb  4 07:08:48 2016
New Revision: 259783

URL: http://llvm.org/viewvc/llvm-project?rev=259783&view=rev
Log:
[ScheduleDagInstrs] Improved comments

Modified:
    llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp

Modified: llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp?rev=259783&r1=259782&r2=259783&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp (original)
+++ llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp Thu Feb  4 07:08:48 2016
@@ -893,20 +893,20 @@ void ScheduleDAGInstrs::buildSchedGraph(
   // from bottom to top.
 
   // Each MIs' memory operand(s) is analyzed to a list of underlying
-  // objects. The SU is then inserted in the SUList(s) mapped from
-  // that Value(s). Each Value thus gets mapped to a list of SUs
-  // depending on it, defs and uses kept separately. Two SUs are
-  // non-aliasing to each other if they depend on different Values
-  // exclusively.
+  // objects. The SU is then inserted in the SUList(s) mapped from the
+  // Value(s). Each Value thus gets mapped to lists of SUs depending
+  // on it, stores and loads kept separately. Two SUs are trivially
+  // non-aliasing if they both depend on only identified Values and do
+  // not share any common Value.
   Value2SUsMap Stores, Loads(1 /*TrueMemOrderLatency*/);
 
   // Certain memory accesses are known to not alias any SU in Stores
   // or Loads, and have therefore their own 'NonAlias'
   // domain. E.g. spill / reload instructions never alias LLVM I/R
-  // Values. It is assumed that this type of memory accesses always
-  // have a proper memory operand modelling, and are therefore never
-  // unanalyzable. This means they are non aliasing against all nodes
-  // in Stores and Loads, including the unanalyzable ones.
+  // Values. It would be nice to assume that this type of memory
+  // accesses always have a proper memory operand modelling, and are
+  // therefore never unanalyzable, but this is conservatively not
+  // done.
   Value2SUsMap NonAliasStores, NonAliasLoads(1 /*TrueMemOrderLatency*/);
 
   // Always reduce a huge region with half of the elements, except




More information about the llvm-commits mailing list