Author: lattner
Date: Sat Jan 12 12:58:46 2008
New Revision: 45914

URL: http://llvm.org/viewvc/llvm-project?rev=45914&view=rev
Log:
clarify a  note

Modified:
    llvm/trunk/lib/Target/README.txt

Modified: llvm/trunk/lib/Target/README.txt
URL: 
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=45914&r1=45913&r2=45914&view=diff

==============================================================================
--- llvm/trunk/lib/Target/README.txt (original)
+++ llvm/trunk/lib/Target/README.txt Sat Jan 12 12:58:46 2008
@@ -610,6 +610,14 @@
    arguments when the function is inlined.
 
 These functions can be inferred by various analysis passes such as the 
-globalsmodrefaa pass.
+globalsmodrefaa pass.  Note that getting #2 right is actually really tricky.
+Consider this code:
+
+struct S;  S G;
+void caller(S byvalarg) { G.field = 1; ... }
+void callee() { caller(G); }
+
+The fact that the caller does not modify byval arg is not enough, we need
+to know that it doesn't modify G either.  This is very tricky.
 
 //===---------------------------------------------------------------------===//


_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to