[PATCH] D27195: [ARM] GlobalISel: Lower more than 4 arguments
Tim Northover via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 30 09:59:13 PST 2016
t.p.northover added inline comments.
================
Comment at: lib/Target/ARM/ARMCallLowering.cpp:51
+ void assignValueToReg(unsigned ValVReg, unsigned PhysReg,
+ CCValAssign &VA) override {
+ assert(VA.isRegLoc() && "Value shouldn't be assigned to reg");
----------------
This is silently ignoring the signext/zeroext modifiers that are needed to correctly handle small types on AAPCS. It'd probably be better to fallback or assert if they're not being supported yet.
================
Comment at: lib/Target/ARM/ARMInstructionSelector.cpp:84-86
+ using namespace TargetOpcode;
+ switch (I.getOpcode()) {
+ case G_ADD:
----------------
Is this selection stuff intentionally in the same patch? Seems like it's an orthogonal issue.
https://reviews.llvm.org/D27195
More information about the llvm-commits
mailing list