[PATCH] Fix fastcc/tailcallopt for ARM64

Tim Northover t.p.northover at gmail.com
Wed May 14 01:17:08 PDT 2014


Hi Jiangning,

Sorry for the delay, I somehow missed the fact that you'd updated the patch. And then I somehow managed to close the tab I was doing the review in.

Anyway, I've just got a comment on a couple of asserts which probably need adjusting for ARM64. Other than that it looks fine to me. No need to post another version, I don't think.

Cheers.

Tim.

================
Comment at: lib/Target/ARM64/ARM64FrameLowering.cpp:134
@@ +133,3 @@
+      // it is a limitation that needs dealing with.
+      assert(Amount > -0xfff && Amount < 0xfff && "call frame too large");
+      emitFrameOffset(MBB, I, DL, ARM64::SP, ARM64::SP, Amount, TII);
----------------
It looks like ARM64's emitFrameOffset can handle larger immediates (up to 24 bits easily, beyond that inefficiently). Same thing later.

http://reviews.llvm.org/D3633






More information about the llvm-commits mailing list