[PATCH] D15139: [IR] Reformulate LLVM's EH funclet IR

Andy Kaylor via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 2 17:59:22 PST 2015


andrew.w.kaylor added inline comments.

================
Comment at: include/llvm/IR/Instructions.h:3861
@@ +3860,3 @@
+  void setUnwindDest(BasicBlock *UnwindCase) {
+    assert(hasUnwindDest());
+    setOperand(1, UnwindCase);
----------------
Should you also assert(UnwindCase)?

================
Comment at: include/llvm/IR/Instructions.h:3889
@@ +3888,3 @@
+  /// Returns a read/write iterator that points one past the last
+  /// in the CatchSwitchInst.
+  op_iterator handler_end() { return op_end(); }
----------------
The word 'handler' seems to be missing here and below.

================
Comment at: include/llvm/IR/Instructions.h:4142
@@ +4141,3 @@
+public:
+  static CatchPadInst *Create(Value *OuterScope, ArrayRef<Value *> Args,
+                              const Twine &NameStr = "",
----------------
Is OuterScope here really the outer scope or is it the CatchSwitch statement?

This feels like a glitch in the inheritance hierarchy.  This argument has different significance for CleanupPadInst than it does here, right?


http://reviews.llvm.org/D15139





More information about the llvm-commits mailing list