[Bug target/23828] local calling convention not used when using --combine
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-25 20:15 --- Fixed. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23828
[Bug target/23828] local calling convention not used when using --combine
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-25 20:01 --- Subject: Bug 23828 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-25 20:01:11 Modified files: gcc: ChangeLog gcc/config/i386: i386.c Log message: PR 23828 * config/i386/i386.c (ix86_function_regparm): Fix the test for a nested function. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.10018&r2=2.10019 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.860&r2=1.861 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23828
[Bug target/23828] local calling convention not used when using --combine
--- Additional Comments From dann at godzilla dot ics dot uci dot edu 2005-09-21 17:43 --- (In reply to comment #8) > (In reply to comment #4) > Instead of the above check, change it to: > if (local_regparm == 3 && DECL_STRUCT_FUNCTION (fn)->static_chain_decl) > local_regparm = 2; DECL_STRUCT_FUNCTION does not work, it ICEs when running the testsuite... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23828
[Bug target/23828] local calling convention not used when using --combine
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-15 20:12 --- Confirmed, reduced testcase: file1.c: int g(void); int main(void) { return g(); } file2.c: static int f(int a, int b, int c) __attribute__((noinline)); static int f(int a, int b, int c) { return a+b+c; } int g(void) { return f(1,2,3); } This was discussed on IRC on my suggesstion in comment #8 does not work well but replacing DECL_CONTEX with decl_function_context should work. -- What|Removed |Added Severity|normal |minor Status|UNCONFIRMED |NEW Component|middle-end |target Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-15 20:12:27 date|| Summary|local calling convention not|local calling convention not |used when using -fwhole-|used when using --combine |program --combine | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23828