[PATCH] Fix WinEHPrepare bug with multiple catch handlers

Reid Kleckner rnk at google.com
Tue Mar 31 16:11:44 PDT 2015


(Setting the "accept revision" phab bit this time...)

One other thing worth thinking about is remapping phis of EH values in situations like this:

  void might_throw();
  void f() {
    try {
      try { might_throw(); } catch (int) { }
      try { might_throw(); } catch (int) { }
    } catch (int) {
    }
  }

In this situation, there should be two landingpads, and the outermost EH dispatch block will use a phi of the two lpad selector values.

We can handle this later by recursively adding phis of selector values to ExtractedSelectors.


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D8682

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list