[PATCH] D52335: AArch64FastISel: Abort intrinsic selection if the left operand didn't select

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 20 18:30:13 PDT 2018


MatzeB created this revision.
MatzeB added reviewers: t.p.northover, ab, aemerson.
Herald added subscribers: kristof.beyls, mcrosier.
Herald added a reviewer: javed.absar.

Unfortunately I cannot produce a testcase for this as I would need an llvm constant expression that would fail to select via fast-isel. So far all my attempts at forcing this situation failed.

rdar://44642447


Repository:
  rL LLVM

https://reviews.llvm.org/D52335

Files:
  lib/Target/AArch64/AArch64FastISel.cpp


Index: lib/Target/AArch64/AArch64FastISel.cpp
===================================================================
--- lib/Target/AArch64/AArch64FastISel.cpp
+++ lib/Target/AArch64/AArch64FastISel.cpp
@@ -3742,6 +3742,9 @@
               TII.get(TargetOpcode::COPY), ResultReg1).addReg(MulReg);
     }
 
+    if (!ResultReg1)
+      return false;
+
     ResultReg2 = fastEmitInst_rri(AArch64::CSINCWr, &AArch64::GPR32RegClass,
                                   AArch64::WZR, /*IsKill=*/true, AArch64::WZR,
                                   /*IsKill=*/true, getInvertedCondCode(CC));


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52335.166393.patch
Type: text/x-patch
Size: 584 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180921/cfc56628/attachment.bin>


More information about the llvm-commits mailing list