2013-12-19 Dominik Vogt <vogt@linux.vnet.ibm.com>
authorkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Dec 2013 12:00:43 +0000 (12:00 +0000)
committerkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Dec 2013 12:00:43 +0000 (12:00 +0000)
commit77bc991286f1e7e90335648dc049948259dc64b6
tree1db5b5b063976f159ca72b6bc57086c6c957a104
parent914252e9e5b0cf8d3824f20e867b8f8533cadd41
2013-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
    Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): New
constant
(s390_hotpatch_trampoline_halfwords_max): New constant
(s390_hotpatch_trampoline_halfwords): New static variable
(get_hotpatch_attribute): New function
(s390_handle_hotpatch_attribute): New function
(s390_attribute_table): New target specific attribute table to implement
the hotpatch attribute
(s390_option_override): Parse hotpatch options
(s390_function_num_hotpatch_trampoline_halfwords): New function
(s390_can_inline_p): Implement target hook to
suppress hotpatching for explicitly inlined functions
(s390_asm_output_function_label): Generate hotpatch prologue
(TARGET_ATTRIBUTE_TABLE): Define to implement target attribute table
(TARGET_CAN_INLINE_P): Define to implement target hook
* config/s390/s390.opt (mhotpatch): New options -mhotpatch, -mhotpatch=
* config/s390/s390-protos.h (s390_asm_output_function_label): Add
prototype
* config/s390/s390.h (ASM_OUTPUT_FUNCTION_LABEL): Target specific
function label generation for hotpatching
(FUNCTION_BOUNDARY): Align functions to eight bytes
* doc/extend.texi: Document hotpatch attribute
* doc/invoke.texi: Document -mhotpatch option

2013-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
    Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc/testsuite/gcc.target/s390/hotpatch-1.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-2.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-3.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-4.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-5.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-6.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-7.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-8.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-9.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-10.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-11.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-12.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c: New test
* gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206111 138bc75d-0d04-0410-961f-82ee72b054a4
27 files changed:
gcc/ChangeLog
gcc/config/s390/s390-protos.h
gcc/config/s390/s390.c
gcc/config/s390/s390.h
gcc/config/s390/s390.opt
gcc/doc/extend.texi
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/hotpatch-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c [new file with mode: 0644]