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 | ab0bcb71f44d |
comparison
equal
deleted
inserted
replaced
96:506ac5e3963a | 97:4d6300120c29 |
---|---|
2333 != OUTGOING_REG_PARM_STACK_SPACE (TREE_TYPE (current_function_decl))) | 2333 != OUTGOING_REG_PARM_STACK_SPACE (TREE_TYPE (current_function_decl))) |
2334 || (reg_parm_stack_space != REG_PARM_STACK_SPACE (fndecl)) | 2334 || (reg_parm_stack_space != REG_PARM_STACK_SPACE (fndecl)) |
2335 #endif | 2335 #endif |
2336 /* Check whether the target is able to optimize the call | 2336 /* Check whether the target is able to optimize the call |
2337 into a sibcall. */ | 2337 into a sibcall. */ |
2338 #ifndef noCbC | |
2339 || (!targetm.function_ok_for_sibcall (fndecl, exp) | |
2340 && (!fndecl || !CbC_IS_CODE_SEGMENT (TREE_TYPE (fndecl)))) | |
2341 #else | |
2342 || !targetm.function_ok_for_sibcall (fndecl, exp) | 2338 || !targetm.function_ok_for_sibcall (fndecl, exp) |
2343 #endif | |
2344 /* Functions that do not return exactly once may not be sibcall | 2339 /* Functions that do not return exactly once may not be sibcall |
2345 optimized. */ | 2340 optimized. */ |
2346 || (flags & (ECF_RETURNS_TWICE | ECF_NORETURN)) | 2341 || (flags & (ECF_RETURNS_TWICE | ECF_NORETURN)) |
2347 || TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (addr))) | 2342 || TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (addr))) |
2348 /* If the called function is nested in the current one, it might access | 2343 /* If the called function is nested in the current one, it might access |