Skip to content

Commit 6a4a61c

Browse files
authored
Merge pull request #467 from OpenVADL/bugfix/canonalize-unary-nodes
viam: Canonalized sext + sext or zext + zext
2 parents c8771bf + e7c6d82 commit 6a4a61c

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

vadl/main/vadl/viam/graph/dependency/SignExtendNode.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,12 @@ public Node canonical() {
8484
return value;
8585
}
8686

87+
// sext (sext X) -> sext X
88+
if (value instanceof SignExtendNode subNode) {
89+
replaceInput(value, subNode.value);
90+
subNode.safeDelete();
91+
}
92+
8793
return this;
8894
}
8995
}

vadl/main/vadl/viam/graph/dependency/ZeroExtendNode.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,12 @@ public Node canonical() {
8484
return value;
8585
}
8686

87+
// zext (zext X) -> zext X
88+
if (value instanceof ZeroExtendNode subNode) {
89+
replaceInput(value, subNode.value);
90+
subNode.safeDelete();
91+
}
92+
8793
return this;
8894
}
8995
}

vadl/main/vadl/viam/passes/functionInliner/FunctionInlinerPass.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,4 @@ private UninlinedGraph handleMainBehavior(DefProp.WithBehavior def) {
8282
Inliner.inlineFuncs(behavior);
8383
return new UninlinedGraph(copy, def.asDefinition());
8484
}
85-
86-
8785
}

vadl/test/resources/snapshots/aarch64/InstrInfoTableGen.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51245,7 +51245,7 @@ def : Pat<(add X:$ra, (mul X:$rn, X:$rm)),
5124551245
(MADDX X:$ra, X:$rn, X:$rm)>;
5124651246

5124751247

51248-
def : Pat<(zext (zext AArch64Base_MOVZWPos00_imm16AsInt16:$imm16)),
51248+
def : Pat<(zext AArch64Base_MOVZWPos00_imm16AsInt16:$imm16),
5124951249
(MOVZWPos00 AArch64Base_MOVZWPos00_imm16AsInt16:$imm16)>;
5125051250

5125151251

0 commit comments

Comments
 (0)