This is not a review, but: * What do you need from rtl.h? It's generally best for GIMPLE passes to avoid rtl.h where possible (and if you can avoid it, the next question is whether you can also avoid tm.h).
* Going just on the general description of the pass and not looking at the details: does this do any of the things that are done by shorten_binary_op or shorten_compare in c-common.c? If so, do you plan followup changes to remove as premature optimizations whatever those functions do that can be done by this pass? -- Joseph S. Myers jos...@codesourcery.com