[PATCH] D39415: [ARMISelLowering] Better handling of NEON load/store for sequential memory regions

Eugene Leviant via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 30 07:10:58 PDT 2017


evgeny777 added inline comments.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:11064
+
+  while (true) {
+    for (SDNode::use_iterator UI = Addr.getNode()->use_begin(),
----------------
rengolin wrote:
> I'm worried about this... there should be a guaranteed exit condition here.
What about reducing number of iterations to, let's say, 16? This should be more than enough for most of cases. Also the effect of compilation time increase should become limited.


================
Comment at: test/CodeGen/ARM/misched-fusion-aes.ll:79
 ; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QC]]
+; CHECK: aese.8 {{q[0-9][0-9]?}}, {{q[0-9][0-9]?}}
 ; CHECK: aese.8 [[QD:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
----------------
rengolin wrote:
> why would these change?
IR is compiled into a mixture of aesXX and vldXX instructions which are being scheduled differently after this patch is applied. I checked manually that parameters passed to each aesXX instruction are identical (though I can't guarantee that I didn't make any mistake, of course :)


Repository:
  rL LLVM

https://reviews.llvm.org/D39415





More information about the llvm-commits mailing list