aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-07-12 15:00:58 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2017-07-12 15:00:58 +0000
commit561f6312f2fb078dcbe8fa8197a515b7abf339fe (patch)
treefa07524700f01f4173f2597baf78d9fcd584d8ec /libgcc
parente5309d958112d799eae39f67b8660a11698e1328 (diff)
downloadgcc-561f6312f2fb078dcbe8fa8197a515b7abf339fe.zip
gcc-561f6312f2fb078dcbe8fa8197a515b7abf339fe.tar.gz
gcc-561f6312f2fb078dcbe8fa8197a515b7abf339fe.tar.bz2
S/390: Remove loc splitter
The backend splitter splitting a 3 operand load on condition into 2 is wrong. The S/390 load on condition instruction might trap on the memory operand even if the condition is false. So if the first load on condition overwrites a register used as part of the memory address of the second the second might trigger a segfault even if it does not actually perform the load. Trying to fix this I noticed that the generated code looks anyway better without the splitter. So removing the splitter entirely is the way to go here. gcc/ChangeLog: 2017-07-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.md: Remove movcc splitter. From-SVN: r250153
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions