// Markers
Eof,
Error,
+ Newline,
// Tokens with no info.
comma,
exclaim,
lparen,
rparen,
+ lbrace,
+ rbrace,
plus,
minus,
// Keywords
kw_implicit,
kw_implicit_define,
+ kw_def,
kw_dead,
kw_killed,
kw_undef,
+ kw_internal,
kw_early_clobber,
kw_debug_use,
+ kw_tied_def,
kw_frame_setup,
kw_debug_location,
+ kw_cfi_same_value,
kw_cfi_offset,
kw_cfi_def_cfa_register,
kw_cfi_def_cfa_offset,
kw_non_temporal,
kw_invariant,
kw_align,
+ kw_stack,
+ kw_got,
+ kw_jump_table,
+ kw_constant_pool,
+ kw_call_entry,
+ kw_liveout,
+ kw_address_taken,
+ kw_landing_pad,
+ kw_liveins,
+ kw_successors,
+
+ // Named metadata keywords
+ md_tbaa,
+ md_alias_scope,
+ md_noalias,
+ md_range,
// Identifier tokens
Identifier,
IntegerType,
NamedRegister,
+ MachineBasicBlockLabel,
MachineBasicBlock,
StackObject,
FixedStackObject,
NamedIRBlock,
IRBlock,
NamedIRValue,
+ IRValue,
+ QuotedIRValue // `<constant value>`
};
private:
bool isError() const { return Kind == Error; }
+ bool isNewlineOrEOF() const { return Kind == Newline || Kind == Eof; }
+
+ bool isErrorOrEOF() const { return Kind == Error || Kind == Eof; }
+
bool isRegister() const {
return Kind == NamedRegister || Kind == underscore ||
Kind == VirtualRegister;
bool isRegisterFlag() const {
return Kind == kw_implicit || Kind == kw_implicit_define ||
- Kind == kw_dead || Kind == kw_killed || Kind == kw_undef ||
+ Kind == kw_def || Kind == kw_dead || Kind == kw_killed ||
+ Kind == kw_undef || Kind == kw_internal ||
Kind == kw_early_clobber || Kind == kw_debug_use;
}
bool hasIntegerValue() const {
return Kind == IntegerLiteral || Kind == MachineBasicBlock ||
- Kind == StackObject || Kind == FixedStackObject ||
- Kind == GlobalValue || Kind == VirtualRegister ||
- Kind == ConstantPoolItem || Kind == JumpTableIndex ||
- Kind == IRBlock;
+ Kind == MachineBasicBlockLabel || Kind == StackObject ||
+ Kind == FixedStackObject || Kind == GlobalValue ||
+ Kind == VirtualRegister || Kind == ConstantPoolItem ||
+ Kind == JumpTableIndex || Kind == IRBlock || Kind == IRValue;
}
};