Benjamin Kramer
c11b107f21
JumpThreading: Turn a select instruction into branching if it allows to thread one half of the select.
This is a common pattern coming out of simplifycfg generating gross code.
a: ; preds = %entry
%sel = select i1 %cmp1, double %add, double 0.000000e+00
br label %b
b:
%cond5 = phi double [ %sel, %a ], [ %sub, %entry ]
%cmp6 = fcmp oeq double %cond5, 0.000000e+00
br i1 %cmp6, label %if.then, label %if.end
becomes
a:
br i1 %cmp1, label %b, label %if.then
b:
%cond5 = phi double [ %sub, %entry ], [ %add, %a ]
%cmp6 = fcmp oeq double %cond5, 0.000000e+00
br i1 %cmp6, label %if.then, label %if.end
Skipping block b completely if possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187880 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 10:29:38 +00:00
..
2013-07-04 01:31:24 +00:00
2013-01-02 11:36:10 +00:00
2013-08-06 02:43:45 +00:00
2013-07-15 17:55:02 +00:00
2013-01-02 11:36:10 +00:00
2013-02-24 15:34:43 +00:00
2013-01-02 11:36:10 +00:00
2013-01-31 02:00:45 +00:00
2013-01-02 11:36:10 +00:00
2013-08-06 02:43:45 +00:00
2013-07-22 21:11:30 +00:00
2013-07-27 01:24:00 +00:00
2013-07-12 22:08:48 +00:00
2013-08-07 10:29:38 +00:00
2013-01-09 18:12:03 +00:00
2011-12-12 19:48:00 +00:00
2013-07-14 04:42:23 +00:00
2013-07-22 18:59:58 +00:00
2013-02-09 01:04:28 +00:00
2013-05-06 17:58:18 +00:00
2013-06-19 19:59:41 +00:00
2013-01-21 13:04:33 +00:00
2013-08-06 17:03:42 +00:00
2013-01-02 11:36:10 +00:00
2013-07-03 15:07:05 +00:00
2013-07-22 23:38:16 +00:00
2013-01-02 11:36:10 +00:00
2013-08-06 02:43:45 +00:00
2013-07-28 06:43:11 +00:00
2013-07-14 04:42:23 +00:00
2013-08-06 02:43:45 +00:00
2013-01-02 11:36:10 +00:00
2013-07-29 09:06:53 +00:00
2013-07-16 01:17:10 +00:00
2013-07-24 16:12:08 +00:00