diff options
author | Alexandre Oliva <oliva@adacore.com> | 2023-12-14 10:41:13 -0300 |
---|---|---|
committer | Alexandre Oliva <oliva@gnu.org> | 2023-12-14 10:41:13 -0300 |
commit | 37afeec8a635153ccd4e91bd686c93217706894d (patch) | |
tree | 485ceee06bdc4f0b16bd5e90db9d27a396d443a5 /gcc/analyzer | |
parent | 679adb2396a911b5999591f7a4f27a88064e91ff (diff) | |
download | gcc-37afeec8a635153ccd4e91bd686c93217706894d.zip gcc-37afeec8a635153ccd4e91bd686c93217706894d.tar.gz gcc-37afeec8a635153ccd4e91bd686c93217706894d.tar.bz2 |
strub: handle volatile promoted args in internal strub [PR112938]
When generating code for an internal strub wrapper, don't clear the
DECL_NOT_GIMPLE_REG_P flag of volatile args, and gimplify them both
before and after any conversion.
While at that, move variable TMP into narrower scopes so that it's
more trivial to track where ARG lives.
for gcc/ChangeLog
PR middle-end/112938
* ipa-strub.cc (pass_ipa_strub::execute): Handle promoted
volatile args in internal strub. Simplify.
for gcc/testsuite/ChangeLog
PR middle-end/112938
* gcc.dg/strub-internal-volatile.c: New.
Diffstat (limited to 'gcc/analyzer')
0 files changed, 0 insertions, 0 deletions