Dan Gohman
4f8eea82d8
Generalize target-independent folding rules for sizeof to handle more
...
cases, and implement target-independent folding rules for alignof and
offsetof. Also, reassociate reassociative operators when it leads to
more folding.
Generalize ScalarEvolution's isOffsetOf to recognize offsetof on
arrays. Rename getAllocSizeExpr to getSizeOfExpr, and getFieldOffsetExpr
to getOffsetOfExpr, for consistency with analagous ConstantExpr routines.
Make the target-dependent folder promote GEP array indices to
pointer-sized integers, to make implicit casting explicit and exposed
to subsequent folding.
And add a bunch of testcases for this new functionality, and a bunch
of related existing functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94987 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-01 18:27:38 +00:00
..
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-12-17 22:42:29 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-12 06:14:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-09 00:09:15 +00:00
2009-09-09 00:09:15 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-09 00:09:15 +00:00
2009-09-09 00:09:15 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-12 06:14:06 +00:00
2009-11-07 19:11:46 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-27 06:25:05 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-18 08:22:35 +00:00
2010-01-28 17:22:42 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-10-26 22:14:22 +00:00
2009-10-26 22:14:22 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-11-03 15:29:06 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-07 19:11:46 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-09 00:22:49 +00:00
2010-01-10 07:08:30 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-12 07:18:14 +00:00
2009-10-12 07:18:14 +00:00
2009-09-08 22:34:10 +00:00
2009-10-05 02:47:47 +00:00
2009-10-12 07:18:14 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-01-23 04:35:57 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-01-01 18:34:40 +00:00
2010-01-05 22:01:41 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-02-01 18:11:34 +00:00
2010-01-18 22:00:46 +00:00
2010-01-05 21:54:09 +00:00
2009-11-10 07:23:37 +00:00
2009-11-07 19:11:46 +00:00
2010-01-11 23:18:33 +00:00
2009-12-12 09:25:50 +00:00
2009-12-17 06:07:04 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-02-01 18:04:58 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-11-03 15:29:06 +00:00
2009-09-11 18:01:28 +00:00
2009-11-03 15:29:06 +00:00
2009-10-12 07:18:14 +00:00
2009-09-08 22:34:10 +00:00
2010-01-17 00:21:21 +00:00
2010-02-01 18:27:38 +00:00
2009-09-11 18:01:28 +00:00
2009-12-21 04:04:05 +00:00
2010-01-19 18:16:19 +00:00
2009-10-12 07:18:14 +00:00
2010-01-23 18:49:30 +00:00
2009-11-11 15:34:13 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2010-01-04 18:57:15 +00:00
2010-01-30 00:40:23 +00:00
2010-01-05 21:32:59 +00:00
2010-01-05 17:55:26 +00:00
2010-01-24 00:09:49 +00:00
2009-09-08 22:34:10 +00:00
2009-10-21 19:11:40 +00:00
2009-10-17 00:00:19 +00:00
2009-10-24 04:23:03 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-17 21:07:31 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-11 21:29:45 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-25 20:54:50 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:57:49 +00:00
2010-01-11 06:55:24 +00:00
2009-09-16 16:33:59 +00:00
2009-11-09 01:38:00 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-26 22:52:03 +00:00
2009-11-03 15:29:06 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-12-21 06:08:50 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-12-02 05:34:35 +00:00
2009-09-09 00:22:49 +00:00
2010-01-08 19:04:21 +00:00
2009-09-11 18:01:28 +00:00
2009-10-11 22:39:58 +00:00
2009-09-11 18:01:28 +00:00
2009-11-23 16:22:21 +00:00
2009-09-11 18:01:28 +00:00
2010-01-31 04:29:12 +00:00
2009-09-11 18:01:28 +00:00
2009-10-14 15:21:58 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-11-26 22:04:42 +00:00
2010-01-31 02:30:23 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:41:33 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-11-07 19:11:46 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-10-11 22:54:48 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2010-01-19 18:16:19 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-09-11 18:01:28 +00:00
2009-09-08 22:34:10 +00:00
2009-10-12 06:32:42 +00:00