Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(278)

Issue 2850019: [gcc] Eliminate control integrity pass in favor of nacl instructions generation from the start. (Closed)

Created:
10 years, 6 months ago by eaeltsin
Modified:
9 years, 7 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
ssh://git@chromiumos-git/nacl-toolchain.git
Visibility:
Public.

Description

[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.

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+16 lines, -383 lines) Patch
M gcc/gcc/Makefile.in View 2 chunks +0 lines, -3 lines 0 comments Download
M gcc/gcc/config/i386/i386.c View 1 chunk +7 lines, -1 line 2 comments Download
M gcc/gcc/config/i386/i386.md View 1 chunk +9 lines, -0 lines 0 comments Download
D gcc/gcc/ctrl-intg.c View 1 chunk +0 lines, -376 lines 0 comments Download
M gcc/gcc/passes.c View 1 chunk +0 lines, -1 line 0 comments Download
M gcc/gcc/tree-pass.h View 1 chunk +0 lines, -2 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
eaeltsin
This issue seems to be created correctly. Please review.
10 years, 6 months ago (2010-06-21 19:04:09 UTC) #1
pasko-google - do not use
http://codereview.chromium.org/2850019/diff/1/3 File gcc/gcc/config/i386/i386.c (right): http://codereview.chromium.org/2850019/diff/1/3#newcode19119 gcc/gcc/config/i386/i386.c:19119: + call = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (2, fnaddr, callarg1), ...
10 years, 6 months ago (2010-06-21 21:42:11 UTC) #2
eaeltsin
http://codereview.chromium.org/2850019/diff/1/3 File gcc/gcc/config/i386/i386.c (right): http://codereview.chromium.org/2850019/diff/1/3#newcode19119 gcc/gcc/config/i386/i386.c:19119: + call = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (2, fnaddr, callarg1), ...
10 years, 6 months ago (2010-06-22 04:04:55 UTC) #3
pasko-google - do not use
10 years, 6 months ago (2010-06-22 08:34:43 UTC) #4
LGTM

Powered by Google App Engine
This is Rietveld 408576698