Implement Promote for VAARG, and allow it to be custom promoted for people

who don't want the default behavior (Alpha).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25726 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nate Begeman
2006-01-28 03:14:31 +00:00
parent eb20ed6c86
commit 0aed7840ec
6 changed files with 51 additions and 3 deletions

View File

@@ -369,11 +369,16 @@ public:
SelectionDAG &DAG);
/// LowerOperation - For operations that are unsupported by the target, and
/// which are registered to use 'custom' lowering. This callback is invoked.
/// which are registered to use 'custom' lowering, this callback is invoked.
/// If the target has no operations that require custom lowering, it need not
/// implement this. The default implementation of this aborts.
virtual SDOperand LowerOperation(SDOperand Op, SelectionDAG &DAG);
/// CustomPromoteOperation - For operations that are unsupported by the
/// target, are registered to use 'custom' lowering, and whose type needs to
/// be promoted, this callback is invoked.
virtual SDOperand CustomPromoteOperation(SDOperand Op, SelectionDAG &DAG);
/// getTargetNodeName() - This method returns the name of a target specific
/// DAG node.
virtual const char *getTargetNodeName(unsigned Opcode) const;