|
15 | 15 | #include "LoongArch.h" |
16 | 16 | #include "LoongArchMachineFunctionInfo.h" |
17 | 17 | #include "LoongArchRegisterInfo.h" |
| 18 | +#include "LoongArchSelectionDAGInfo.h" |
18 | 19 | #include "LoongArchSubtarget.h" |
19 | 20 | #include "MCTargetDesc/LoongArchBaseInfo.h" |
20 | 21 | #include "MCTargetDesc/LoongArchMCTargetDesc.h" |
@@ -2693,7 +2694,7 @@ SDValue LoongArchTargetLowering::lowerShiftRightParts(SDValue Op, |
2693 | 2694 |
|
2694 | 2695 | // Returns the opcode of the target-specific SDNode that implements the 32-bit |
2695 | 2696 | // form of the given Opcode. |
2696 | | -static LoongArchISD::NodeType getLoongArchWOpcode(unsigned Opcode) { |
| 2697 | +static unsigned getLoongArchWOpcode(unsigned Opcode) { |
2697 | 2698 | switch (Opcode) { |
2698 | 2699 | default: |
2699 | 2700 | llvm_unreachable("Unexpected opcode"); |
@@ -2729,7 +2730,7 @@ static LoongArchISD::NodeType getLoongArchWOpcode(unsigned Opcode) { |
2729 | 2730 | static SDValue customLegalizeToWOp(SDNode *N, SelectionDAG &DAG, int NumOp, |
2730 | 2731 | unsigned ExtOpc = ISD::ANY_EXTEND) { |
2731 | 2732 | SDLoc DL(N); |
2732 | | - LoongArchISD::NodeType WOpcode = getLoongArchWOpcode(N->getOpcode()); |
| 2733 | + unsigned WOpcode = getLoongArchWOpcode(N->getOpcode()); |
2733 | 2734 | SDValue NewOp0, NewRes; |
2734 | 2735 |
|
2735 | 2736 | switch (NumOp) { |
@@ -4715,97 +4716,6 @@ bool LoongArchTargetLowering::allowsMisalignedMemoryAccesses( |
4715 | 4716 | return true; |
4716 | 4717 | } |
4717 | 4718 |
|
4718 | | -const char *LoongArchTargetLowering::getTargetNodeName(unsigned Opcode) const { |
4719 | | - switch ((LoongArchISD::NodeType)Opcode) { |
4720 | | - case LoongArchISD::FIRST_NUMBER: |
4721 | | - break; |
4722 | | - |
4723 | | -#define NODE_NAME_CASE(node) \ |
4724 | | - case LoongArchISD::node: \ |
4725 | | - return "LoongArchISD::" #node; |
4726 | | - |
4727 | | - // TODO: Add more target-dependent nodes later. |
4728 | | - NODE_NAME_CASE(CALL) |
4729 | | - NODE_NAME_CASE(CALL_MEDIUM) |
4730 | | - NODE_NAME_CASE(CALL_LARGE) |
4731 | | - NODE_NAME_CASE(RET) |
4732 | | - NODE_NAME_CASE(TAIL) |
4733 | | - NODE_NAME_CASE(TAIL_MEDIUM) |
4734 | | - NODE_NAME_CASE(TAIL_LARGE) |
4735 | | - NODE_NAME_CASE(SLL_W) |
4736 | | - NODE_NAME_CASE(SRA_W) |
4737 | | - NODE_NAME_CASE(SRL_W) |
4738 | | - NODE_NAME_CASE(BSTRINS) |
4739 | | - NODE_NAME_CASE(BSTRPICK) |
4740 | | - NODE_NAME_CASE(MOVGR2FR_W_LA64) |
4741 | | - NODE_NAME_CASE(MOVFR2GR_S_LA64) |
4742 | | - NODE_NAME_CASE(FTINT) |
4743 | | - NODE_NAME_CASE(REVB_2H) |
4744 | | - NODE_NAME_CASE(REVB_2W) |
4745 | | - NODE_NAME_CASE(BITREV_4B) |
4746 | | - NODE_NAME_CASE(BITREV_8B) |
4747 | | - NODE_NAME_CASE(BITREV_W) |
4748 | | - NODE_NAME_CASE(ROTR_W) |
4749 | | - NODE_NAME_CASE(ROTL_W) |
4750 | | - NODE_NAME_CASE(DIV_W) |
4751 | | - NODE_NAME_CASE(DIV_WU) |
4752 | | - NODE_NAME_CASE(MOD_W) |
4753 | | - NODE_NAME_CASE(MOD_WU) |
4754 | | - NODE_NAME_CASE(CLZ_W) |
4755 | | - NODE_NAME_CASE(CTZ_W) |
4756 | | - NODE_NAME_CASE(DBAR) |
4757 | | - NODE_NAME_CASE(IBAR) |
4758 | | - NODE_NAME_CASE(BREAK) |
4759 | | - NODE_NAME_CASE(SYSCALL) |
4760 | | - NODE_NAME_CASE(CRC_W_B_W) |
4761 | | - NODE_NAME_CASE(CRC_W_H_W) |
4762 | | - NODE_NAME_CASE(CRC_W_W_W) |
4763 | | - NODE_NAME_CASE(CRC_W_D_W) |
4764 | | - NODE_NAME_CASE(CRCC_W_B_W) |
4765 | | - NODE_NAME_CASE(CRCC_W_H_W) |
4766 | | - NODE_NAME_CASE(CRCC_W_W_W) |
4767 | | - NODE_NAME_CASE(CRCC_W_D_W) |
4768 | | - NODE_NAME_CASE(CSRRD) |
4769 | | - NODE_NAME_CASE(CSRWR) |
4770 | | - NODE_NAME_CASE(CSRXCHG) |
4771 | | - NODE_NAME_CASE(IOCSRRD_B) |
4772 | | - NODE_NAME_CASE(IOCSRRD_H) |
4773 | | - NODE_NAME_CASE(IOCSRRD_W) |
4774 | | - NODE_NAME_CASE(IOCSRRD_D) |
4775 | | - NODE_NAME_CASE(IOCSRWR_B) |
4776 | | - NODE_NAME_CASE(IOCSRWR_H) |
4777 | | - NODE_NAME_CASE(IOCSRWR_W) |
4778 | | - NODE_NAME_CASE(IOCSRWR_D) |
4779 | | - NODE_NAME_CASE(CPUCFG) |
4780 | | - NODE_NAME_CASE(MOVGR2FCSR) |
4781 | | - NODE_NAME_CASE(MOVFCSR2GR) |
4782 | | - NODE_NAME_CASE(CACOP_D) |
4783 | | - NODE_NAME_CASE(CACOP_W) |
4784 | | - NODE_NAME_CASE(VSHUF) |
4785 | | - NODE_NAME_CASE(VPICKEV) |
4786 | | - NODE_NAME_CASE(VPICKOD) |
4787 | | - NODE_NAME_CASE(VPACKEV) |
4788 | | - NODE_NAME_CASE(VPACKOD) |
4789 | | - NODE_NAME_CASE(VILVL) |
4790 | | - NODE_NAME_CASE(VILVH) |
4791 | | - NODE_NAME_CASE(VSHUF4I) |
4792 | | - NODE_NAME_CASE(VREPLVEI) |
4793 | | - NODE_NAME_CASE(VREPLGR2VR) |
4794 | | - NODE_NAME_CASE(XVPERMI) |
4795 | | - NODE_NAME_CASE(VPICK_SEXT_ELT) |
4796 | | - NODE_NAME_CASE(VPICK_ZEXT_ELT) |
4797 | | - NODE_NAME_CASE(VREPLVE) |
4798 | | - NODE_NAME_CASE(VALL_ZERO) |
4799 | | - NODE_NAME_CASE(VANY_ZERO) |
4800 | | - NODE_NAME_CASE(VALL_NONZERO) |
4801 | | - NODE_NAME_CASE(VANY_NONZERO) |
4802 | | - NODE_NAME_CASE(FRECIPE) |
4803 | | - NODE_NAME_CASE(FRSQRTE) |
4804 | | - } |
4805 | | -#undef NODE_NAME_CASE |
4806 | | - return nullptr; |
4807 | | -} |
4808 | | - |
4809 | 4719 | //===----------------------------------------------------------------------===// |
4810 | 4720 | // Calling Convention Implementation |
4811 | 4721 | //===----------------------------------------------------------------------===// |
|
0 commit comments