diff options
author | Shengchen Kan <shengchen.kan@intel.com> | 2023-11-27 21:37:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-27 21:37:07 +0800 |
commit | cb112eb16cff222d8fbe7cfd3cb0834f538a691d (patch) | |
tree | fdf46bd3bed7db22bf3e44e06eb409c8abddbd5e /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | d7c03a196edb1e5f5a45121bb51899e8f5e72ca6 (diff) | |
download | llvm-cb112eb16cff222d8fbe7cfd3cb0834f538a691d.zip llvm-cb112eb16cff222d8fbe7cfd3cb0834f538a691d.tar.gz llvm-cb112eb16cff222d8fbe7cfd3cb0834f538a691d.tar.bz2 |
[X86][CodeGen] Teach frame lowering to spill/reload registers w/ PUSHP/POPP, PUSH2[P]/POP2[P] (#73292)
#73092 supported the encoding/decoding for PUSHP/POPP
#73233 supported the encoding/decoding for PUSH2[P]/POP2[P]
In this patch, we teach frame lowering to spill/reload registers w/
these instructions.
1. Use PPX for balanced spill/reload
2. Use PUSH2/POP2 for continuous spills/reloads
3. PUSH2/POP2 must be 16B-aligned on the stack, so pad when necessary
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions