aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2016-10-15 23:01:43 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2016-10-15 23:01:43 +0200
commitf9e9d32f79409fd2f4d7bc73d3576a33fac9b715 (patch)
treed89e56362ed9fd3d49b09d9d54cd79dc4c10ef8b /gcc/cfgexpand.c
parentbaa33d8380e5a74a8709ed5790856c8d07739cc3 (diff)
downloadgcc-f9e9d32f79409fd2f4d7bc73d3576a33fac9b715.zip
gcc-f9e9d32f79409fd2f4d7bc73d3576a33fac9b715.tar.gz
gcc-f9e9d32f79409fd2f4d7bc73d3576a33fac9b715.tar.bz2
rs6000: Fix shrink-wrap-separate for AIX
All out-of-line register save routines need LR, so we cannot wrap the LR component if there are out-of-line saves. This didn't show up for testing on Linux because none of the tests there use out-of-line FPR saves without also using out-of-line GPR saves, which we did handle. This patch fixes it, and also cleans up code a little. * config/rs6000/rs6000.c (rs6000_get_separate_components): Do not make LR a separately shrink-wrapped component unless savres_strategy contains all of {SAVE,REST}_INLINE_{GPRS,FPRS,VRS}. Do not wrap GPRs unless both {SAVE,REST}_INLINE_GPRS. Do not disallow all wrapping when not both {SAVE,REST}_INLINE_GPRS. From-SVN: r241203
Diffstat (limited to 'gcc/cfgexpand.c')
0 files changed, 0 insertions, 0 deletions