[llvm-commits] [llvm] r45914 - /llvm/trunk/lib/Target/README.txt

Chris Lattner sabre at nondot.org
Sat Jan 12 10:58:47 PST 2008


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.
 
 //===---------------------------------------------------------------------===//





More information about the llvm-commits mailing list