summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api
diff options
context:
space:
mode:
authorJessica Paquette <jpaquette@apple.com>2019-09-10 23:25:12 +0000
committerJessica Paquette <jpaquette@apple.com>2019-09-10 23:25:12 +0000
commit2af5b193d5e51409e20b85b62efdf743069ebb31 (patch)
tree8e04f3f9dbbf93b080402a7c110a9b0031b2addd /lldb/packages/Python/lldbsuite/test/python_api
parenta6e0bef3124ba72d6631a99bbafb3da8ba17e8de (diff)
downloadbcm5719-llvm-2af5b193d5e51409e20b85b62efdf743069ebb31.tar.gz
bcm5719-llvm-2af5b193d5e51409e20b85b62efdf743069ebb31.zip
[AArch64][GlobalISel] Support sibling calls with mismatched calling conventions
Add support for sibcalling calls whose calling convention differs from the caller's. - Port over `CCState::resultsCombatible` from CallingConvLower.cpp into CallLowering. This is used to verify that the way the caller and callee CC handle incoming arguments matches up. - Add `CallLowering::analyzeCallResult`. This is basically a port of `CCState::AnalyzeCallResult`, but using `ArgInfo` rather than `ISD::InputArg`. - Add `AArch64CallLowering::doCallerAndCalleePassArgsTheSameWay`. This checks that the calling conventions are compatible, and that the caller and callee preserve the same registers. For testing: - Update call-translator-tail-call.ll to show that we can now handle this. - Add a GISel line to tailcall-ccmismatch.ll to show that we will not tail call when the regmasks don't line up. Differential Revision: https://reviews.llvm.org/D67361 llvm-svn: 371570
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud