[PATCH] D131672: [opt] Optimise for zero initialisation of product given finite math in Clang
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 11 10:00:12 PDT 2022
fhahn added reviewers: spatel, lebedev.ri, RKSimon.
fhahn added inline comments.
================
Comment at: llvm/test/Transforms/InstCombine/remove-loop-phi-fastmul.ll:10
+; CHECK-NEXT: [[PHI_2:%.*]] = phi i64 [ 0, [[ENTRY_2:%.*]] ], [ [[INC_1:%.*]] [[LOOPBODY_2:%.*]] ]
+for.cond:
+ %f_prod.0 = phi double [0.000000e+00, %entry], [%mul, %for.body]
----------------
It would be good to split off the test changes to a separate patch that just adds the tests.
================
Comment at: llvm/test/Transforms/InstCombine/remove-loop-phi-fastmul.ll:20
+for.body:
+ %arrayidx = getelementptr inbounds [1000 x double], ptr %arr_d, i64 0, i64 %i.0
+ %0 = load double, ptr %arrayidx, align 8
----------------
Would be good to use 'rotated' version of the loop to keep things simpler.
================
Comment at: llvm/test/Transforms/InstCombine/remove-loop-phi-fastmul.ll:37
+for.cond:
+ %f_prod.0 = phi double [0.000000e+00, %entry], [%mul, %for.body]
+ %i.0 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
----------------
We should also have tests where all the incoming values are instructions or arguments. We also need some tests with phis with more than 2 incoming values.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D131672/new/
https://reviews.llvm.org/D131672
More information about the llvm-commits
mailing list