1919
2020namespace llvm {
2121
22- namespace AVRISD {
23-
24- // / AVR Specific DAG Nodes
25- enum NodeType {
26- // / Start the numbering where the builtin ops leave off.
27- FIRST_NUMBER = ISD::BUILTIN_OP_END,
28- // / Return from subroutine.
29- RET_GLUE,
30- // / Return from ISR.
31- RETI_GLUE,
32- // / Represents an abstract call instruction,
33- // / which includes a bunch of information.
34- CALL,
35- // / A wrapper node for TargetConstantPool,
36- // / TargetExternalSymbol, and TargetGlobalAddress.
37- WRAPPER,
38- LSL, // /< Logical shift left.
39- LSLBN, // /< Byte logical shift left N bits.
40- LSLWN, // /< Word logical shift left N bits.
41- LSLHI, // /< Higher 8-bit of word logical shift left.
42- LSLW, // /< Wide logical shift left.
43- LSR, // /< Logical shift right.
44- LSRBN, // /< Byte logical shift right N bits.
45- LSRWN, // /< Word logical shift right N bits.
46- LSRLO, // /< Lower 8-bit of word logical shift right.
47- LSRW, // /< Wide logical shift right.
48- ASR, // /< Arithmetic shift right.
49- ASRBN, // /< Byte arithmetic shift right N bits.
50- ASRWN, // /< Word arithmetic shift right N bits.
51- ASRLO, // /< Lower 8-bit of word arithmetic shift right.
52- ASRW, // /< Wide arithmetic shift right.
53- ROR, // /< Bit rotate right.
54- ROL, // /< Bit rotate left.
55- LSLLOOP, // /< A loop of single logical shift left instructions.
56- LSRLOOP, // /< A loop of single logical shift right instructions.
57- ROLLOOP, // /< A loop of single left bit rotate instructions.
58- RORLOOP, // /< A loop of single right bit rotate instructions.
59- ASRLOOP, // /< A loop of single arithmetic shift right instructions.
60- // / AVR conditional branches. Operand 0 is the chain operand, operand 1
61- // / is the block to branch if condition is true, operand 2 is the
62- // / condition code, and operand 3 is the flag operand produced by a CMP
63- // / or TEST instruction.
64- BRCOND,
65- // / Compare instruction.
66- CMP,
67- // / Compare with carry instruction.
68- CMPC,
69- // / Test for zero or minus instruction.
70- TST,
71- // / Swap Rd[7:4] <-> Rd[3:0].
72- SWAP,
73- // / Operand 0 and operand 1 are selection variable, operand 2
74- // / is condition code and operand 3 is flag operand.
75- SELECT_CC
76- };
77-
78- } // end of namespace AVRISD
79-
8022class AVRSubtarget ;
8123class AVRTargetMachine ;
8224
@@ -95,8 +37,6 @@ class AVRTargetLowering : public TargetLowering {
9537 return MVT::i8 ;
9638 }
9739
98- const char *getTargetNodeName (unsigned Opcode) const override ;
99-
10040 SDValue LowerOperation (SDValue Op, SelectionDAG &DAG) const override ;
10141
10242 void ReplaceNodeResults (SDNode *N, SmallVectorImpl<SDValue> &Results,
0 commit comments