]> git.ipfire.org Git - thirdparty/gcc.git/commit
middle-end/102518 - avoid invalid GIMPLE during inlining
authorRichard Biener <rguenther@suse.de>
Thu, 30 Sep 2021 13:05:53 +0000 (15:05 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 1 Oct 2021 06:26:26 +0000 (08:26 +0200)
commit3a7f20ed26416b56df6f3c8240f3c65a5715b17d
treec714dba36ab60fe15d7b6c4dc04fd9df7bb2cfe3
parentea0b5b656a0e90bc9bb3ab0920796b24a9387d76
middle-end/102518 - avoid invalid GIMPLE during inlining

When inlining we have to avoid mapping a non-lvalue parameter
value into a context that prevents the parameter to be a register.
Formerly the register were TREE_ADDRESSABLE but now it can be
just DECL_NOT_GIMPLE_REG_P.

2021-09-30  Richard Biener  <rguenther@suse.de>

PR middle-end/102518
* tree-inline.c (setup_one_parameter): Avoid substituting
an invariant into contexts where a GIMPLE register is not valid.

* gcc.dg/torture/pr102518.c: New testcase.
gcc/testsuite/gcc.dg/torture/pr102518.c [new file with mode: 0644]
gcc/tree-inline.c