avoid remove&reinsert of call when splitting block for inlining
commit0a05b83d49e34d609d4b68eed3f43d856ecfcbc0
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 May 2017 10:16:54 +0000 (10 10:16 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 May 2017 10:16:54 +0000 (10 10:16 +0000)
tree97c8067510e1da022eb7b05fa24ef82a66880abf
parent658b632cabdaf681ee0bd3b2ce451feab28a4396
avoid remove&reinsert of call when splitting block for inlining

We used to split the inlined-into block at (= after) the call, and then
remove the call from the first block to insert it in the second.

The removal may cause unnecessary and unrecoverable resetting of debug
insns: we do not generate debug temps for calls.

Avoid the remove-and-reinsert dance by splitting the block before the
call.

for  gcc/ChangeLog

* tree-inline.c (expand_call_inline): Split block at stmt
before the call.

for  gcc/testsuite/ChangeLog

* gcc.dg/guality/inline-params-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247830 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/guality/inline-params-2.c [new file with mode: 0644]
gcc/tree-inline.c