aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorwanglei <wanglei@loongson.cn>2022-11-10 19:56:36 +0800
committerwanglei <wanglei@loongson.cn>2022-11-10 20:12:18 +0800
commit7d5c8cb023515efd1d80a9120f27ed5cdb1d1404 (patch)
treea10178ef866e66d237fe4b2717a81bb0a6c9455a /flang/lib/Frontend/CompilerInvocation.cpp
parentde4364f1ecaa6a5d631cff036b8f31e02841e73d (diff)
downloadllvm-7d5c8cb023515efd1d80a9120f27ed5cdb1d1404.zip
llvm-7d5c8cb023515efd1d80a9120f27ed5cdb1d1404.tar.gz
llvm-7d5c8cb023515efd1d80a9120f27ed5cdb1d1404.tar.bz2
[LoongArch] Added spill/reload/copy support for CFRs
1, spill/reload When a function call is made immediately after a floating point comparison, the result of the comparison needs to be spilled before function call and reloaded after the function returns. 2, copy Support `GPR` to `CFR` and `CFR` to `GRP` copys. Therefore, the correct register class can be used in the pattern template, and the hard-coding of mutual coping of `CFR` and `GRP` is eliminated, reducing redundant comparison instructions. Note: Since the `COPY` instruction between CFRs is not provided in LoongArch, we only use `$fcc0` in the register allocation. Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D137004
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions