diff options
author | wanglei <wanglei@loongson.cn> | 2022-11-19 14:35:14 +0800 |
---|---|---|
committer | wanglei <wanglei@loongson.cn> | 2022-11-19 14:35:31 +0800 |
commit | 0e4378c55e318869ea6404f2351f143e6d17fbfe (patch) | |
tree | fccd57354f41cb3cfb67611f90676346b36baea0 /llvm/lib/Object/XCOFFObjectFile.cpp | |
parent | 1dd5ca24529bba4b582554b986458e1ca0ae9307 (diff) | |
download | llvm-0e4378c55e318869ea6404f2351f143e6d17fbfe.zip llvm-0e4378c55e318869ea6404f2351f143e6d17fbfe.tar.gz llvm-0e4378c55e318869ea6404f2351f143e6d17fbfe.tar.bz2 |
[LoongArch] Add emergency spill slot for CFR spill/reload
When all registers have been allocated and CFR needs to be saved on the
stack, an emergency spill slot is required. Because CFR's spill and
reload require a general purpose register to transfer.
The attached test case was bugpoint-reduced down from
`MultiSource/Benchmarks/mafft/Lalignmm.c` in the test-suite.
Without this patch, llc will crash and report the following errors:
```
LLVM ERROR: Error while trying to spill R4 from class GPR: Cannot scavenge register without an emergency spill slot!
```
Reviewed By: SixWeining
Differential Revision: https://reviews.llvm.org/D138007
Diffstat (limited to 'llvm/lib/Object/XCOFFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions