38 Commits

Author SHA1 Message Date
Ivan Krysak 1609bbe745 Restore the separate enum declaration node 2026-06-16 18:43:45 +02:00
Ivan Krysak 2a2854c020 CliftEmitC: always emit opaque types in headers 2026-06-15 17:28:22 +02:00
Ivan Krysak a83521d337 Ensure no duplicate opaque types in headers 2026-06-15 17:28:22 +02:00
Ivan Krysak c4104388ea CliftEmitC: expose emitTypes 2026-06-15 17:28:22 +02:00
Ivan Krysak eb5c6938ef CliftEmitC: expose emitCommonIncludes 2026-06-15 17:28:22 +02:00
Ivan Krysak b9e5355d5a CliftEmitC: avoid uninitialized primitives 2026-06-15 17:28:22 +02:00
Ivan Krysak ee5534c0ee Introduce single type emission helper 2026-06-15 17:28:22 +02:00
Ivan Krysak 531fb0b439 emitTypeAndGlobalHeader: emit opaque types 2026-06-15 17:28:22 +02:00
Ivan Krysak 659951620e Drop unnecessary includes 2026-06-15 11:47:41 +02:00
Ivan Krysak ea785998ec Minor improvements 2026-06-15 11:47:41 +02:00
Lauri Vasama 04fe27b8e9 Migrate Clift users to CDataModel 2026-05-04 10:49:03 +03:00
Lauri Vasama c56742770b Use const ArrayRef in emitHelperHeader 2026-04-30 15:09:16 +03:00
Lauri Vasama b30b4feec9 Remove MLIRContext from TypeDefinitionEmitter API 2026-04-30 15:09:16 +03:00
Lauri Vasama 90e5dfd4c9 Pass MLIRContext by address
Passing by address is more conventional. This is what MLIR does most of
the time, and it avoids dereferences and addressofs everywhere.
2026-04-30 15:09:16 +03:00
Lauri Vasama a338194eb7 Move namespace mlir::clift out of namespace mlir 2026-04-27 12:48:24 +03:00
Ivan Krysak 71845dcbbb CliftEmitC: stop using mlir::clift namespace 2026-04-22 08:19:47 +00:00
Ivan Krysak 31b2609ca3 verifyCSemantics: add a TODO 2026-04-22 08:19:35 +00:00
Ivan Krysak 74fa16dd13 Introduce helper header emitter 2026-04-22 08:19:25 +00:00
Ivan Krysak 7ab3d590e0 Introduce type and global header emitter 2026-04-22 08:18:52 +00:00
Ivan Krysak c704aac1c5 CEmitter: add emitCategoryComment helper 2026-04-22 06:33:56 +00:00
Ivan Krysak 3bd8879948 CEmitter: Introduce doxygen emission helpers 2026-04-22 06:33:56 +00:00
Ivan Krysak 6d76908858 Introduce TypeDefinitionEmitter 2026-04-22 06:33:38 +00:00
Ivan Krysak d327cd3be5 emitCAttributes: introduce an array overload 2026-04-22 06:14:52 +00:00
Ivan Krysak 0189089930 Introduce TypeEmitterConfiguration 2026-04-22 06:14:52 +00:00
Lauri Vasama 9ba90e9b81 Replace ValueType with mlir::Type where applicable
`mlir::Type` is now used as the default C++ type for representing all
MLIR types, even when `ValueType` would be a valid constraint, unless
doing so provides a clear benefit in that specific context.
2026-04-08 12:20:00 +03:00
Lauri Vasama be8351a17d Split up Clift PrimitiveType
* PrimitiveType is now an interface.
* VoidKind is now VoidType.
* FloatKind is now FloatType.
* The integer kinds are now IntegerType with IntegerKind.
2026-04-08 12:18:10 +03:00
Ivan Krysak 5ca78e8897 emitCAttributes: improve spacing control 2026-03-27 08:27:23 +00:00
Ivan Krysak 378bfb650f CliftEmitC: Attributes -> CAttributes 2026-03-27 08:22:23 +00:00
Ivan Krysak 318681cd42 Introduce TypeDependencyGraph 2026-03-27 08:05:10 +00:00
Ivan Krysak 1310b6ab62 Clift: append C to attribute classes we emit 2026-03-25 15:42:13 +00:00
Ivan Krysak cd6c6bd22d Introduce isSeparateDeclarationAllowed helper
This is a replacement for `isDeclarationTheSameAsDefinition`.
2026-02-27 18:28:12 +00:00
Ivan Krysak 1541d4b402 CEmitter: allow argumentless function declarations 2026-02-25 12:47:27 +01:00
Ivan Krysak 4514620e9f CEmitter: introduce chooseEntityKind helper 2026-02-25 12:47:27 +01:00
Ivan Krysak 5bcccf57d3 CEmitter: rename C field into Tokens 2026-02-25 12:47:27 +01:00
Ivan Krysak 0b2853f624 Extract emitFunctionPrototype helper 2026-02-25 12:47:27 +01:00
Ivan Krysak 22fe32afa2 Minor improvements 2026-02-25 12:47:27 +01:00
Lauri Vasama 8cbc0e6d24 Move CTokenEmitter into namespace ptml 2026-02-11 12:48:33 +02:00
Lauri Vasama 22d6f70ee2 Clift directory structure overhaul 2025-10-13 15:08:20 +02:00