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

Issue 6271009: [gcc] Replace rsp/rbp lea base with esp/ebp (Closed)

Created:
9 years, 11 months ago by eaeltsin
Modified:
9 years, 7 months ago
Reviewers:
khim
CC:
native-client-reviews_googlegroups.com
Visibility:
Public.

Description

[gcc] Replace rsp/rbp lea base with esp/ebp This is yet another fix for POINTERS_EXTEND_UNSIGNED > 0 problem of keeping high part of rsp/rbp. In addition, minor fix for previous change - do not assert if writing rsp/rbp into memory (probably spill)? Test (-O1) must return 0 but returns high part of rsp without the fix: struct StringRef { const char *Data; unsigned Length; }; // Prevent inlining with 'weak' attribute int print_size(struct StringRef Data) __attribute__((weak)); int print_size(struct StringRef Data) { return Data.Length; } int main() { char str[6]; // NEEDED! struct StringRef s; s.Data = str + 3; // NEEDED! s.Length = 0; return print_size(s); } BUG=http://code.google.com/p/nativeclient/issues/detail?id=1304 TEST=see above Committed: http://git.chromium.org/gitweb/?p=nacl-toolchain.git;a=commit;h=cc3d67a

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+29 lines, -15 lines) Patch
M gcc/gcc/config/i386/i386.c View 2 chunks +1 line, -2 lines 0 comments Download
M gcc/gcc/config/i386/i386.md View 2 chunks +27 lines, -13 lines 0 comments Download
M gcc/gcc/config/i386/i386-protos.h View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
eaeltsin
9 years, 11 months ago (2011-01-19 16:22:38 UTC) #1
khim
9 years, 11 months ago (2011-01-19 16:27:55 UTC) #2
LGTM

Powered by Google App Engine
This is Rietveld 408576698