OSDN Git Service

gcc/
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Apr 2011 03:58:15 +0000 (03:58 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Apr 2011 03:58:15 +0000 (03:58 +0000)
commit0645b79d6625f5c5f1e34d3b55b0bfbbd41fbc69
treed6860081e6a2a506b137d064f1efde41a7f0e3cf
parent9ea58440374b24631f156b145b4b98b207a15f85
gcc/
* config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
when returning call_cookie.
(rs6000_function_ok_for_sibcall): Allow sibcalls via function
pointers, to functions with no more vector args than the current
function, and some non-local calls for ABI_V4.
* config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
sibcall_nonlocal_aix64): Combine to ..
(sibcall_nonlocal_aix<mode>): ..this.  Handle function pointer calls.
(sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
(sibcall_value_nonlocal_aix<mode>): ..likewise.
(*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
(sibcall_value_nonlocal_sysv<mode>): Likewise.  Correct call cookie
operand.
* config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
sibcall_value_symbolic_64): Delete.
gcc/testsuite/
* gcc.target/powerpc/ppc-pow.c: Allow for tail calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172855 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/darwin.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/ppc-pow.c