[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