[PATCH] ARM: add VLA extension for WoA Itanium ABI

Tim Northover t.p.northover at gmail.com
Mon Jun 9 10:28:52 PDT 2014


Hi Saleem,

This looks better. I don't think the ABI documentation made it in though. And just one more don't-lie-to-LLVM bit during the lowering...

================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:7148-7150
@@ +7147,5 @@
+      .addExternalSymbol("__chkstk")
+      .addReg(ARM::R4, RegState::Implicit | RegState::Kill)
+      .addReg(ARM::R4, RegState::Implicit | RegState::Define)
+      .addReg(ARM::R12, RegState::Implicit | RegState::Define | RegState::Dead);
+    break;
----------------
This is better, but from what you were saying we should still expect IP to be clobbered (potentially), so you're probably going to need an addRegMask too (with appropriate CSR).

At that point, you'd just as well create an explicit MachineInstrBuilder to share the common code I suspect.

http://reviews.llvm.org/D4050






More information about the llvm-commits mailing list