A bit of wisdom from Chris on the last entry.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 27 Jan 2006 22:54:32 +0000 (22:54 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 27 Jan 2006 22:54:32 +0000 (22:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25715 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/README.txt

index 9410a9acf8d287c5e874d5e9ac57ef62e2e24774..230876164467f6569f3545889a737dd3bf81c5f3 100644 (file)
@@ -187,4 +187,13 @@ fn1:
        ret
 
 The problem is the store's chain operand is not the load X but rather
-a TokenFactor of the load X and load Y. This prevents the folding.
+a TokenFactor of the load X and load Y, which prevents the folding.
+
+There are two ways to fix this:
+
+1. The dag combiner can start using alias analysis to realize that y/x
+   don't alias, making the store to X not dependent on the load from Y.
+2. The generated isel could be made smarter in the case it can't
+   disambiguate the pointers.
+
+Number 1 is the preferred solution.