Commit Graph

325 Commits

Author SHA1 Message Date
Chris Lattner 109bb2499c [EmitVerilg] Emit locator comments. 2020-04-30 12:05:57 -07:00
Chris Lattner c216617817 Move the remaining references of SPT to CIRT. NFC. 2020-04-29 11:57:17 -07:00
Chris Lattner b50c43470b remove some files that got moved. 2020-04-29 11:47:18 -07:00
Chris Lattner 66e9c9ca25 rename spt-opt and spt-translate to cirt-* 2020-04-29 11:45:54 -07:00
Chris Lattner 7ff6ffdf2f Rename include/spt -> include/cirt, NFC. 2020-04-29 11:34:22 -07:00
Chris Lattner 9d11c786d4 start the rename of SPT -> CIRT, suggest by Aliaksei. This updates
the readme and namespace.  NFC.
2020-04-29 11:30:16 -07:00
Chris Lattner 3a0aac339b [firtool] Wire a couple optimizations (cse and canonicalize for now) into
firtool by default to clean up the IR.
2020-04-24 10:51:56 -07:00
Chris Lattner 126b62a5cc Give the FIR parser an options struct to configure it. Change firtool
to default to ignoring @info locations for now.  I don't need firtool to
report errors pointing at Scala files right now, I need it pointing to
the .fir files.  The default can be switched back as things mature.
2020-04-22 09:44:36 -07:00
Chris Lattner 56bd282978 [EmitVerilog] emit wire declarations for intermediate values
used by expressions and node declarations.  Also add a newline
between ports and wire decls and the body for clarity.
2020-04-21 22:55:25 -07:00
Chris Lattner 0f98ce99de Introduce a new 'firtool' command with a simplified user interface. 2020-04-21 14:38:09 -07:00
Chris Lattner b179ab36e0 Eliminate the IR subdirectory of include/spt/Dialect/FIRRTL, flattening its
contents into the parent directory.  NFC.
2020-04-17 09:53:48 -07:00
Chris Lattner d65f385d06 Link the CSE pass into spt-opt, it deletes one half of the lines in the "low"
output I'm looking at, going from 1.2M lines of IR to 630K, largely by
eliminating duplicate constants.
2020-04-15 11:38:40 -07:00
Chris Lattner 0d441cee3f Stub out circuit/module walking and some other boring infra. 2020-04-14 21:27:20 -07:00
Chris Lattner 628be893e0 Rename FIRToMLIR.h -> FIRParser.h, remove some dead state from FIRParser.cpp, NFC. 2020-04-14 21:01:42 -07:00
Chris Lattner aa1deb3371 Stub out a (currently useless) verilog emitter. 2020-04-14 20:58:01 -07:00
Chris Lattner cfba8c2d08 fix a .mlir parser ambiguity with firrtl.printf, enable the
canonicalization pass in spt-opt.

Right now it seems to be doing trivial dead code elimination of
unused primitive and node operations.
2020-04-13 16:48:20 -07:00
Chris Lattner 66d332fe35 Move the FIRParser out of the FIRRTL dialect directory, NFC. 2020-04-13 09:57:28 -07:00
Chris Lattner 4864e0ec74 Update to latest MLIR. 2020-04-12 10:58:47 -07:00
Chris Lattner 92e910b574 update for mainline MLIR changes. 2020-04-06 13:49:50 -07:00
Chris Lattner 08372cba3e Update to ToT MLIR. 2020-04-01 11:50:06 -07:00
Chris Lattner 2fe028d811 Implement the build and integeration outline of an spt-translate tool,
and stub out a .fir parser (which doesn't do anything yet) that is driven
from it.
2020-03-16 15:14:56 -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 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 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