aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorHaochen Gui <guihaoc@gcc.gnu.org>2024-03-08 09:30:35 +0800
committerHaochen Gui <guihaoc@gcc.gnu.org>2024-03-08 09:30:35 +0800
commita0e945888d973fc1a4a9d2944aa7e96d2a4d7581 (patch)
treec04e7ad53bd2833175f837d0e6bb208d19eee638 /gcc/c
parent1e74c758a2cf7abf4e501aa0feae31b747c40c7e (diff)
downloadgcc-a0e945888d973fc1a4a9d2944aa7e96d2a4d7581.zip
gcc-a0e945888d973fc1a4a9d2944aa7e96d2a4d7581.tar.gz
gcc-a0e945888d973fc1a4a9d2944aa7e96d2a4d7581.tar.bz2
fwprop: Avoid volatile rtx to be propagated
The patch for PR111267 (commit id 86de9b66480b710202a2898cf513db105d8c432f) which introduces an exception for propagation on single set insn. The propagation which might not be profitable (checked by profitable_p) is still allowed to be propagated to single set insn. It has a potential problem that a volatile operand might be propagated to a singel set insn. If the define insn is not eliminated after propagation, the volatile operand will be executed for multiple times. This patch fixes the problem by skipping volatile set source rtx in propagation. gcc/ * fwprop.cc (forward_propagate_into): Return false for volatile set source rtx. gcc/testsuite/ * gcc.target/powerpc/fwprop-1.c: New.
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions