Skip to content

Commit cc73c18

Browse files
committed
[mlir] Do not set lastToken in AsmParser's resetToken function
The member lastToken is the last token that was consumed by the parser. Resetting the lexer position to a different position does not cause any token to be consumed, so lastToken should not be updated. Setting it to curToken can cause the scopeLoc.end location of OperationDefinition to be off-by-one, pointing to the first token after the operation. An example for an operation for which the scopeLoc.end location was wrong before is: %0 = torch.vtensor.literal(dense_resource<__elided__> : tensor<768xbf16>) : !torch.vtensor<[768],bf16> . Here the scope end loc always pointed to the next token
1 parent 281d178 commit cc73c18

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

mlir/lib/AsmParser/Parser.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ class Parser {
133133
/// Reset the parser to the given lexer position.
134134
void resetToken(const char *tokPos) {
135135
state.lex.resetPointer(tokPos);
136-
state.lastToken = state.curToken;
137136
state.curToken = state.lex.lexToken();
138137
}
139138

0 commit comments

Comments
 (0)