"if" can be either take or not. In reality, both "if"
can't be taked at the
same time -- and that's why I'm trying to automatically figure out
working on
LLVM representation. However, the LLVM code:
int %logsch(int %ih, int %nbh) {
entry:
%tmp.1 = setlt int %nbh, 0
%ih_addr.1 = select bool %tmp.1, int 10, int %ih
%nbh_addr.1 = select bool %tmp.1, int 0, int %nbh
%tmp.4 = setgt int %nbh_addr.1, 22528
%ih_addr.0 = select bool %tmp.4, int 7, int %ih_addr.1
%nbh_addr.0 = select bool %tmp.4, int 22528, int %nbh_addr.1
%tmp.8 = add int %nbh_addr.0, %ih_addr.0
ret int %tmp.8
}
Has 'select' instructions and a single path, which makes my task harder.
- Volodya