diff options
author | Stephen Lin <stephenwlin@gmail.com> | 2013-04-23 19:42:25 +0000 |
---|---|---|
committer | Stephen Lin <stephenwlin@gmail.com> | 2013-04-23 19:42:25 +0000 |
commit | 8118e0b588b18860263406cc9110b3f0e3b5b6c6 (patch) | |
tree | 9ce79485de23f1390155f2e84212c8cad60c4544 /llvm/lib/Target/ARM/ARMISelLowering.cpp | |
parent | 7f08d1b9a8376285db60da025a4cb997d5515fb8 (diff) | |
download | bcm5719-llvm-8118e0b588b18860263406cc9110b3f0e3b5b6c6.tar.gz bcm5719-llvm-8118e0b588b18860263406cc9110b3f0e3b5b6c6.zip |
Add more tests for r179925 to verify correct handling of signext/zeroext; strengthen condition check to require actual MVT::i32 virtual register types, just in case (no actual functionality change)
llvm-svn: 180138
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMISelLowering.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp index 8658e975e3f..46af4571a06 100644 --- a/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -1252,7 +1252,8 @@ ARMTargetLowering::LowerCallResult(SDValue Chain, SDValue InFlag, // Pass 'this' value directly from the argument to return value, to avoid // reg unit interference if (i == 0 && isThisReturn) { - assert(!VA.needsCustom() && VA.getLocVT() == MVT::i32); + assert(!VA.needsCustom() && VA.getLocVT() == MVT::i32 && + "unexpected return calling convention register assignment"); InVals.push_back(ThisVal); continue; } @@ -1466,8 +1467,10 @@ ARMTargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI, StackPtr, MemOpChains, Flags); } } else if (VA.isRegLoc()) { - if (realArgIdx == 0 && Flags.isReturned() && VA.getLocVT() == MVT::i32) { - assert(!Ins.empty() && Ins[0].VT == Outs[0].VT && + if (realArgIdx == 0 && Flags.isReturned() && Outs[0].VT == MVT::i32) { + assert(VA.getLocVT() == MVT::i32 && + "unexpected calling convention register assignment"); + assert(!Ins.empty() && Ins[0].VT == MVT::i32 && "unexpected use of 'returned'"); isThisReturn = true; } |