search for: wider_cond

Displaying 2 results from an estimated 2 matches for "wider_cond".

2018 Jul 10
2
Giving up using implicit control flow in guards
...ned with any other conditions without loss of correctness. In other words, if the following code is correct: call void (i1, ...) @llvm.experimental.guard(i1 %cond) [ "deopt"() ] <some operations> The following code will also be correct, no matter what %other_cond is: %wider_cond = and i1 %cond, %other_cond call void (i1, ...) @llvm.experimental.guard(i1 %wider_cond) [ "deopt"() ] <do some useful stuff> More formally, if %cond_a implies %cond_b, it is always valid to replace guard(%cond_b) with guard(%cond_a). We use this fact to make some optimizat...
2018 Jul 13
2
Giving up using implicit control flow in guards
..., if the following code is correct: > > > > call void (i1, ...) @llvm.experimental.guard(i1 %cond) [ "deopt"() > ] > > <some operations> > > > > The following code will also be correct, no matter what %other_cond is: > > > > %wider_cond = and i1 %cond, %other_cond > > call void (i1, ...) @llvm.experimental.guard(i1 %wider_cond) [ > "deopt"() ] > > <do some useful stuff> > > > > More formally, if %cond_a implies %cond_b, it is always valid to replace guard(%cond_b) with guard(%con...