[llvm-commits] [llvm] r83001 - /llvm/trunk/lib/Analysis/README.txt

Dan Gohman gohman at apple.com
Mon Sep 28 11:38:53 PDT 2009


Author: djg
Date: Mon Sep 28 13:38:53 2009
New Revision: 83001

URL: http://llvm.org/viewvc/llvm-project?rev=83001&view=rev
Log:
Create a README.txt for lib/Analysis, and add an entry.

Added:
    llvm/trunk/lib/Analysis/README.txt

Added: llvm/trunk/lib/Analysis/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/README.txt?rev=83001&view=auto

==============================================================================
--- llvm/trunk/lib/Analysis/README.txt (added)
+++ llvm/trunk/lib/Analysis/README.txt Mon Sep 28 13:38:53 2009
@@ -0,0 +1,18 @@
+Analysis Opportunities:
+
+//===---------------------------------------------------------------------===//
+
+In test/Transforms/LoopStrengthReduce/quadradic-exit-value.ll, the
+ScalarEvolution expression for %r is this:
+
+  {1,+,3,+,2}<loop>
+
+Outside the loop, this could be evaluated simply as (%n * %n), however
+ScalarEvolution currently evaluates it as
+
+  (-2 + (2 * (trunc i65 (((zext i64 (-2 + %n) to i65) * (zext i64 (-1 + %n) to i65)) /u 2) to i64)) + (3 * %n))
+
+In addition to being much more complicated, it involves i65 arithmetic,
+which is very inefficient when expanded into code.
+
+//===---------------------------------------------------------------------===//





More information about the llvm-commits mailing list