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
This commit is contained in:
Evan Cheng 2006-01-27 22:54:32 +00:00
parent 85214ba3cc
commit d41e9e5e7a

View 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.