Hey Asma
not sure if that's still relevant for you, but if you're interested in the way how the C++ front-end builds the GENERIC code, you could either look at the source (obvious, but time-consuming) or look at the -fdump-translation-unit of the _C_ compiler. The C++ compiler doesn't print function bodies in -fdump-tranlsation-unit, but the C compiler does and the code for the if (... || ...) is similar/equal for both.like to know how it is translated in gimple which generic tree code are used, where it does this transfo from if ((y> 1) || (y< 9)) to (1!=0) ? in the gimplify function or when it builds generic if it builds it ....
I hope that helps, Andi