[llvm-commits] [llvm] r70521 - /llvm/trunk/include/llvm/Use.h

Stefanus Du Toit stefanus.dutoit at rapidmind.com
Thu Apr 30 16:28:50 PDT 2009


Author: sdt
Date: Thu Apr 30 18:28:50 2009
New Revision: 70521

URL: http://llvm.org/viewvc/llvm-project?rev=70521&view=rev
Log:
Add a comment to refer to the section of the programmer's manual that explains what the pointer tagging in Use is for.

Modified:
    llvm/trunk/include/llvm/Use.h

Modified: llvm/trunk/include/llvm/Use.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Use.h?rev=70521&r1=70520&r2=70521&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Use.h (original)
+++ llvm/trunk/include/llvm/Use.h Thu Apr 30 18:28:50 2009
@@ -11,6 +11,15 @@
 // instruction or some other User instance which refers to a Value.  The Use
 // class keeps the "use list" of the referenced value up to date.
 //
+// Pointer tagging is used to efficiently find the User corresponding
+// to a Use without having to store a User pointer in every Use. A
+// User is preceded in memory by all the Uses corresponding to its
+// operands, and the low bits of one of the fields (Prev) of the Use
+// class are used to encode offsets to be able to find that User given
+// a pointer to any Use. For details, see:
+//
+//   http://www.llvm.org/docs/ProgrammersManual.html#UserLayout
+//
 //===----------------------------------------------------------------------===//
 
 #ifndef LLVM_USE_H





More information about the llvm-commits mailing list