return RewriteResponse(REWRITE_AGAIN_FULL, resultNode);
}
- // if (RewriteRule<ExtractSignExtend>::applies(node)) {
- // resultNode = RewriteRule<ExtractSignExtend>::run<false>(node);
- // return RewriteResponse(REWRITE_AGAIN_FULL, resultNode);
- // }
+ if (RewriteRule<ExtractSignExtend>::applies(node)) {
+ resultNode = RewriteRule<ExtractSignExtend>::run<false>(node);
+ return RewriteResponse(REWRITE_AGAIN_FULL, resultNode);
+ }
if (RewriteRule<ExtractBitwise>::applies(node)) {
resultNode = RewriteRule<ExtractBitwise>::run<false>(node);
resultNode = LinearRewriteStrategy
< RewriteRule<FlattenAssocCommut>,
- RewriteRule<AndSimplify>//,
- // RewriteRule<BitwiseSlicing>
+ RewriteRule<AndSimplify>,
+ RewriteRule<BitwiseSlicing>
>::apply(node);
if (resultNode.getKind() != node.getKind()) {
resultNode = LinearRewriteStrategy
< RewriteRule<FlattenAssocCommut>,
- RewriteRule<OrSimplify>//,
- // RewriteRule<BitwiseSlicing>
+ RewriteRule<OrSimplify>,
+ RewriteRule<BitwiseSlicing>
>::apply(node);
if (resultNode.getKind() != node.getKind()) {
resultNode = LinearRewriteStrategy
< RewriteRule<FlattenAssocCommut>, // flatten the expression
RewriteRule<XorSimplify>, // simplify duplicates and constants
- RewriteRule<XorZero>//, // checks if the constant part is zero and eliminates it
- // RewriteRule<BitwiseSlicing>
+ RewriteRule<XorZero>, // checks if the constant part is zero and eliminates it
+ RewriteRule<BitwiseSlicing>
>::apply(node);
// this simplification introduces new terms and might require further