WLT WLBSC call introduces sel() operations that are not optimized away.
Extended Description
Created an attachment (id=702)
source code to reproduce fault
See also Bug#705.
The newly introduced WLT (now phase 13) includes a WLBSC call, resulting
in this code in the attached SAC code, if I break at -b13:wlbsc:
int[1] _wlbsc_992_sc_iv { } ;
...
_wlbsc_992_sc_iv = [ 0 ];
_wlbsc_993_sc_e = _sel_VxA_( _wlbsc_992_sc_iv, _wlbsc_288_sc_iv);
_wlbsc_994_sc_bound = [ _wlbsc_993_sc_e ];
Note that _wlbsc_992_sc_iv has type AKS.
Unfortunately, there is no call to TC after WLBSC, which would
turn that type into AKV. There is also no call to
CF after that, which would remove that operation
and replace it by something sensible, in this case a constant.
What is the purpose of the WLBSC call? Why was it introduced?
I think that my AWLF changes may make it redundant, but need to
know more about why the WLBSC was introduced.
In the absence of better knowledge, I would guess that its presence there
is not the optimal solution in the long run.