[llvm-branch-commits] [llvm-branch] r102193 - in /llvm/branches/Apple/Morbo: lib/Analysis/README.txt lib/Transforms/Scalar/LoopStrengthReduce.cpp test/CodeGen/X86/lsr-delayed-fold.ll
Dan Gohman
gohman at apple.com
Fri Apr 23 11:23:19 PDT 2010
Author: djg
Date: Fri Apr 23 13:23:19 2010
New Revision: 102193
URL: http://llvm.org/viewvc/llvm-project?rev=102193&view=rev
Log:
$ svn merge -c 102157 https://djg@llvm.org/svn/llvm-project/llvm/trunk
--- Merging r102157 into '.':
A test/CodeGen/X86/lsr-delayed-fold.ll
U lib/Analysis/README.txt
U lib/Transforms/Scalar/LoopStrengthReduce.cpp
Added:
llvm/branches/Apple/Morbo/test/CodeGen/X86/lsr-delayed-fold.ll
- copied unchanged from r102157, llvm/trunk/test/CodeGen/X86/lsr-delayed-fold.ll
Modified:
llvm/branches/Apple/Morbo/lib/Analysis/README.txt
llvm/branches/Apple/Morbo/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Modified: llvm/branches/Apple/Morbo/lib/Analysis/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Morbo/lib/Analysis/README.txt?rev=102193&r1=102192&r2=102193&view=diff
==============================================================================
--- llvm/branches/Apple/Morbo/lib/Analysis/README.txt (original)
+++ llvm/branches/Apple/Morbo/lib/Analysis/README.txt Fri Apr 23 13:23:19 2010
@@ -16,3 +16,15 @@
which is very inefficient when expanded into code.
//===---------------------------------------------------------------------===//
+
+In test/CodeGen/X86/lsr-delayed-fold.ll,
+
+ScalarEvolution is forming this expression:
+
+((trunc i64 (-1 * %arg5) to i32) + (trunc i64 %arg5 to i32) + (-1 * (trunc i64 undef to i32)))
+
+This could be folded to
+
+(-1 * (trunc i64 undef to i32))
+
+//===---------------------------------------------------------------------===//
Modified: llvm/branches/Apple/Morbo/lib/Transforms/Scalar/LoopStrengthReduce.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Morbo/lib/Transforms/Scalar/LoopStrengthReduce.cpp?rev=102193&r1=102192&r2=102193&view=diff
==============================================================================
--- llvm/branches/Apple/Morbo/lib/Transforms/Scalar/LoopStrengthReduce.cpp (original)
+++ llvm/branches/Apple/Morbo/lib/Transforms/Scalar/LoopStrengthReduce.cpp Fri Apr 23 13:23:19 2010
@@ -2061,8 +2061,11 @@
LU.Kind, LU.AccessTy, TLI, SE))
continue;
+ const SCEV *InnerSum = SE.getAddExpr(InnerAddOps);
+ if (InnerSum->isZero())
+ continue;
Formula F = Base;
- F.BaseRegs[i] = SE.getAddExpr(InnerAddOps);
+ F.BaseRegs[i] = InnerSum;
F.BaseRegs.push_back(*J);
if (InsertFormula(LU, LUIdx, F))
// If that formula hadn't been seen before, recurse to find more like
More information about the llvm-branch-commits
mailing list