aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/pr3495.ll
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-06-24 01:18:18 +0000
committerDan Gohman <gohman@apple.com>2009-06-24 01:18:18 +0000
commit40a5a1b39ee1cd40ff9d04740386b667fb27b340 (patch)
tree0e7c7275525d07b2805e5da9b929fb820a2fd24b /test/CodeGen/X86/pr3495.ll
parentb825aaa0289206a63f7e6ce7b5ca7c2d6a2c063e (diff)
downloadexternal_llvm-40a5a1b39ee1cd40ff9d04740386b667fb27b340.zip
external_llvm-40a5a1b39ee1cd40ff9d04740386b667fb27b340.tar.gz
external_llvm-40a5a1b39ee1cd40ff9d04740386b667fb27b340.tar.bz2
Extend ScalarEvolution's multiple-exit support to compute exact
trip counts in more cases. Generalize ScalarEvolution's isLoopGuardedByCond code to recognize And and Or conditions, splitting the code out into an isNecessaryCond helper function so that it can evaluate Ands and Ors recursively, and make SCEVExpander be much more aggressive about hoisting instructions out of loops. test/CodeGen/X86/pr3495.ll has an additional instruction now, but it appears to be due to an arbitrary register allocation difference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74048 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/pr3495.ll')
-rw-r--r--test/CodeGen/X86/pr3495.ll2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/CodeGen/X86/pr3495.ll b/test/CodeGen/X86/pr3495.ll
index 62382c6..ca6204c 100644
--- a/test/CodeGen/X86/pr3495.ll
+++ b/test/CodeGen/X86/pr3495.ll
@@ -1,6 +1,6 @@
; RUN: llvm-as < %s | llc -march=x86 -stats |& grep {Number of reloads omited} | grep 2
; RUN: llvm-as < %s | llc -march=x86 -stats |& not grep {Number of available reloads turned into copies}
-; RUN: llvm-as < %s | llc -march=x86 -stats |& grep {Number of machine instrs printed} | grep 38
+; RUN: llvm-as < %s | llc -march=x86 -stats |& grep {Number of machine instrs printed} | grep 39
; PR3495
; The loop reversal kicks in once here, resulting in one fewer instruction.