Commit Graph

7175 Commits

Author SHA1 Message Date
Lauri Vasama 8e72ad8e48 Improve Clift module verification 2026-04-08 11:12:41 +03:00
Lauri Vasama 007ae24bb0 Simplify Clift expression pattern definitions 2026-04-08 11:12:41 +03:00
Lauri Vasama 03c9b2288f Simplify Clift expression op definitions 2026-04-08 11:12:41 +03:00
Lauri Vasama a37f3195d9 Homogenize static assertions in primitive-types.h 2026-04-08 11:12:41 +03:00
Lauri Vasama b062b23ad6 Include stddef.h in primitive-types.h 2026-04-08 11:12:41 +03:00
Lauri Vasama c0ca9222ce Fix Clift immediate emission 2026-04-08 11:12:41 +03:00
Lauri Vasama 90658bbbed Change default C target size of long
Currently there is only a single default target used for all C emission.
However, the emitted code is actually compiled using multiple
implementations (32-bit and 64-bit targets), some of which use a 32-bit
wide long. This causes integer literals to be emitted with wrong sizes
on those targets. This change forces all 64-bit literals to be emitted
using long long, which is 64 bits wide in all relevant implementations.
2026-04-08 11:12:41 +03:00
Lauri Vasama fae3bb5788 Remove unnecessary Clift operand type constraints 2026-04-08 11:12:41 +03:00
Lauri Vasama 71f1fa128a Remove unnecessary function type verification 2026-04-08 11:12:41 +03:00
Lauri Vasama 4e4d3bab46 Remove namespace mlir using directives 2026-04-08 11:12:41 +03:00
Lauri Vasama 00e9ed8c5d Remove unnecessary Clift unit test 2026-04-08 11:12:41 +03:00
Lauri Vasama c0b774369b Remove bad comment in CliftOpInterfaces.cpp 2026-04-08 11:12:41 +03:00
Lauri Vasama 7b25803333 Remove unused BasicStatementOp default argument 2026-04-08 11:12:41 +03:00
Lauri Vasama dda0ef6292 Remove unused Clift_AnyLabelType constraint 2026-04-08 11:12:41 +03:00
Lauri Vasama 3b731330b9 Fix getPointeeType expression rewrite helper 2026-04-08 11:12:41 +03:00
Lauri Vasama 9e71f608b7 Fix Clift AliasableType description 2026-04-08 11:12:41 +03:00
Lauri Vasama de0e59b188 Move FunctionOp arg attr verify to model verify 2026-04-08 11:12:41 +03:00
Alessandro Di Federico f75a122400 Merge branch 'feature/pypeline-integrate-ui' 2026-03-31 17:01:18 +02:00
Giacomo Vercesi 2e6193e77f test_pypeline_daemon: fix flaky SIGSEGV
Avoid triggering a flaky SIGSEGV caused by running the asyncio event
loop in a thread. Switch to using `Process` which avoids the issue
altogether.
2026-03-31 17:00:49 +02:00
Giacomo Vercesi b2293fec30 pypeline: fix Pipeline.run_analysis_list
Fix the `run_analysis_list` method as it had an incorrect way of
computing the overall list of invalidated artifacts.
2026-03-31 17:00:49 +02:00
Giacomo Vercesi a904f356a4 pypeline-daemon: clean up websocket code
Clean up the code related to the handling of websockets and allow the
daemon to be terminated gracefully without any error messages.
2026-03-31 17:00:49 +02:00
Giacomo Vercesi a886c0509f pypeline: fix savepoint_id_to_artifact 2026-03-31 17:00:49 +02:00
Giacomo Vercesi fd95c7704e pypeline: expose artifact's pipe dependencies
Add an additional piece of metadata that states which pipes are used to
compute a specific artifact. This can be used to derive which
configuration options influence the creation of an artifact.
2026-03-31 17:00:49 +02:00
Giacomo Vercesi 9b68cf4a39 pypeline-daemon: rework /artifact endpoint
Rework the artifact endpoint, making it similar to the CLI invocation.
It now works on a single artifact and can be made to return both `json`
and `tar` as formats.
2026-03-31 17:00:49 +02:00
Giacomo Vercesi 20059b5f3a pypeline: make Container.serialize selective
Change the `Container.serialize` interface so that it is possible to
supply a list of objects that will be serialized instead of all the ones
in the container.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 644b71b319 pypeline: add additional artifact PTML metadata
Add two additional fields to `Artifact`: `defined_locations` and
`preferred_artifacts`. These are pieces of metadata that allow
navigation between multiple PTML-enabled documents.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi b9051e494b pipeline: add missing cross-relations artifact 2026-03-31 17:00:48 +02:00
Giacomo Vercesi b40fec2270 Add LLMRename analysis to pypeline 2026-03-31 17:00:48 +02:00
Giacomo Vercesi 63a11d0c63 pypeline: add Analysis.is_available
Add a method to the `Analysis` interface which allows an analysis to
report if it is available for execution.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 7a152425ca pypeline: add filename to artifact
Add a meta-information field to the artifact that adds an hint of what
filename a single object of an artifact should be represented in a
filesystem.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 4c6436f7b2 pypeline: introduce artifact category
Add categories in the pipeline, allow an artifact to have a category
specified which allows it to be shown or hidden by default. Adapt the
CLI tools to hide artifacts of the category that don't
`show_by_default=True`.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 39f1a9c3a9 pypeline: drop underscores from pipeline yaml
Remove the only instance of underscores in the pipeline yaml from the
use of `analysis_lists`. Substitute it with `analysis-list`.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi fc9193a0a8 pypeline: convert pipeline parser to class
Since most functions in `pipeline_parser.py` had a lot of redundancy in
the parameters passed, convert all of them to be part of a
`PipelineParser` class which stores all the variables.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 550ac7b700 pypeline-daemon: add put-file endpoint
Add an endpoint to the daemon that allows adding a file to the file
storage.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 6dc053e55c pypeline-daemon: rework error propagation
Rework how errors are propagated from the daemon code to the HTTP
client, creating an exception hierarchy to handle the most common
cases.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 14d95a924d pypeline: rework fields in pipeline metadata
Rework which information is transmitted in the pipeline metadata,
avoiding redundancy and moving some information there instead of
returning it every time a request is made.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi a13cffab19 pypeline: rename pipeline metadata schema file
Rename the schema that describes the metadata of the pipeline from
`web_schema.yml` to `pipeline-description-schema.yml`.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi c53e615fa0 Cleanup pypeline code
Remove some cruft and apply trivial changes to the existing pypeline
code, especially on the daemon side.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 773245b893 pypeline/cli: use dataclass for ctx.obj
Add typing to the `ctx.obj` object used to store pypeline-specific data
while parsing the command-line in click.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi a746d5afc3 mass-testing-report: fix bugged formatTime
The `formatTime` function was bugged, returning invalidly formatted
strings when the second components was less than 10. Rework it to emit
proper formatting.
2026-03-31 17:00:48 +02:00
Giacomo Vercesi 36b7f39606 mkdocs: suppress warning message
Suppress the warning message generated by `mkdocs-material` in relation
to the mkdocs 2.0 upgrade.
2026-03-31 17:00:48 +02:00
Pietro Fezzardi ef63ea209f Merge branch 'feature/emit-pointer-subscript' 2026-03-31 09:45:59 +02:00
Andrea Gussoni 30a1396a64 EmitFieldAccesses: typedef pointer as array tests 2026-03-30 16:03:37 +02:00
Andrea Gussoni fab35aaa24 EmitFieldAccesses: unwrap typedef in subscript
Use a `bitcast` to unwrap a `typedef` passed as `Pointer` operand to a
`subscript`, which requires it to be a raw `PointerType`.
2026-03-30 16:03:37 +02:00
Andrea Gussoni 4c27971ed8 EmitFieldAccesses: pointer as array tests 2026-03-30 16:03:37 +02:00
Andrea Gussoni 82945de055 EmitFieldAccesses: support pointer as array
Introduce the support to decouple the `BaseType` from `BasePointer`
pointee type.

This enable us to wrap pointee typees into an implicit array. This
enables pointer arithmetic rewriting of `*(p + i)` as `p[i]`.
2026-03-30 16:03:37 +02:00
Pietro Fezzardi 394e81001e Merge branch 'feature/clift-headers-hotfixes' 2026-03-27 14:55:31 +01:00
Ivan Krysak 1b689079d1 Clifter: enforce lambda captures 2026-03-27 14:11:04 +01:00
Lauri Vasama 9d58a4ab9d Clifter: make a warning louder and expand it 2026-03-27 14:10:17 +01:00
Ivan Krysak c354642902 Clifter: fix a newly introduced bug
This fixes the invalidation problem introduced by reading attributes
in the scope whose execution order depends on the function processing
order.
2026-03-27 12:27:26 +00:00