Loading toolchain/gcc/4.3.2/306-arm-funroll-loops.patchdeleted 100644 → 0 +0 −31 Original line number Diff line number Diff line ChangeLog (regrename) gcc/ * regrename.c: Unshare RTX earlier in build_def_use to avoid corruption of dup_loc. Index: gcc/regrename.c =================================================================== --- a/gcc/regrename.c (revision 197947) +++ b/gcc/regrename.c (working copy) @@ -783,6 +783,10 @@ build_def_use (basic_block bb) recog_data.operand_type[i] = OP_INOUT; } + /* Unshare dup_loc RTL */ + for (i = 0; i < recog_data.n_dups; i++) + *recog_data.dup_loc[i] = copy_rtx(*recog_data.dup_loc[i]); + /* Step 1: Close chains for which we have overlapping reads. */ for (i = 0; i < n_ops; i++) scan_rtx (insn, recog_data.operand_loc[i], @@ -813,7 +817,7 @@ build_def_use (basic_block bb) OP_IN, 0); for (i = 0; i < recog_data.n_dups; i++) - *recog_data.dup_loc[i] = copy_rtx (old_dups[i]); + *recog_data.dup_loc[i] = old_dups[i]; for (i = 0; i < n_ops; i++) *recog_data.operand_loc[i] = old_operands[i]; if (recog_data.n_dups) toolchain/gcc/4.3.2/900-backport-fix-for-bug-39076.patch 0 → 100644 +11 −0 Original line number Diff line number Diff line --- gcc-4.3.2.orig/gcc/regrename.c 2007-09-09 04:23:47.000000000 +0200 +++ gcc-4.3.2/gcc/regrename.c 2009-02-05 10:23:59.000000000 +0100 @@ -813,7 +813,7 @@ OP_IN, 0); for (i = 0; i < recog_data.n_dups; i++) - *recog_data.dup_loc[i] = copy_rtx (old_dups[i]); + *recog_data.dup_loc[i] = old_dups[i]; for (i = 0; i < n_ops; i++) *recog_data.operand_loc[i] = old_operands[i]; if (recog_data.n_dups) Loading
toolchain/gcc/4.3.2/306-arm-funroll-loops.patchdeleted 100644 → 0 +0 −31 Original line number Diff line number Diff line ChangeLog (regrename) gcc/ * regrename.c: Unshare RTX earlier in build_def_use to avoid corruption of dup_loc. Index: gcc/regrename.c =================================================================== --- a/gcc/regrename.c (revision 197947) +++ b/gcc/regrename.c (working copy) @@ -783,6 +783,10 @@ build_def_use (basic_block bb) recog_data.operand_type[i] = OP_INOUT; } + /* Unshare dup_loc RTL */ + for (i = 0; i < recog_data.n_dups; i++) + *recog_data.dup_loc[i] = copy_rtx(*recog_data.dup_loc[i]); + /* Step 1: Close chains for which we have overlapping reads. */ for (i = 0; i < n_ops; i++) scan_rtx (insn, recog_data.operand_loc[i], @@ -813,7 +817,7 @@ build_def_use (basic_block bb) OP_IN, 0); for (i = 0; i < recog_data.n_dups; i++) - *recog_data.dup_loc[i] = copy_rtx (old_dups[i]); + *recog_data.dup_loc[i] = old_dups[i]; for (i = 0; i < n_ops; i++) *recog_data.operand_loc[i] = old_operands[i]; if (recog_data.n_dups)
toolchain/gcc/4.3.2/900-backport-fix-for-bug-39076.patch 0 → 100644 +11 −0 Original line number Diff line number Diff line --- gcc-4.3.2.orig/gcc/regrename.c 2007-09-09 04:23:47.000000000 +0200 +++ gcc-4.3.2/gcc/regrename.c 2009-02-05 10:23:59.000000000 +0100 @@ -813,7 +813,7 @@ OP_IN, 0); for (i = 0; i < recog_data.n_dups; i++) - *recog_data.dup_loc[i] = copy_rtx (old_dups[i]); + *recog_data.dup_loc[i] = old_dups[i]; for (i = 0; i < n_ops; i++) *recog_data.operand_loc[i] = old_operands[i]; if (recog_data.n_dups)