[PATCH 00/15] Fix non-robust split condition in define_insn_and_split
Kewen Lin
linkw@linux.ibm.com
Thu Nov 11 11:24:44 GMT 2021
Hi,
This trivial patch series is the secondary product from the previous
investigation to see how many define_insn_and_split cases where
split_condition isn't applied on top of condition for define_insn
part and doesn't contain it, when there were some discussions on
whether we should warn for empty split condition or join both
conditions implicitly etc. (See the threads[1][2]).
For some of investigated define_insn_and_splits, the corresponding
split_condition is suspected not robust, especially the split
condition has only reload_complete. Lacking of good understanding
on the related port and the context of the code, I could be wrong.
But I think it may be a good idea to raise them and get them either
fixed or clarified. It would be also good as preparation for the
possible conditions joining in future. For some ports with the
proposed fixes applied, the split conditions in all
define_insn_and_splits will either have the explicit leading "&&" or
fully contain the condition for define_insn part. In other words,
the implicit conditions joining would be one nop for this kind of
port, we don't need any other checks/fixes for it.
[1] https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571647.html
[2] https://gcc.gnu.org/pipermail/gcc-patches/2021-June/572120.html
BR,
Kewen
-----
Kewen Lin (15):
frv: Fix non-robust split condition in define_insn_and_split
m32c: Fix non-robust split condition in define_insn_and_split
rx: Fix non-robust split condition in define_insn_and_split
s390: Fix non-robust split condition in define_insn_and_split
v850: Fix non-robust split condition in define_insn_and_split
visium: Fix non-robust split condition in define_insn_and_split
xtensa: Fix non-robust split condition in define_insn_and_split
alpha: Fix non-robust split condition in define_insn_and_split
arm: Fix non-robust split condition in define_insn_and_split
bfin: Fix non-robust split condition in define_insn_and_split
csky: Fix non-robust split condition in define_insn_and_split
i386: Fix non-robust split condition in define_insn_and_split
ia64: Fix non-robust split condition in define_insn_and_split
mips: Fix non-robust split condition in define_insn_and_split
sh: Fix non-robust split condition in define_insn_and_split
gcc/config/alpha/alpha.md | 4 +--
gcc/config/arm/arm.md | 2 +-
gcc/config/bfin/bfin.md | 4 +--
gcc/config/csky/csky.md | 28 ++++++++++-----------
gcc/config/frv/frv.md | 10 ++++----
gcc/config/i386/i386.md | 20 +++++++--------
gcc/config/ia64/vect.md | 4 +--
gcc/config/m32c/cond.md | 4 +--
gcc/config/mips/mips.md | 4 +--
gcc/config/rx/rx.md | 2 +-
gcc/config/s390/s390.md | 2 +-
gcc/config/s390/vector.md | 4 +--
gcc/config/sh/sh.md | 8 +++---
gcc/config/v850/v850.md | 8 +++---
gcc/config/visium/visium.md | 50 ++++++++++++++++++-------------------
gcc/config/xtensa/xtensa.md | 4 +--
16 files changed, 79 insertions(+), 79 deletions(-)
--
2.27.0
More information about the Gcc-patches
mailing list