[PATCH] D116854: bpf: Report an error properly for unsupported opcodes in lowering operations

Yichun Zhang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 7 22:08:26 PST 2022


agentzh created this revision.
agentzh added reviewers: ZarkoCA, yonghong-song, alessandrod, kula, kula85, ychen, jrfastab, gchatelet, dsanders, JiongWang, jiwang, chandlerc.
agentzh added a project: LLVM.
Herald added a subscriber: hiraditya.
agentzh requested review of this revision.
Herald added a subscriber: llvm-commits.

Without this patch, it leads to process crashes when unsupported gcc builtins are used, for example.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D116854

Files:
  llvm/lib/Target/BPF/BPFISelLowering.cpp


Index: llvm/lib/Target/BPF/BPFISelLowering.cpp
===================================================================
--- llvm/lib/Target/BPF/BPFISelLowering.cpp
+++ llvm/lib/Target/BPF/BPFISelLowering.cpp
@@ -279,7 +279,8 @@
 }

 SDValue BPFTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
-  switch (Op.getOpcode()) {
+  uint32_t Opcode = Op.getOpcode();
+  switch (Opcode) {
   case ISD::BR_CC:
     return LowerBR_CC(Op, DAG);
   case ISD::GlobalAddress:
@@ -289,7 +290,7 @@
   case ISD::DYNAMIC_STACKALLOC:
     report_fatal_error("Unsupported dynamic stack allocation");
   default:
-    llvm_unreachable("unimplemented operand");
+    report_fatal_error("Unimplemented lowering operation opcode %u", Opcode);
   }
 }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116854.398306.patch
Type: text/x-patch
Size: 744 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220108/6c39b22e/attachment.bin>


More information about the llvm-commits mailing list