mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-12 13:30:51 +00:00
MIR Parser: Allow the dollar characters in all of the identifier tokens.
This commit modifies the machine instruction lexer so that it now accepts the '$' characters in identifier tokens. This change makes the syntax for unquoted global value tokens consistent with the syntax for the global idenfitier tokens in the LLVM's assembly language. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242584 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4b50ecbf6a
commit
310bd3c747
@ -61,8 +61,11 @@ static Cursor skipWhitespace(Cursor C) {
|
||||
return C;
|
||||
}
|
||||
|
||||
/// Return true if the given character satisfies the following regular
|
||||
/// expression: [-a-zA-Z$._0-9]
|
||||
static bool isIdentifierChar(char C) {
|
||||
return isalpha(C) || isdigit(C) || C == '_' || C == '-' || C == '.';
|
||||
return isalpha(C) || isdigit(C) || C == '_' || C == '-' || C == '.' ||
|
||||
C == '$';
|
||||
}
|
||||
|
||||
static MIToken::TokenKind getIdentifierKind(StringRef Identifier) {
|
||||
|
@ -20,6 +20,20 @@
|
||||
ret i32 %b
|
||||
}
|
||||
|
||||
@.$0 = external global i32
|
||||
@-_- = external global i32
|
||||
@_-_a = external global i32
|
||||
@$.-B = external global i32
|
||||
|
||||
define i32 @test() {
|
||||
entry:
|
||||
%a = load i32, i32* @.$0
|
||||
store i32 %a, i32* @-_-
|
||||
%b = load i32, i32* @_-_a
|
||||
store i32 %b, i32* @$.-B
|
||||
ret i32 %b
|
||||
}
|
||||
|
||||
...
|
||||
---
|
||||
# CHECK: name: inc
|
||||
@ -47,3 +61,23 @@ body:
|
||||
- '%eax = INC32r %eax, implicit-def %eflags'
|
||||
- 'RETQ %eax'
|
||||
...
|
||||
---
|
||||
name: test
|
||||
body:
|
||||
- id: 0
|
||||
name: entry
|
||||
instructions:
|
||||
# CHECK: , @".$0",
|
||||
# CHECK: , @-_-,
|
||||
# CHECK: , @_-_a,
|
||||
# CHECK: , @"$.-B",
|
||||
- '%rax = MOV64rm %rip, 1, _, @.$0, _'
|
||||
- '%eax = MOV32rm killed %rax, 1, _, 0, _'
|
||||
- '%rcx = MOV64rm %rip, 1, _, @-_-, _'
|
||||
- 'MOV32mr killed %rcx, 1, _, 0, _, killed %eax'
|
||||
- '%rax = MOV64rm %rip, 1, _, @_-_a, _'
|
||||
- '%eax = MOV32rm killed %rax, 1, _, 0, _'
|
||||
- '%rcx = MOV64rm %rip, 1, _, @$.-B, _'
|
||||
- 'MOV32mr killed %rcx, 1, _, 0, _, %eax'
|
||||
- 'RETQ %eax'
|
||||
...
|
||||
|
Loading…
Reference in New Issue
Block a user