<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/98064>98064</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            UnrollMaxUpperBound is unused.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          hiraditya
      </td>
    </tr>
</table>

<pre>
    ```cpp
#include<cstring>
#include<wctype.h>

enum {
  WC_TYPE_INVALID = 0,
  WC_TYPE_ALNUM,
  WC_TYPE_ALPHA,
 WC_TYPE_BLANK,
  WC_TYPE_CNTRL,
  WC_TYPE_DIGIT,
 WC_TYPE_GRAPH,
  WC_TYPE_LOWER,
  WC_TYPE_PRINT,
 WC_TYPE_PUNCT,
  WC_TYPE_SPACE,
  WC_TYPE_UPPER,
 WC_TYPE_XDIGIT,
  WC_TYPE_MAX
};

wctype_t wctype(const char* property) {
  static const char* const  properties[WC_TYPE_MAX] = {
 "<invalid>",
    "alnum", "alpha", "blank", "cntrl", "digit", "graph",
    "lower", "print", "punct", "space", "upper", "xdigit"
  };
  for (size_t i = 0; i < WC_TYPE_MAX; ++i) {
    if (!strcmp(properties[i], property)) {
      return static_cast<wctype_t>(i);
    }
  }
  return static_cast<wctype_t>(0);
}
```

`$ clang -O2 -mllvm -unroll-max-upperbound=2` unrolls the loop completely.

https://godbolt.org/z/KcaExhThq
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVN-TojgQ_mual5QWBlB84AFEd611XGtOb_eerBAykrsQckmYGfevvwIcYVwersrSfP3j687XbYgx_CIZiyBIIEgdUtui0lHBNcm5vRInq_JrBHO3-1ClwE3BjQF7XFJR5wy8FTVWc3kBbz3ifKP2qti06L3tN5N1iWCRdAihH6vz8a_D-rzd_xnvtikCL0Uu4NWjP97tT0-j9sPXuLd_mJNdvP82Er7aH593I_Z0-2V7_J3my3N8-DoSvvv-Y_08Yj88b_cjNIfTfnUcCf_jEK_WI_bT4TCk_zD_fOjy7niKf940XqTgJUO9uzGcLeoOgENaSWMRLYgGHCOlK8W0vQJeDsdiLLGcos-xHfpI4cxAkAxbCLrx9TSAMXgrLl-J4HmzCBgPukeNnwhZl529g6ogPcwEkf_0kEqrRQ9zfuG2hxdNVDFSQlRvTPdhSnM5yFK1pANoFKGsh7VSw9z3e8lbgaHgCL1UGgEODf_VKM5vy-wl7XH1aVxeggAngBP-oDxC_KUhATwzVtNSAQ4_Kc4hSJt2BpP7jQIhzWyt5W2OZ0qMvf8nz7YdRdhUHjTfXWZwr9vxfzC5Q6Z76v31GO5jA7GPqCDygibfMZqUQryWaFJLXQkxKcn7pBU9q2qZg5dimLuocxpkC4ZEVSlEq1IJZpm4TofshbXKgBcD3gDeXKo8q4SdVvoCePML8OYbJev34lj86-SRly-9JXFYNFtg15_7C3_uFBGZ5QHLAjojzJtnOKT5MgyJu6A-Ze7iJXB4hF3suws3nIUBxvNpGOTU9XGYe0sS-AsPfJeVhItpc6-mtsONqVm0DN257wiSMWHaZxdjyd5Q62w2KkgdHTU5k6y-GPBdwY01PYvlVrDo1CrxRN5PjUhJIxLiBtWyNiyfOrUW0YMI3BZ1NqVVCXjTkN1-JkpXf7Nm9TdtCwbwpmvxNcL_BQAA__9ly7q3">