1- // ===- MooreToCore.cpp - Moore To Core Conversion Pass --------------------===//
1+ // ===-------------------------------------------------- --------------------===//
22//
33// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
44// See https://llvm.org/LICENSE.txt for license information.
55// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
66//
77// ===----------------------------------------------------------------------===//
8- //
9- // This is the main Moore to Core Conversion Pass Implementation.
10- //
11- // ===----------------------------------------------------------------------===//
128
139#include " circt/Conversion/MooreToCore.h"
1410#include " circt/Dialect/Comb/CombOps.h"
@@ -1821,17 +1817,31 @@ static void populateOpConversion(RewritePatternSet &patterns,
18211817 SExtOpConversion,
18221818
18231819 // Patterns of miscellaneous operations.
1824- ConstantOpConv, ConcatOpConversion, ReplicateOpConversion,
1820+ ConstantOpConv,
1821+ ConcatOpConversion,
1822+ ReplicateOpConversion,
18251823 ConstantTimeOpConv,
1826- ExtractOpConversion, DynExtractOpConversion, DynExtractRefOpConversion,
1824+ ExtractOpConversion,
1825+ DynExtractOpConversion,
1826+ DynExtractRefOpConversion,
18271827 ReadOpConversion,
1828- StructExtractOpConversion, StructExtractRefOpConversion,
1829- ExtractRefOpConversion, StructCreateOpConversion, ConditionalOpConversion, ArrayCreateOpConversion,
1830- YieldOpConversion, OutputOpConversion, StringConstantOpConv,
1828+ StructExtractOpConversion,
1829+ StructExtractRefOpConversion,
1830+ ExtractRefOpConversion,
1831+ StructCreateOpConversion,
1832+ ConditionalOpConversion,
1833+ ArrayCreateOpConversion,
1834+ YieldOpConversion,
1835+ OutputOpConversion,
1836+ StringConstantOpConv,
18311837
18321838 // Patterns of unary operations.
1833- ReduceAndOpConversion, ReduceOrOpConversion, ReduceXorOpConversion,
1834- BoolCastOpConversion, NotOpConversion, NegOpConversion,
1839+ ReduceAndOpConversion,
1840+ ReduceOrOpConversion,
1841+ ReduceXorOpConversion,
1842+ BoolCastOpConversion,
1843+ NotOpConversion,
1844+ NegOpConversion,
18351845
18361846 // Patterns of binary operations.
18371847 BinaryOpConversion<AddOp, comb::AddOp>,
@@ -1874,7 +1884,9 @@ static void populateOpConversion(RewritePatternSet &patterns,
18741884 WaitDelayOpConversion,
18751885
18761886 // Patterns of shifting operations.
1877- ShrOpConversion, ShlOpConversion, AShrOpConversion,
1887+ ShrOpConversion,
1888+ ShlOpConversion,
1889+ AShrOpConversion,
18781890
18791891 // Patterns of assignment operations.
18801892 AssignOpConversion<ContinuousAssignOp, 0 , 1 >,
@@ -1883,11 +1895,14 @@ static void populateOpConversion(RewritePatternSet &patterns,
18831895 AssignedVariableOpConversion,
18841896
18851897 // Patterns of branch operations.
1886- CondBranchOpConversion, BranchOpConversion,
1898+ CondBranchOpConversion,
1899+ BranchOpConversion,
18871900
18881901 // Patterns of other operations outside Moore dialect.
1889- HWInstanceOpConversion, ReturnOpConversion,
1890- CallOpConversion, UnrealizedConversionCastConversion,
1902+ HWInstanceOpConversion,
1903+ ReturnOpConversion,
1904+ CallOpConversion,
1905+ UnrealizedConversionCastConversion,
18911906 InPlaceOpConversion<debug::ArrayOp>,
18921907 InPlaceOpConversion<debug::StructOp>,
18931908 InPlaceOpConversion<debug::VariableOp>,
0 commit comments