Dan Gohman
40a5a1b39e
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
2009-06-24 01:18:18 +00:00
..
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-04-29 00:15:41 +00:00
2009-04-29 00:15:41 +00:00
2008-06-19 06:09:51 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-04-20 08:01:12 +00:00
2009-06-04 22:49:04 +00:00
2008-09-27 01:56:22 +00:00
2009-05-16 00:34:42 +00:00
2009-04-20 08:01:12 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-05-07 01:41:42 +00:00
2009-04-29 00:15:41 +00:00
2009-06-03 21:13:54 +00:00
2009-03-26 23:03:32 +00:00
2009-04-29 00:15:41 +00:00
2009-04-18 02:01:23 +00:00
2009-04-17 14:35:58 +00:00
2009-04-20 08:01:12 +00:00
2009-04-21 22:46:52 +00:00
2009-04-27 15:08:34 +00:00
2009-04-25 09:25:19 +00:00
2009-04-28 06:24:09 +00:00
2009-04-28 02:12:36 +00:00
2009-04-27 17:36:47 +00:00
2009-04-27 20:42:46 +00:00
2009-04-30 00:48:50 +00:00
2009-04-28 21:49:33 +00:00
2009-04-29 07:16:34 +00:00
2009-04-30 00:58:57 +00:00
2009-04-16 12:34:53 +00:00
2009-05-08 18:23:14 +00:00
2009-05-11 21:54:13 +00:00
2009-05-28 05:10:20 +00:00
2009-05-23 14:06:57 +00:00
2009-05-23 17:29:48 +00:00
2009-05-28 23:52:18 +00:00
2009-05-30 08:43:27 +00:00
2009-06-03 09:00:27 +00:00
2009-06-04 02:02:01 +00:00
2009-06-04 02:32:04 +00:00
2009-06-04 20:53:36 +00:00
2009-06-06 04:17:04 +00:00
2009-06-06 03:57:58 +00:00
2009-06-06 06:32:50 +00:00
2009-06-06 06:05:10 +00:00
2009-06-06 07:08:26 +00:00
2009-06-07 09:44:19 +00:00
2009-06-12 16:26:57 +00:00
2009-06-15 14:43:36 +00:00
2009-06-19 07:00:55 +00:00
2009-06-03 21:13:54 +00:00
2009-04-29 00:15:41 +00:00
2009-05-16 00:34:42 +00:00
2009-05-16 00:34:42 +00:00
2009-05-12 23:58:14 +00:00
2009-06-04 22:49:04 +00:00
2009-05-20 05:45:36 +00:00
2009-04-27 20:35:32 +00:00
2009-04-27 20:35:32 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-05-08 23:35:49 +00:00
2009-06-02 21:29:13 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-04-23 19:39:41 +00:00
2009-06-05 21:37:30 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-04-29 00:15:41 +00:00
2009-04-29 00:15:41 +00:00
2009-04-29 00:15:41 +00:00
2009-05-04 19:50:33 +00:00
2009-06-04 22:49:04 +00:00
2009-04-23 19:39:41 +00:00
2009-04-23 19:39:41 +00:00
2009-06-15 22:49:34 +00:00
2009-05-13 22:29:12 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-04-27 02:00:55 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-03 21:13:54 +00:00
2009-04-14 22:50:17 +00:00
2009-05-29 01:44:43 +00:00
2009-06-04 22:49:04 +00:00
2009-06-21 12:02:51 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-18 16:54:06 +00:00
2009-05-11 18:49:56 +00:00
2009-05-18 15:16:49 +00:00
2009-05-11 22:33:01 +00:00
2009-05-11 22:33:01 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-05-02 18:29:22 +00:00
2009-05-05 18:52:19 +00:00
2009-06-04 22:49:04 +00:00
2009-05-28 00:35:15 +00:00
2009-05-28 00:35:15 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-05-05 21:10:19 +00:00
2009-06-19 23:23:27 +00:00
2009-06-19 23:23:27 +00:00
2009-06-19 23:23:27 +00:00
2008-02-21 07:42:26 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-18 20:37:15 +00:00
2009-04-29 00:15:41 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-24 01:18:18 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-05-05 22:50:29 +00:00
2009-06-04 22:05:33 +00:00
2009-06-03 21:13:54 +00:00
2009-05-11 22:33:01 +00:00
2009-05-11 18:30:42 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-06 05:55:37 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-05-12 18:31:57 +00:00
2009-05-12 18:31:57 +00:00
2009-06-04 22:49:04 +00:00
2009-04-16 03:18:22 +00:00
2009-06-04 22:49:04 +00:00
2009-05-12 02:17:14 +00:00
2009-06-12 16:26:57 +00:00
2009-06-20 20:38:48 +00:00
2009-06-20 19:43:09 +00:00
2009-06-20 20:38:48 +00:00
2009-06-20 20:38:48 +00:00
2009-06-20 20:38:48 +00:00
2009-06-04 22:49:04 +00:00
2009-06-16 06:58:29 +00:00
2009-04-27 18:41:29 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-07 06:52:44 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-07 06:52:44 +00:00
2009-06-07 06:52:44 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-04-27 18:41:29 +00:00
2009-04-27 18:41:29 +00:00
2009-04-29 22:47:44 +00:00
2009-06-04 22:49:04 +00:00
2009-04-27 18:41:29 +00:00
2009-04-27 18:41:29 +00:00
2009-04-29 22:47:44 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-04-29 00:15:41 +00:00
2009-06-04 22:49:04 +00:00
2009-05-23 13:15:11 +00:00
2009-06-04 22:49:04 +00:00
2009-06-04 22:49:04 +00:00
2009-06-03 00:37:20 +00:00