fortrangoingonforty/armfortas / 770d8fb

Browse files

Wire VSqrt through CSE/GVN/dead-arg/unroll/loop-utils opt-out lists

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
770d8fb7eb75ee57eab5e78d721b8f90fd160ca0
Parents
8f3adfb
Tree
09491b2

5 changed files

StatusFile+-
M src/opt/cse.rs 1 0
M src/opt/dead_arg.rs 1 0
M src/opt/gvn.rs 1 0
M src/opt/loop_utils.rs 1 0
M src/opt/unroll.rs 1 0
src/opt/cse.rsmodified
@@ -215,6 +215,7 @@ fn key_of(inst: &Inst) -> Option<Key> {
215215
         | InstKind::VDiv(..)
216216
         | InstKind::VNeg(..)
217217
         | InstKind::VAbs(..)
218
+        | InstKind::VSqrt(..)
218219
         | InstKind::VFma(..)
219220
         | InstKind::VMin(..)
220221
         | InstKind::VMax(..)
src/opt/dead_arg.rsmodified
@@ -201,6 +201,7 @@ fn inst_uses_param(kind: &InstKind, param_id: ValueId) -> bool {
201201
         | InstKind::VDiv(..)
202202
         | InstKind::VNeg(..)
203203
         | InstKind::VAbs(..)
204
+        | InstKind::VSqrt(..)
204205
         | InstKind::VFma(..)
205206
         | InstKind::VMin(..)
206207
         | InstKind::VMax(..)
src/opt/gvn.rsmodified
@@ -554,6 +554,7 @@ fn key_of(
554554
         | InstKind::VDiv(..)
555555
         | InstKind::VNeg(..)
556556
         | InstKind::VAbs(..)
557
+        | InstKind::VSqrt(..)
557558
         | InstKind::VFma(..)
558559
         | InstKind::VMin(..)
559560
         | InstKind::VMax(..)
src/opt/loop_utils.rsmodified
@@ -322,6 +322,7 @@ pub fn remap_inst_kind(kind: &InstKind, map: &HashMap<ValueId, ValueId>) -> Inst
322322
         InstKind::VDiv(a, b) => InstKind::VDiv(r(a), r(b)),
323323
         InstKind::VNeg(a) => InstKind::VNeg(r(a)),
324324
         InstKind::VAbs(a) => InstKind::VAbs(r(a)),
325
+        InstKind::VSqrt(a) => InstKind::VSqrt(r(a)),
325326
         InstKind::VFma(a, b, c) => InstKind::VFma(r(a), r(b), r(c)),
326327
         InstKind::VMin(a, b) => InstKind::VMin(r(a), r(b)),
327328
         InstKind::VMax(a, b) => InstKind::VMax(r(a), r(b)),
src/opt/unroll.rsmodified
@@ -1026,6 +1026,7 @@ fn remap_kind(kind: &InstKind, subst: &HashMap<ValueId, ValueId>) -> InstKind {
10261026
         InstKind::VDiv(a, b) => InstKind::VDiv(r(a), r(b)),
10271027
         InstKind::VNeg(a) => InstKind::VNeg(r(a)),
10281028
         InstKind::VAbs(a) => InstKind::VAbs(r(a)),
1029
+        InstKind::VSqrt(a) => InstKind::VSqrt(r(a)),
10291030
         InstKind::VFma(a, b, c) => InstKind::VFma(r(a), r(b), r(c)),
10301031
         InstKind::VMin(a, b) => InstKind::VMin(r(a), r(b)),
10311032
         InstKind::VMax(a, b) => InstKind::VMax(r(a), r(b)),