Files
llvm/test/CodeGen/ARM
Oliver Stannard 65b47b2f6b [IfCvt][ARM] Optimise diamond if-conversion for code size
Currently, the heuristics the if-conversion pass uses for diamond if-conversion
are based on execution time, with no consideration for code size. This adds a
new set of heuristics to be used when optimising for code size.

This is mostly target-independent, because the if-conversion pass can
see the code size of the instructions which it is removing. For thumb,
there are a few passes (insertion of IT instructions, selection of
narrow branches, and selection of CBZ instructions) which are run after
if conversion and affect these heuristics, so I've added target hooks to
better predict the code-size effect of a proposed if-conversion.

Differential revision: https://reviews.llvm.org/D67350

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374301 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10 09:58:28 +00:00
..
2019-09-30 07:52:10 +00:00
2019-05-15 12:41:58 +00:00
2016-01-26 00:03:25 +00:00
2017-08-01 22:20:49 +00:00
2014-04-03 17:35:22 +00:00
2017-08-28 20:20:47 +00:00
2017-04-07 22:01:23 +00:00
2017-04-07 22:01:23 +00:00
2019-08-01 11:12:10 +00:00
2016-06-16 16:09:53 +00:00
2016-01-28 18:59:04 +00:00
2018-10-14 16:49:04 +00:00
2014-08-26 12:47:26 +00:00
2014-01-29 11:50:56 +00:00
2015-10-26 20:49:49 +00:00
2016-06-20 17:45:33 +00:00
2019-05-26 11:34:30 +00:00
2018-07-04 13:28:39 +00:00
2019-10-08 08:25:42 +00:00
2016-12-27 18:35:19 +00:00
2016-01-26 00:03:25 +00:00
2014-04-25 17:51:25 +00:00
2019-01-07 12:21:13 +00:00
2019-02-26 12:02:12 +00:00
2014-04-03 17:35:22 +00:00
2012-09-29 21:43:49 +00:00
2014-12-04 19:34:50 +00:00
2016-06-16 16:09:53 +00:00
2019-06-11 11:09:25 +00:00
2017-12-11 12:13:45 +00:00
2017-12-11 12:13:45 +00:00
2017-12-11 12:13:45 +00:00
2018-09-26 10:56:00 +00:00
2019-04-17 16:51:09 +00:00
2014-04-03 17:35:22 +00:00
2014-04-03 17:35:22 +00:00
2019-10-08 16:16:26 +00:00
2019-07-29 09:48:07 +00:00
2015-01-19 15:16:06 +00:00
2017-08-28 20:20:47 +00:00
2014-04-23 01:09:29 +00:00
2017-08-01 22:20:49 +00:00
2017-08-01 22:20:49 +00:00
2016-12-27 18:35:19 +00:00
2019-05-15 12:41:58 +00:00
2019-07-27 18:44:15 +00:00
2019-03-29 17:35:56 +00:00
2019-10-08 08:25:42 +00:00
2015-08-13 17:28:16 +00:00
2019-10-08 08:25:42 +00:00