LLVM 20.0.0git
Enumerations
llvm::AVRISD Namespace Reference

Enumerations

enum  NodeType {
  FIRST_NUMBER = ISD::BUILTIN_OP_END , RET_GLUE , RETI_GLUE , CALL ,
  WRAPPER , LSL , LSLBN , LSLWN ,
  LSLHI , LSLW , LSR , LSRBN ,
  LSRWN , LSRLO , LSRW , ASR ,
  ASRBN , ASRWN , ASRLO , ASRW ,
  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_GLUE 

Return from subroutine.

RETI_GLUE 

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.

LSLHI 

Higher 8-bit of word logical shift left.

LSLW 

Wide logical shift left.

LSR 

Logical shift right.

LSRBN 

Byte logical shift right N bits.

LSRWN 

Word logical shift right N bits.

LSRLO 

Lower 8-bit of word logical shift right.

LSRW 

Wide logical shift right.

ASR 

Arithmetic shift right.

ASRBN 

Byte arithmetic shift right N bits.

ASRWN 

Word arithmetic shift right N bits.

ASRLO 

Lower 8-bit of word arithmetic shift right.

ASRW 

Wide arithmetic shift right.

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.