[PATCH] D64616: [ARM][LowOverheadLoops] Fix branch target codegen

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 23 06:42:34 PDT 2019


samparker marked 3 inline comments as done.
samparker added inline comments.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:13105
+  } else {
+    CC = cast<CondCodeSDNode>(N->getOperand(1))->get();
+    Cond = N->getOperand(2);
----------------
SjoerdMeijer wrote:
> perhaps an assert we're expecting a BR_CC here?
sure.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:13139
+
+  assert((IsTrueIfZero(CC, Imm) || IsFalseIfZero(CC, Imm)) &&
+         "unsupported condition");
----------------
SjoerdMeijer wrote:
> I was wondering if we can return here; not sure though if that is better/more robust.
At this point we know we have a loop intrinsic that we need to handle it.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:13172
+    } else
+      llvm_unreachable("unhandled condition");
+    DAG.ReplaceAllUsesOfValueWith(Int.getValue(1), Int.getOperand(0));
----------------
SjoerdMeijer wrote:
> but in that case we don't need this unreachable.
good point.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64616/new/

https://reviews.llvm.org/D64616





More information about the llvm-commits mailing list