summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/c_assoc.f90
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-06 10:34:13 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-06 10:34:13 +0000
commit6b2b4f3bfafda81124c6b30c2176c17f5c54971e (patch)
tree2c721a902fe8f0e45fb9a2ad6540cd633ecc1158 /gcc/testsuite/gfortran.dg/c_assoc.f90
parent3fb51cfaf66ea7d5938339f09174049e2ddd72c6 (diff)
downloadgcc-6b2b4f3bfafda81124c6b30c2176c17f5c54971e.tar.gz
[PR67753] fix copy of PARALLEL entry_parm to CONCAT target_reg
In assign_parms_setup_block, the copy of args in PARALLELs from entry_parm to stack_parm is deferred to the parm conversion insn seq, but the copy from stack_parm to target_reg was inserted in the normal copy seq, that is executed before the conversion insn seq. Oops. We could do away with the need for an actual stack_parm in general, which would have avoided the need for emitting the copy to target_reg in the conversion seq, but at least on pa, due to the need for stack to copy between SI and SF modes, it seems like using the reserved stack slot is beneficial, so I put in logic to use a pre-reserved stack slot when there is one, and emit the copy to target_reg in the conversion seq if stack_parm was set up there. for gcc/ChangeLog PR rtl-optimization/67753 PR rtl-optimization/64164 * function.c (assign_parm_setup_block): Avoid allocating a stack slot if we don't have an ABI-reserved one. Emit the copy to target_reg in the conversion seq if the copy from entry_parm is in it too. Don't use the conversion seq to copy a PARALLEL to a REG or a CONCAT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229840 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gfortran.dg/c_assoc.f90')
0 files changed, 0 insertions, 0 deletions