[PATCH] [AArch64] Add register spill code for large super registers such as DPair, DTriple ...
Hao Liu
Hao.Liu at arm.com
Thu Dec 19 01:06:30 PST 2013
Hi t.p.northover,
Hi Tim and reviewers,
Currently we don't have spill code for large super registers (DPair, DTriple, DQuad, QPair, QTriple, QQuad) in storeRegToStackSlot() and loadRegFromStackSlot(). So when we need to spill such registers, the compiler will fail.
This patch fixes such problems by adding corresponding vector load/store. As vector load/store can't have an offset operand, if the offset to frame is not zeor, it will always add frame and offset to a register first.
Review please.
Thanks,
-Hao
http://llvm-reviews.chandlerc.com/D2438
Files:
lib/Target/AArch64/AArch64InstrInfo.cpp
lib/Target/AArch64/AArch64RegisterInfo.cpp
test/CodeGen/AArch64/neon-vector-list-spill.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2438.1.patch
Type: text/x-patch
Size: 9950 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131219/a7c89159/attachment.bin>
More information about the llvm-commits
mailing list