diff --git a/llvm/lib/Target/README.txt b/llvm/lib/Target/README.txt index 4affd7c0844c..1ab1f16c71a2 100644 --- a/llvm/lib/Target/README.txt +++ b/llvm/lib/Target/README.txt @@ -79,3 +79,10 @@ int f(unsigned x) { http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25600 http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01492.html +//===---------------------------------------------------------------------===// + +We should reassociate: +int f(int a, int b){ return a * a + 2 * a * b + b * b; } +into: +int f(int a, int b) { return a * (a + 2 * b) + b * b; } +to eliminate a multiply.