Commit Graph

15 Commits

Author SHA1 Message Date
Chris Lattner dfac4c84db Have the module printing logic consider whether the generated name is
correct.  If not, generate a firrtl.name attribute explicitly to ensure
we round-trip correctly.

This depends on this unlanded MLIR patch: https://reviews.llvm.org/D76205
2020-03-15 18:52:26 -07:00
Chris Lattner 233e04e710 Improve the README to include some contributor notes, clang-format
the codebase.
2020-03-15 17:59:29 -07:00
Chris Lattner c056bf088e Updates to work with MLIR ToT. 2020-03-12 22:57:37 -07:00
Chris Lattner 613ac5eb6c Do not print the firrtl.name attribute on parameters if we've managed
to merge it into the argument list.
2020-03-09 09:20:34 -07:00
Chris Lattner a906b944bf Implement the OpAsmDialectInterface interface for FIRRTL, enabling us to
use the attribute names as the SSA names for things in dumps.
2020-03-08 18:28:46 -07:00
Chris Lattner f7c63a5253 Convert module to being an an op that is FunctionLike, IsolatedFromAbove, Symbol.
This adds the ability to model inputs and outputs.  The parsing side is nice,
but the printing side still needs to use the symbolic argument names.
2020-03-08 12:44:23 -07:00
Chris Lattner 395b7bee7a Add a firrtl.connect op definition. 2020-03-07 23:14:19 -08:00
Chris Lattner ef84a84a6f Introduce a firrtl.invalid operation and give firrtl.add nicer syntax. 2020-03-07 23:10:55 -08:00
Chris Lattner 6dfa2793f0 Give circuit and module custom syntax, making them much nicer to read and write. 2020-03-07 19:51:52 -08:00
Chris Lattner 288b0c10c7 Introduce op definitions for module, circuit and a 'done' terminator. Add
testcases to show things it catches.
2020-03-07 19:27:37 -08:00
Chris Lattner 24c3b33447 Create the sketch of a FIRRTL dialect, with a single type (firrtl.uint) and a
single registered operations (firrtl.add).  Add a testcase showing that these
are now being properly checked.
2020-03-07 15:47:08 -08:00
Chris Lattner 71b7e2cb93 Add a sketch of a direct translation of a couple of examples of firrtl-in-mlir. 2020-03-06 17:27:04 -08:00
Chris Lattner 7783a53c8e Push the cmake files far enough along to make spt-opt be able to link in
MLIR libraries, parsing and printing the output, running passes, etc.
2020-03-06 16:42:00 -08:00
Chris Lattner 64cec97240 Introduce a CMakefile scaffolding to build and test an executable.
This also updates the README to include some building information.

Lots of caveats:
 - This is all experimental
 - The actual tool isn't interesting yet.
 - The naming is arbitrary and will likely change.
 - Much of the cmake files were cargo culted from other places
   because I don't know what I'm doing.
2020-03-05 15:16:55 -08:00
Chris Lattner 2d02904135
Initial commit 2020-03-04 20:57:43 -08:00