mirror of git://gcc.gnu.org/git/gcc.git
re PR libitm/51830 (FAIL: libitm.c/mem(cpy|set)-1.c execution test)
PR libitm/51830 * builtin-types.def (BT_FN_UINT_UINT_VAR): New. * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR. libitm/ChangeLog: PR libitm/51830 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load the first function argument to %eax. From-SVN: r183435
This commit is contained in:
parent
9dcc9b3b01
commit
5752c591bc
|
|
@ -1,3 +1,9 @@
|
||||||
|
2012-01-18 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
|
PR libitm/51830
|
||||||
|
* builtin-types.def (BT_FN_UINT_UINT_VAR): New.
|
||||||
|
* gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
|
||||||
|
|
||||||
2012-01-23 Aldy Hernandez <aldyh@redhat.com>
|
2012-01-23 Aldy Hernandez <aldyh@redhat.com>
|
||||||
Patrick Marlier <patrick.marlier@gmail.com>
|
Patrick Marlier <patrick.marlier@gmail.com>
|
||||||
Iain Sandoe <developer@sandoe-acoustics.co.uk>
|
Iain Sandoe <developer@sandoe-acoustics.co.uk>
|
||||||
|
|
@ -22,8 +28,7 @@
|
||||||
2012-01-23 Richard Guenther <rguenther@suse.de>
|
2012-01-23 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
PR tree-optimization/51949
|
PR tree-optimization/51949
|
||||||
* ipa-split.c (execute_split_functions): Do not split malloc
|
* ipa-split.c (execute_split_functions): Do not split malloc functions.
|
||||||
functions.
|
|
||||||
|
|
||||||
2012-01-23 Jakub Jelinek <jakub@redhat.com>
|
2012-01-23 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
|
@ -34,18 +39,15 @@
|
||||||
(make_defs_and_copies_lists): Remove defs_list and copies_list
|
(make_defs_and_copies_lists): Remove defs_list and copies_list
|
||||||
arguments, add state argument, just truncate state->work_list
|
arguments, add state argument, just truncate state->work_list
|
||||||
instead of always allocating and freeing the vector. Assert that
|
instead of always allocating and freeing the vector. Assert that
|
||||||
get_defs succeeds instead of returning 2. Changed return type to
|
get_defs succeeds instead of returning 2. Changed return type to bool.
|
||||||
bool.
|
|
||||||
(merge_def_and_ext): Add state argument. If SET_DEST doesn't
|
(merge_def_and_ext): Add state argument. If SET_DEST doesn't
|
||||||
have ext_src_mode, see if it has been modified already with the
|
have ext_src_mode, see if it has been modified already with the
|
||||||
right kind of extension and has been extended before from the
|
right kind of extension and has been extended before from the
|
||||||
ext_src_mode. If SET_DEST is already wider or equal to cand->mode,
|
ext_src_mode. If SET_DEST is already wider or equal to cand->mode,
|
||||||
just return true. Remember the original mode in state->modified
|
just return true. Remember the original mode in state->modified array.
|
||||||
array.
|
|
||||||
(combine_reaching_defs): Add state argument. Don't allocate and
|
(combine_reaching_defs): Add state argument. Don't allocate and
|
||||||
free here def_list, copied_list and vec vectors, instead just
|
free here def_list, copied_list and vec vectors, instead just
|
||||||
VEC_truncate the vectors in *state. Don't handle outcome == 2
|
VEC_truncate the vectors in *state. Don't handle outcome == 2 here.
|
||||||
here.
|
|
||||||
(find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
|
(find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
|
||||||
Add state variable, clear vectors in it, initialize state.modified
|
Add state variable, clear vectors in it, initialize state.modified
|
||||||
if needed. Free all the vectors at the end and state.modified too.
|
if needed. Free all the vectors at the end and state.modified too.
|
||||||
|
|
@ -133,8 +135,8 @@
|
||||||
* config/arm/arm.c (arm_count_output_move_double_insns): Call
|
* config/arm/arm.c (arm_count_output_move_double_insns): Call
|
||||||
output_move_double on a copy of operands array.
|
output_move_double on a copy of operands array.
|
||||||
|
|
||||||
2012-01-20 Cary Coutant <ccoutant@google.com>
|
2012-01-20 Cary Coutant <ccoutant@google.com>
|
||||||
Dodji Seketeli <dodji@redhat.com>
|
Dodji Seketeli <dodji@redhat.com>
|
||||||
|
|
||||||
PR debug/45682
|
PR debug/45682
|
||||||
* dwarf2out.c (copy_declaration_context): Return ref to parent
|
* dwarf2out.c (copy_declaration_context): Return ref to parent
|
||||||
|
|
@ -200,13 +202,12 @@
|
||||||
2012-01-19 Vladimir Makarov <vmakarov@redhat.com>
|
2012-01-19 Vladimir Makarov <vmakarov@redhat.com>
|
||||||
|
|
||||||
PR rtl-optimization/40761
|
PR rtl-optimization/40761
|
||||||
* ira-int.h (struct ira_loop_tree_node): Add comment for member
|
* ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
|
||||||
loop. Add new member loop_num.
|
Add new member loop_num.
|
||||||
(IRA_LOOP_NODE_BY_INDEX): Modify the check.
|
(IRA_LOOP_NODE_BY_INDEX): Modify the check.
|
||||||
(ira_build): Remove the parameter.
|
(ira_build): Remove the parameter.
|
||||||
|
|
||||||
* ira.c (ira_print_disposition): Use loop_num instead of
|
* ira.c (ira_print_disposition): Use loop_num instead of loop->num.
|
||||||
loop->num.
|
|
||||||
(ira.c): Do not build CFG loops for one region allocation. Remove
|
(ira.c): Do not build CFG loops for one region allocation. Remove
|
||||||
argument from ira_build call.
|
argument from ira_build call.
|
||||||
|
|
||||||
|
|
@ -223,16 +224,15 @@
|
||||||
an assertion.
|
an assertion.
|
||||||
(ira_print_expanded_allocno, loop_compare_func): Use loop_num
|
(ira_print_expanded_allocno, loop_compare_func): Use loop_num
|
||||||
instead of loop->num.
|
instead of loop->num.
|
||||||
(mark_loops_for_removal): Ditto. Use loop_num instead of
|
(mark_loops_for_removal): Ditto. Use loop_num instead of loop->num.
|
||||||
loop->num.
|
|
||||||
(mark_all_loops_for_removal): Ditto.
|
(mark_all_loops_for_removal): Ditto.
|
||||||
(remove_unnecessary_regions): Separate the case when CFG loops
|
(remove_unnecessary_regions): Separate the case when CFG loops
|
||||||
are not built.
|
are not built.
|
||||||
(ira_build): Remove the parameter. Use explicit number of regions
|
(ira_build): Remove the parameter. Use explicit number of regions
|
||||||
when CFG loops are not built.
|
when CFG loops are not built.
|
||||||
|
|
||||||
* ira-color.c (print_loop_title): Separate the case for the root
|
* ira-color.c (print_loop_title): Separate the case for the root node.
|
||||||
node. Use loop_num instead of loop->num.
|
Use loop_num instead of loop->num.
|
||||||
(move_spill_restore): Use loop_num instead of loop->num.
|
(move_spill_restore): Use loop_num instead of loop->num.
|
||||||
|
|
||||||
* ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
|
* ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
|
||||||
|
|
@ -241,8 +241,7 @@
|
||||||
|
|
||||||
* ira-lives.c (process_bb_node_lives): Ditto.
|
* ira-lives.c (process_bb_node_lives): Ditto.
|
||||||
|
|
||||||
* ira-costs.c (print_allocno_costs, find_costs_and_classes):
|
* ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
|
||||||
Ditto.
|
|
||||||
|
|
||||||
* ira-conflicts.c (print_allocno_conflicts): Ditto.
|
* ira-conflicts.c (print_allocno_conflicts): Ditto.
|
||||||
|
|
||||||
|
|
@ -278,8 +277,7 @@
|
||||||
with #ifdef HAVE_INITFINI_ARRAY.
|
with #ifdef HAVE_INITFINI_ARRAY.
|
||||||
* configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
|
* configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
|
||||||
Add initfini-array.h to tm_file here.
|
Add initfini-array.h to tm_file here.
|
||||||
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker
|
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
|
||||||
test.
|
|
||||||
* config.gcc: Don't add initfini-array.h to tm_file here.
|
* config.gcc: Don't add initfini-array.h to tm_file here.
|
||||||
* configure: Regenerated.
|
* configure: Regenerated.
|
||||||
|
|
||||||
|
|
@ -288,7 +286,7 @@
|
||||||
PR rtl-optimization/51505
|
PR rtl-optimization/51505
|
||||||
* df-problems.c (df_kill_notes): New parameter live. Update comment.
|
* df-problems.c (df_kill_notes): New parameter live. Update comment.
|
||||||
Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
|
Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
|
||||||
(df_note_bb_compute): Update the call to df_kill_notes.
|
(df_note_bb_compute): Update the call to df_kill_notes.
|
||||||
|
|
||||||
2012-01-18 Aldy Hernandez <aldyh@redhat.com>
|
2012-01-18 Aldy Hernandez <aldyh@redhat.com>
|
||||||
|
|
||||||
|
|
@ -408,9 +406,8 @@
|
||||||
(mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
|
(mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
|
||||||
(mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too.
|
(mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too.
|
||||||
(mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p.
|
(mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p.
|
||||||
(mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead
|
(mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
|
||||||
of SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1
|
SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false.
|
||||||
if it's false.
|
|
||||||
(mips_get_tp): Add MIPS16 support.
|
(mips_get_tp): Add MIPS16 support.
|
||||||
(mips_legitimize_tls_address): Remove MIPS16 sorry().
|
(mips_legitimize_tls_address): Remove MIPS16 sorry().
|
||||||
Generalize DTPREL and TPREL handling.
|
Generalize DTPREL and TPREL handling.
|
||||||
|
|
@ -423,8 +420,7 @@
|
||||||
(force_to_mem_operand): Use mips_use_pcrel_pool_p.
|
(force_to_mem_operand): Use mips_use_pcrel_pool_p.
|
||||||
* config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
|
* config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
|
||||||
(PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
|
(PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
|
||||||
(*unshifted_high): New instruction. Use it for MIPS16
|
(*unshifted_high): New instruction. Use it for MIPS16 high splitter.
|
||||||
high splitter.
|
|
||||||
(consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
|
(consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
|
||||||
(*tls_get_tp_mips16_call_<mode>): Likewise.
|
(*tls_get_tp_mips16_call_<mode>): Likewise.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -498,6 +498,8 @@ DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
|
||||||
BT_VOID, BT_CONST_PTR)
|
BT_VOID, BT_CONST_PTR)
|
||||||
DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
|
DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
|
||||||
BT_INT, BT_CONST_STRING)
|
BT_INT, BT_CONST_STRING)
|
||||||
|
DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT_UINT_VAR,
|
||||||
|
BT_UINT, BT_UINT)
|
||||||
|
|
||||||
DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
|
DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
|
||||||
BT_INT, BT_FILEPTR, BT_CONST_STRING)
|
BT_INT, BT_FILEPTR, BT_CONST_STRING)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
DEF_TM_BUILTIN (BUILT_IN_TM_START, "_ITM_beginTransaction",
|
DEF_TM_BUILTIN (BUILT_IN_TM_START, "_ITM_beginTransaction",
|
||||||
BT_FN_UINT_UINT, ATTR_TM_NOTHROW_RT_LIST)
|
BT_FN_UINT_UINT_VAR, ATTR_TM_NOTHROW_RT_LIST)
|
||||||
|
|
||||||
DEF_TM_BUILTIN (BUILT_IN_TM_COMMIT, "_ITM_commitTransaction",
|
DEF_TM_BUILTIN (BUILT_IN_TM_COMMIT, "_ITM_commitTransaction",
|
||||||
BT_FN_VOID, ATTR_TM_NOTHROW_LIST)
|
BT_FN_VOID, ATTR_TM_NOTHROW_LIST)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
2012-01-23 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
|
PR libitm/51830
|
||||||
|
* config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
|
||||||
|
the first function argument to %eax.
|
||||||
|
|
||||||
2012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
2012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* libitm.h (_ITM_getThreadnum): Remove.
|
* libitm.h (_ITM_getThreadnum): Remove.
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,7 @@ SYM(_ITM_beginTransaction):
|
||||||
ret
|
ret
|
||||||
#else
|
#else
|
||||||
leal 4(%esp), %ecx
|
leal 4(%esp), %ecx
|
||||||
|
movl 4(%esp), %eax
|
||||||
subl $28, %esp
|
subl $28, %esp
|
||||||
cfi_def_cfa_offset(32)
|
cfi_def_cfa_offset(32)
|
||||||
movl %ecx, 8(%esp)
|
movl %ecx, 8(%esp)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue