[tablegen] Add CustomCallingConv and use it to tablegen-erate the outermost parts...
authorDaniel Sanders <daniel.sanders@imgtec.com>
Sat, 1 Nov 2014 17:38:22 +0000 (17:38 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Sat, 1 Nov 2014 17:38:22 +0000 (17:38 +0000)
commitca80f1a05af1cfea4ee41221bf1f5923df41066c
tree946d7efb45b317c791bd31df4396727146fee9ad
parentf6dac29a832a02dd3921cf1395ae127a39057116
[tablegen] Add CustomCallingConv and use it to tablegen-erate the outermost parts of the Mips O32 implementation

Summary:
CustomCallingConv is simply a CallingConv that tablegen should not generate the
implementation for. It allows regular CallingConv's to delegate to these custom
functions. This is (currently) necessary for Mips and we cannot use CCCustom
without having to adapt to the different API that CCCustom uses.

This brings us a bit closer to being able to remove
MipsCC::analyzeCallOperands and MipsCC::analyzeFormalArguments in favour of
the common implementation.

No functional change to the targets.

Depends on D3341

Reviewers: vmedic

Reviewed By: vmedic

Subscribers: vmedic, llvm-commits

Differential Revision: http://reviews.llvm.org/D5965

llvm-svn: 221052
llvm/include/llvm/Target/TargetCallingConv.td
llvm/lib/Target/Mips/MipsCallingConv.td
llvm/lib/Target/Mips/MipsISelLowering.cpp
llvm/lib/Target/Mips/MipsISelLowering.h
llvm/utils/TableGen/CallingConvEmitter.cpp