mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Teach LegalizeTypes how to promote the flags
in a ret node. These are created as i32 constants but on some platforms i32 is not legal. This fixes 26 "make check" failures, for example Alpha/2005-07-12-TwoMallocCalls.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47172 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -182,18 +182,19 @@ private:
|
||||
// Operand Promotion.
|
||||
bool PromoteOperand(SDNode *N, unsigned OperandNo);
|
||||
SDOperand PromoteOperand_ANY_EXTEND(SDNode *N);
|
||||
SDOperand PromoteOperand_ZERO_EXTEND(SDNode *N);
|
||||
SDOperand PromoteOperand_SIGN_EXTEND(SDNode *N);
|
||||
SDOperand PromoteOperand_TRUNCATE(SDNode *N);
|
||||
SDOperand PromoteOperand_BR_CC(SDNode *N, unsigned OpNo);
|
||||
SDOperand PromoteOperand_BRCOND(SDNode *N, unsigned OpNo);
|
||||
SDOperand PromoteOperand_FP_EXTEND(SDNode *N);
|
||||
SDOperand PromoteOperand_FP_ROUND(SDNode *N);
|
||||
SDOperand PromoteOperand_INT_TO_FP(SDNode *N);
|
||||
SDOperand PromoteOperand_RET(SDNode *N, unsigned OpNo);
|
||||
SDOperand PromoteOperand_SELECT(SDNode *N, unsigned OpNo);
|
||||
SDOperand PromoteOperand_BRCOND(SDNode *N, unsigned OpNo);
|
||||
SDOperand PromoteOperand_BR_CC(SDNode *N, unsigned OpNo);
|
||||
SDOperand PromoteOperand_SETCC(SDNode *N, unsigned OpNo);
|
||||
SDOperand PromoteOperand_SIGN_EXTEND(SDNode *N);
|
||||
SDOperand PromoteOperand_STORE(StoreSDNode *N, unsigned OpNo);
|
||||
|
||||
SDOperand PromoteOperand_TRUNCATE(SDNode *N);
|
||||
SDOperand PromoteOperand_ZERO_EXTEND(SDNode *N);
|
||||
|
||||
void PromoteSetCCOperands(SDOperand &LHS,SDOperand &RHS, ISD::CondCode Code);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
|
Reference in New Issue
Block a user