Address PR feedback.
authorPat Gavlin <pagavlin@microsoft.com>
Fri, 30 Jun 2017 00:19:03 +0000 (17:19 -0700)
committerPat Gavlin <pagavlin@microsoft.com>
Fri, 30 Jun 2017 00:19:03 +0000 (17:19 -0700)
Commit migrated from https://github.com/dotnet/coreclr/commit/39fdf401557137118a6f313a730ead2cb6e036dd

src/coreclr/src/jit/compiler.hpp
src/coreclr/src/jit/gentree.h

index fe789c5..336bcb2 100644 (file)
@@ -4754,7 +4754,7 @@ void GenTree::VisitOperands(TVisitor visitor)
         case GT_IL_OFFSET:
             return;
 
-        // Standard unary operators
+        // Unary operators with an optional operand
         case GT_NOP:
         case GT_RETURN:
         case GT_RETFILT:
@@ -4764,6 +4764,7 @@ void GenTree::VisitOperands(TVisitor visitor)
             }
             __fallthrough;
 
+        // Standard unary operators
         case GT_STORE_LCL_VAR:
         case GT_STORE_LCL_FLD:
         case GT_NOT:
index 72fa014..78f7405 100644 (file)
@@ -2148,7 +2148,12 @@ public:
     //     });
     //
     // This function is generally more efficient that the operand iterator and should be preferred over that API for
-    // hot code.
+    // hot code, as it affords better opportunities for inlining and acheives shorter dynamic path lengths when
+    // deciding how operands need to be accessed.
+    //
+    // Note that this function does not respect `GTF_REVERSE_OPS` and `gtEvalSizeFirst`. This is always safe in LIR,
+    // but may be dangerous in HIR if for some reason you need to visit operands in the order in which they will
+    // execute.
     template <typename TVisitor>
     void VisitOperands(TVisitor visitor);