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

Javed Absar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 30 11:01:45 PDT 2017


javed.absar added a comment.

Hi Eugene:
Thanks for the work. However, in its current form the implementation is bit hard to follow. Would it be possible to, describe -

1. Your overall approach in the implementation

2.. Describe above the function what it is trying to do (e.g. checkedGetIncrement - which b.t.w looks non-intuitive name).

You do have comments everywhere but it is hard to follow the string of thought in its current form.



================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:10996
 
+static bool isUpdatingVLDorVST(SDNode *Inst) {
+  switch(Inst->getOpcode()) {
----------------
But you are checking only VLD1/VST1, so you may want to change function name appropriately. VLD1OrVST1
...................................^^         ^


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:11006
+
+static ConstantSDNode *tryGetConstOperand(SDNode *Inst, unsigned NOp) {
+   return dyn_cast<ConstantSDNode>(Inst->getOperand(NOp).getNode());
----------------
Seems unnecessary as single use


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:11065
+  while (true) {
+    for (SDNode::use_iterator UI = Addr.getNode()->use_begin(),
+           UE = Addr.getNode()->use_end(); UI != UE; ++UI) {
----------------
nitpick. Better to use range loop


Repository:
  rL LLVM

https://reviews.llvm.org/D39415





More information about the llvm-commits mailing list