-
- Downloads
rs6000.c (rs6000_default_long_calls, [...]): New.
* config/rs6000/rs6000.c (rs6000_default_long_calls, rs6000_longcall_switch, rs6000_set_default_type_attributes): New. (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it. (rs6000_override_options): Handle -m(no-)longcall. (init_cumulative_args, output_mi_thunk): Check for both longcall and shortcall attributes on the function. (rs6000_attribute_table): Add "shortcall". (rs6000_handle_longcall_attribute): Update comment. (altivec_expand_unop_builtin, altivec_expand_binop_builtin, altivec_expand_ternop_builtin): Add default clauses to switches to silence warnings. * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS. (TARGET_OPTIONS): Add longcall and no-longcall. * config/rs6000/rs6000.md (call_nonlocal_sysv, call_value_nonlocal_sysv): Split by alternatives. One pair accepts only SYMBOL_REFs and rejects if CALL_LONG is set in the call cookie. The other pair accepts only LR/CTR and has no restriction. * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza): Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to tmake_file. * config/rs6000/rs6000-c.c: New file. * config/rs6000/t-rs6000-c-rule: New file. * config/rs6000/rs6000-protos.c: Add multiple-include guard. Prototype rs6000_pragma_longcall. * doc/extend.texi: Document shortcall attribute. * doc/invoke.texi: Document -mlongcall, -mno-longcall. From-SVN: r53382
Showing
- gcc/ChangeLog 65 additions, 30 deletionsgcc/ChangeLog
- gcc/config.gcc 3 additions, 0 deletionsgcc/config.gcc
- gcc/config/rs6000/rs6000-c.c 71 additions, 0 deletionsgcc/config/rs6000/rs6000-c.c
- gcc/config/rs6000/rs6000-protos.h 9 additions, 0 deletionsgcc/config/rs6000/rs6000-protos.h
- gcc/config/rs6000/rs6000.c 60 additions, 8 deletionsgcc/config/rs6000/rs6000.c
- gcc/config/rs6000/rs6000.h 10 additions, 0 deletionsgcc/config/rs6000/rs6000.h
- gcc/config/rs6000/rs6000.md 65 additions, 44 deletionsgcc/config/rs6000/rs6000.md
- gcc/config/rs6000/t-rs6000-c-rule 4 additions, 0 deletionsgcc/config/rs6000/t-rs6000-c-rule
- gcc/doc/extend.texi 31 additions, 4 deletionsgcc/doc/extend.texi
- gcc/doc/invoke.texi 18 additions, 0 deletionsgcc/doc/invoke.texi
Loading
Please register or sign in to comment