aboutsummaryrefslogtreecommitdiff
path: root/gcc/predict.c
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2019-05-02 20:46:38 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2019-05-02 20:46:38 +0200
commitfc9613c640c28ca85ea988f6890d13cb4d912e11 (patch)
tree49d967cb2a1fa94ac724f2836d4bf90d39130ba1 /gcc/predict.c
parentf58bd252753e1c2458dc009a71726fca772643a8 (diff)
downloadgcc-fc9613c640c28ca85ea988f6890d13cb4d912e11.zip
gcc-fc9613c640c28ca85ea988f6890d13cb4d912e11.tar.gz
gcc-fc9613c640c28ca85ea988f6890d13cb4d912e11.tar.bz2
rs6000: Make debug regnums independent of internal ones
Where we use "internal GCC register numbers" in debug info, that defines an ABI, so we cannot change those numbers. But we want to change the internal numbers, and sometimes we do that without remembering this gotcha anyway; so let's make everything independent of the internal numbers. For those registers that are not recognised here (we still have MQ for example, but also the GCC-internal frame pointer and arg pointer registers), this just returns the internal register number. This is a bit worrying: that number could be the same as that for a register we validly want to have in debug info. I first had a gcc_unreachable () for that, but this does now work because dwarf2cfi calls rs6000_dbx_register_number for every internal register. Then I just returned 0 for the internal regs, but that causes various regression tests to fail. So now I return the internal register number again, as it was before; but this needs to be fixed. * config/rs6000/rs6000.c (rs6000_dbx_register_number): Do not use the internal register number, for any "real" register. From-SVN: r270820
Diffstat (limited to 'gcc/predict.c')
0 files changed, 0 insertions, 0 deletions