LLVM  14.0.0git
Enumerations
llvm::AVRISD Namespace Reference

Enumerations

enum  NodeType {
  FIRST_NUMBER = ISD::BUILTIN_OP_END, RET_FLAG, RETI_FLAG, CALL,
  WRAPPER, LSL, LSLBN, LSLWN,
  LSR, LSRBN, LSRWN, ASR,
  ASRBN, ASRWN, ROR, ROL,
  LSLLOOP, LSRLOOP, ROLLOOP, RORLOOP,
  ASRLOOP, BRCOND, CMP, CMPC,
  TST, SWAP, SELECT_CC
}
 AVR Specific DAG Nodes. More...
 

Enumeration Type Documentation

◆ NodeType

AVR Specific DAG Nodes.

Enumerator
FIRST_NUMBER 

Start the numbering where the builtin ops leave off.

RET_FLAG 

Return from subroutine.

RETI_FLAG 

Return from ISR.

CALL 

Represents an abstract call instruction, which includes a bunch of information.

WRAPPER 

A wrapper node for TargetConstantPool, TargetExternalSymbol, and TargetGlobalAddress.

LSL 

Logical shift left.

LSLBN 

Byte logical shift left N bits.

LSLWN 

Word logical shift left N bits.

LSR 

Logical shift right.

LSRBN 

Byte logical shift right N bits.

LSRWN 

Word logical shift right N bits.

ASR 

Arithmetic shift right.

ASRBN 

Byte arithmetic shift right N bits.

ASRWN 

Word arithmetic shift right N bits.

ROR 

Bit rotate right.

ROL 

Bit rotate left.

LSLLOOP 

A loop of single logical shift left instructions.

LSRLOOP 

A loop of single logical shift right instructions.

ROLLOOP 

A loop of single left bit rotate instructions.

RORLOOP 

A loop of single right bit rotate instructions.

ASRLOOP 

A loop of single arithmetic shift right instructions.

BRCOND 

AVR conditional branches.

Operand 0 is the chain operand, operand 1 is the block to branch if condition is true, operand 2 is the condition code, and operand 3 is the flag operand produced by a CMP or TEST instruction.

CMP 

Compare instruction.

CMPC 

Compare with carry instruction.

TST 

Test for zero or minus instruction.

SWAP 

Swap Rd[7:4] <-> Rd[3:0].

SELECT_CC 

Operand 0 and operand 1 are selection variable, operand 2 is condition code and operand 3 is flag operand.

Definition at line 25 of file AVRISelLowering.h.