aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-01-27 22:54:32 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-01-27 22:54:32 +0000
commitd41e9e5e7a5243fdda88587a96eadaac37093eea (patch)
tree61613eeabd236b17660cf451b01f87ef3225bcd5
parent85214ba3ccadf9227b8054f48ef09ef58f85c99f (diff)
A bit of wisdom from Chris on the last entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25715 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/README.txt11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index 9410a9acf8..2308761644 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -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.