[gcc] Eliminate control integrity pass in favor of nacl instructions generation from the start.

This is a refactoring/cleanup CL. The advatage of this new control integrity implementation is that it touches less files and is fully contained in i386 backend. This seems to be easier to push in upstream.

Specs pass, and performance seems unaffected. I have a concern about generating unspecs at rtl expand phase, as it can possibly kill several optimizations. From the other side, it seems unlikely as optimizations that touch indirect calls and jumps are hopefully done before rtl. In any case, I have an idea how to improve this if we discover that some optimization suffers from the change.

Review URL: http://codereview.chromium.org/2850019
6 files changed