This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Dear all,
I have been following Richard's and Zack's insightful comments and points
of criticism and want to submit a new patch incorporating these new ideas.
Both patches are attached and the ChangeLog for these is in clear text
(as required from the page "Contributing to GCC"). The first entry for
"gcc.diff" reflects changes made inside the gcc/ directory:
ChangeLog:
2002-09-25 Andreas Bauer <baueran@in.tum.de>
* calls.c (expand_call): Removed the `no indirect check'
for sibcall optimization, and replaced it by making use
of the new target hook "function_ok_for_sibcall".
* hooks.c: Added function hook_tree_tree_bool_false to
disable all sibcall optimization on all targets by
default, so that certain targets can later override this
setting with their individual hooks.
* hooks.h: Declared hook_tree_tree_bool_false.
* target-def.h: Defined and added TARGET_FUNCTION_OK_FOR_SIBCALL
to TARGET_INITIALIZER
* target.h: Declared the function_ok_for_sibcall
function.
The second entry for "config.diff" reflects all changes made inside the
config/ directory:
ChangeLog:
2002-09-25 Andreas Bauer <baueran@in.tum.de>
* alpha.c: Added static function alpha_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* alpha.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
* i386.c: Added static function ix86_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* i386.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
* i386.c: Added static function ix86_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* sparc.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
* sparc.c: Added static function sparc_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* arm.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
* arm.c: Made function arm_function_ok_for_sibcall static and
accept yet another parameter.
* arm-protos.h: Removed definition for arm_function_ok_for_sibcall.
* rs6000.c: Added static function rs6000_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* rs6000.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
* rs6000-protos.h: Removed definition for function_ok_for_sibcall.
* pa.c: Added static function pa_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* pa.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
* pa-linux.h: Removed FUNCTION_OK_FOR_SIBCALL macro and replaced
it with by defining TARGET_FUNCTION_OK_FOR_SIBCALL to
hook_tree_tree_bool_false.
* sh.c: Added static function sh_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* sh.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
* xtensia.c: Added static function xtensia_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* xtensia.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
* frv.c: Added static function frv_function_ok_for_sibcall
and according TARGET_FUNCTION_OK_FOR_SIBCALL definition.
* frv.h: Removed FUNCTION_OK_FOR_SIBCALL macro.
I would appreciate feedback on the two patches very much. I hope, I got
everything complete and working this time. There is, however, one issue
I am not 100% convinced I did right: pa-linux.h used to redefine
FUNCTION_OK_FOR_SIBCALL to `false' and I simply redefined
TARGET_FUNCTION_OK_FOR_SIBCALL to hook_tree_tree_bool_false which also
resolves to `false'. Was that ok?
Other than that, could someone point out how I should update the
documentation to reflect these rather substantial changes? All comments
and ideas are highly appreciated.
Thank you in advance.
Cheers,
Andi.
Attachment:
config.diff
Description: Text document
Attachment:
gcc.diff
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |