Philip Reames
aaea24802b
Broaden the definition of a "widenable branch"
...
As a reminder, a "widenable branch" is the pattern "br i1 (and i1 X, WC()), label %taken, label %untaken" where "WC" is the widenable condition intrinsics. The semantics of such a branch (derived from the semantics of WC) is that a new condition can be added into the condition arbitrarily without violating legality.
Broaden the definition in two ways:
Allow swapped operands to the br (and X, WC()) form
Allow widenable branch w/trivial condition (i.e. true) which takes form of br i1 WC()
The former is just general robustness (e.g. for X = non-instruction this is what instcombine produces). The later is specifically important as partial unswitching of a widenable range check produces exactly this form above the loop.
Differential Revision: https://reviews.llvm.org/D70502
2019-11-21 10:46:16 -08:00
..
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-13 19:36:38 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-09-18 19:46:57 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-13 19:36:38 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-07-20 12:25:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-11-15 16:14:35 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-08-01 18:37:34 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-09-07 09:25:18 +00:00
2019-09-07 10:55:04 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-09-16 16:18:24 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-25 22:34:27 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-26 18:15:51 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-09-16 16:18:24 +00:00
2019-09-16 16:18:24 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-09-16 16:18:24 +00:00
2019-08-29 16:12:05 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-11-17 11:23:44 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-11-17 10:27:47 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-13 19:36:38 +00:00
2019-06-13 19:36:38 +00:00
2019-09-05 22:49:34 +00:00
2019-06-13 19:36:38 +00:00
2019-06-13 19:36:38 +00:00
2019-06-13 19:36:38 +00:00
2019-06-13 19:36:38 +00:00
2019-06-13 19:36:38 +00:00
2019-06-13 19:36:38 +00:00
2019-06-17 05:55:12 +00:00
2019-07-25 17:01:12 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-25 22:34:27 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-25 22:34:27 +00:00
2019-08-29 12:47:34 +00:00
2019-04-17 04:52:47 +00:00
2019-11-21 10:46:16 -08:00
2019-04-17 04:52:47 +00:00