Mercurial > hg > CbC > CbC_gcc
comparison gcc/calls.c~ @ 97:4d6300120c29 cbc-gcc-4.6.0
modify condition of tail call in expand_call method
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 20 Jan 2012 04:48:59 +0900 |
parents | 506ac5e3963a |
children |
comparison
equal
deleted
inserted
replaced
96:506ac5e3963a | 97:4d6300120c29 |
---|---|
2351 || (fndecl && decl_function_context (fndecl) == current_function_decl) | 2351 || (fndecl && decl_function_context (fndecl) == current_function_decl) |
2352 /* If this function requires more stack slots than the current | 2352 /* If this function requires more stack slots than the current |
2353 function, we cannot change it into a sibling call. | 2353 function, we cannot change it into a sibling call. |
2354 crtl->args.pretend_args_size is not part of the | 2354 crtl->args.pretend_args_size is not part of the |
2355 stack allocated by our caller. */ | 2355 stack allocated by our caller. */ |
2356 #ifndef noCbC | |
2357 || (args_size.constant > (crtl->args.size | |
2358 - crtl->args.pretend_args_size) | |
2359 && (!fndecl || !CbC_IS_CODE_SEGMENT (TREE_TYPE (fndecl)))) | |
2360 #else | |
2361 || args_size.constant > (crtl->args.size | 2356 || args_size.constant > (crtl->args.size |
2362 - crtl->args.pretend_args_size) | 2357 - crtl->args.pretend_args_size) |
2363 #endif | |
2364 /* If the callee pops its own arguments, then it must pop exactly | 2358 /* If the callee pops its own arguments, then it must pop exactly |
2365 the same number of arguments as the current function. */ | 2359 the same number of arguments as the current function. */ |
2366 || (targetm.calls.return_pops_args (fndecl, funtype, args_size.constant) | 2360 || (targetm.calls.return_pops_args (fndecl, funtype, args_size.constant) |
2367 != targetm.calls.return_pops_args (current_function_decl, | 2361 != targetm.calls.return_pops_args (current_function_decl, |
2368 TREE_TYPE (current_function_decl), | 2362 TREE_TYPE (current_function_decl), |