circt
circt copied to clipboard
Circuit IR Compilers and Tools
Comb [canonicalizes](https://github.com/llvm/circt/blob/ccdef1740c35216048a567081033f91cbc3a7ef8/lib/Dialect/Comb/CombFolds.cpp#L657-L658) `extract(lowBit, 1 x == lowBit` but it could introduce a lot of comparisons which might be better not to apply: ```scala //> using scala "2.13.10" //> using lib...
In `SV/canonicalization.mlir` there is a test that inverting if-statement when the condition has a bing flag but the value inverted value doesn't have a bin flag. ``` // CHECK-LABEL: func...
I noticed that “A reference target must be a wire, node, reg, or module” in [docs](https://circt.llvm.org/docs/Dialects/FIRRTL/FIRRTLAnnotations/#annotations). And in the code it says "Currently ports are not supported". https://github.com/llvm/circt/blob/7c59a2ef4324576db7d2b8ff6d24823f7562776f/lib/Dialect/FIRRTL/Transforms/LowerAnnotations.cpp#L323-L325 Is there...
I bumped into a problem using the new setters for HWModuleOp port attributes. Using the `setPortAttrs(size_t idx, DictionaryAttr attr)` method on a previously empty attribute array can insert a (non-empty)...
First failure: https://github.com/llvm/circt/actions/runs/7143564112/job/19455325008 ``` FAIL: CIRCT :: Dialect/FIRRTL/SFCTests/mem-taps-reg.fir (331 of 678) ******************** TEST 'CIRCT :: Dialect/FIRRTL/SFCTests/mem-taps-reg.fir' FAILED ******************** Exit Code: 2 Command Output (stdout): -- # RUN: at line 1...
In https://github.com/llvm/circt/pull/6582, initial support for classes and objects was added in Dedup. However, the way we use DistinctAttr with paths is not compatible with Dedup, almost by definition. Two paths,...
@mikeurbach I know we've discussed this in the past, but I've lost a bit of context. What is the latest on having a python wheel release for macOS apple silicon?...
Add iterators for walking connections in FIRRTL. This adds two levels of iterators: 1. A ConnectionIterator which wraps an inner iterator (2) 2. One of several types of iterators specialized...
This reduces multi-muxes with certain patterns of redundancy. This is a very abbreviated version of prime-implicant style coverings. This can change the output value for an out-of-bounds index,
``` $ firtool --version LLVM (http://llvm.org/): LLVM version 18.0.0git Optimized build. CIRCT firtool-1.60.0 ``` untar [firtool-crash.tar.gz](https://github.com/llvm/circt/files/13859206/firtool-crash.tar.gz) Run: ``` firtool --format=fir --export-module-hierarchy --verify-each=true --warn-on-unprocessed-annotations --disable-annotation-classless --disable-annotation-unknown --mlir-timing --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket,disallowPackedArrays,omitVersionComment --repl-seq-mem-file=megaboom/mems.conf --annotation-file=anno.json --strip-debug-info...