llvm-project/mlir/lib/Parser
River Riddle a495f960e0 Introduce the notion of dialect attributes and dependent attributes. A dialect attribute derives its context from a specific dialect, whereas a dependent attribute derives context from what it is attached to. Following this, we now enforce that functions and function arguments may only contain dialect specific attributes. These are generic entities and cannot provide any specific context for a dependent attribute.
Dialect attributes are defined as:

        dialect-namespace `.` attr-name `:` attribute-value

Dialects can override any of the following hooks to verify the validity of a given attribute:
  * verifyFunctionAttribute
  * verifyFunctionArgAttribute
  * verifyInstructionAttribute

PiperOrigin-RevId: 236507970
2019-03-29 16:55:05 -07:00
..
Lexer.cpp Allow function names to have a leading underscore. This matches what is already defined in the spec, but not supported in the implementation. 2019-03-29 16:45:08 -07:00
Lexer.h Implement value type abstraction for locations. 2019-03-29 13:52:31 -07:00
Parser.cpp Introduce the notion of dialect attributes and dependent attributes. A dialect attribute derives its context from a specific dialect, whereas a dependent attribute derives context from what it is attached to. Following this, we now enforce that functions and function arguments may only contain dialect specific attributes. These are generic entities and cannot provide any specific context for a dependent attribute. 2019-03-29 16:55:05 -07:00
Token.cpp Avoid hardcoded 4096 constant 2019-03-29 13:06:36 -07:00
Token.h Add parsing for floating point attributes. 2019-03-29 12:51:12 -07:00
TokenKinds.def Recommit: Define a AffineOps dialect as well as an AffineIfOp operation. Replace all instances of IfInst with AffineIfOp and delete IfInst. 2019-03-29 15:59:30 -07:00