<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztWMmO4zYQ_Rr1hZAhUZYtH3zoBQPkMAiQnJKLQYklm9MUKZBUL_P1KVKULfe4e5ZMJznEMGxKfKwqkq8el1rz5-2tYfYAljwKdyDJKkuhEy6V8qHDh4TeEq6xVml3AUFSLiyrJYSntGfWgkXEIsnukux6_L3VXS8kGNJ4T6TFsk2Ka3JwrveFhH7A715Yt9ijh6FeNLrDN5_AWtGwAxYB8rItmiWnrKU1BVhXZVkuVyUsN-usqObuboZ9r4Vy5MPkKClv6vhy8Vn0SXmX0Oql95nj0PfxL-2N_gSNw8cxbvqhQn8lrbB0ZpRu5kH8asReKCaJ1YNp4FJ3Zw4PTNwPs_9a6hr_WMU3qxIL1jT-99k68PB7MAqkxwPrF03fzz3_BnxogBMH1pGGWe871uN0jt_xkRYcWqGAMBwO9Lchux1zzoh6cLDbJb6PFZNSNzsmxV5FVPwGGw9acNIE5CYpbmYvE3rN8b3Uau8texe5LyTriCL4mZCMJMUd8fhsbshDREt8FEePJH5eOk3Wd5d7GX6FtQMs6ubVsShuyEfNBwm_3IVYEroe2_jRpesRNc7lzhNBsQ4ikM6AdAQ6ZvbgCGeOSfasBzdBIe0wBEh7us6wUNDw4x_z80dfWi3DTyqmQlv5RjmtUlX5wmpqg3W_5348zv3jVPbyGOZTtdohcFD3Sj-qNHKNzofJD8OHQTVOaEWukQohfZQ2wD9rJIrSg3oUihM1SLkL3AezE3b3gAThpBusw3zZG0zc0WAkGLd6hzTCdBAYJCbkMtv9mXOkcIWdw-DKLHCDFtmcIPiehugDCRnxA4F6FMhIqhmqOEN5Fxdw1mE_yMnf7WjvOri5bHcZ7NbCYR65yfD16NHp-CLCsXcyEnqZeelYSNGCEx0sLM6HW_SZx4cOV8F7FW0tY9-XM89l8BxsXhyyabzK192jFg8deHyOTBggtChvPBViOlNfOUVRxhGJpsu7F-N2jpsPxeWxW4UeSM34aUa-odk6NBNN1xM187ryaM-6CVobgv3yDXyNZDVI_1SdPZ1Jsk8Z8p0fnxA9st_GJCrzi-ONM9M8jIJ0NikY5OVYNj8jltDXU0zvscot317lCBmUAdYc_BbgpQ6_oSgoTx10WslnlJTWgFcW-6yak8A8CikNuMGoSUgayZCG35hgouvQxynLFApDj9YgzlD-Lar344HNU8-3RBmMjr9Pbi-p7Lnbk7K-wsVi7vC4utuotZ5I65sfU3gvJNPuzzEhU58S1qtKgcyjLZO496DUw1qDy2UarR0RCI_1SDmLHIRGWEjbvmP8oplOqFTCnsn0AcmqTfoouDscoVmEKZ3Wg5BOKHt6I1Rr0XTasVmLuXHEfBq6HrtShwy4DFFMfdWMRU0Dnn4Go7-KdYb1vVD7c9Ao1wGD1G7ufX66scv10LZg0MdnOMKriB2X_bTph2MVLvqpX-Xm9S0wnwqnPib0pnnyaoKF9smasdR1T2PB-oBjgY6lp2o92RwUnHncgwIjmlg9KMtaeHMUBpxzq1uMCxcLdwEyKco5e_Mje79HTV6zRme58IMmikvpdDGL_vHE-eGM-J_u_xW6L2fsipR8BVnOkHHWZ4y8wIYXKzbNwxrWhePQopVsP-04cr83p3k27jvy_NQythEclDsH0y_NZzOEwMzLoz0M5hG3EmY3zbZfvrF-OfeTv974VnPwpzh_ND42pvPG9Dw2hOEqqvbkAYz1a3BOF9nCv377NHm8Yegw_dg-XDK8csSOX_KHHnDLqIgB5LY_oBN3ANzOaRSBLlys-KVf945M2614mYKHVpICM_I5bSz8BLNmvB9IG6248DsPJN67Oalxb3L_fuat6HrcBD437f7dfGCWoD6FPdr7dcRfJ_C04-89UgL-NRdTZlzxbcE3xYZdscEdtNlO13xXg5Hb7z6vhMsXf2Api9WmuDps6ZrSguc5tE2bbVhN6XqTl5QueV6uqxyuwonMbvG45LUQHkkw4ZO-vLv6-xGILc1wL4oyl63ybFkumqqibNMwXq7zmi5r3KNDh8v-IkimNvsrsw0mcUStP0EI6-ypElXAL7AQAsYInXASth8F57h9AFwGcDJEh4pp_MyMV6yo-PF6Z23JF7eFVyHibQj3L4kRgbI>53693</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Middle-end optimizer: crash in haiku's kernel/heap.cpp
        </td>
    </tr>

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

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

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

<pre>
    Crashes with `-emit-llvm`, does not with `-emit-llvm -disable-llvm-passes`.

Compiler crash files: https://gist.github.com/jessicah/ee15f3c4d2af2b2ee78555465e497038

Bugpoint Files: [bugpoint.zip](https://github.com/llvm/llvm-project/files/8038528/bugpoint.zip)

Original source: https://github.com/haiku/haiku/blob/a8d965/src/system/kernel/heap.cpp

Reduced test case:
```
#define a(b) __attribute__((alloc_align(b)))
void c();
void *d(long) a(1) {
    void *a = d(0);
    if (a)
        c();
}
```

issue.bc:
```
; ModuleID = 'issue.cpp'
source_filename = "issue.cpp"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-haiku"

; Function Attrs: noredzone nounwind null_pointer_is_valid mustprogress
define dso_local i8* @_Z1dl(i64 %0) #0 {
  %2 = alloca i64, align 8
  %3 = alloca i8*, align 8
  store i64 %0, i64* %2, align 8
  %4 = bitcast i8** %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* %4) #4
  %5 = call i8* @_Z1dl(i64 0) #5
  call void @llvm.assume(i1 true) [ "align"(i8* %5, i64 0) ]
  store i8* %5, i8** %3, align 8
  %6 = load i8*, i8** %3, align 8
  %7 = icmp ne i8* %6, null
  br i1 %7, label %8, label %9

8:                                                ; preds = %1
  call void @_Z1cv() #5
  br label %9

9:                                                ; preds = %8, %1
[bugpoint.zip](https://github.com/llvm/llvm-project/files/8038524/bugpoint.zip)

  unreachable
}

; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #1

; Function Attrs: nofree nosync nounwind willreturn
declare void @llvm.assume(i1 noundef) #2

; Function Attrs: noredzone null_pointer_is_valid
declare dso_local void @_Z1cv() #3

attributes #0 = { noredzone nounwind null_pointer_is_valid mustprogress "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { argmemonly nofree nosync nounwind willreturn }
attributes #2 = { nofree nosync nounwind willreturn }
attributes #3 = { noredzone null_pointer_is_valid "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #4 = { nounwind }
attributes #5 = { nobuiltin noredzone "no-builtins" }

!llvm.module.flags = !{!0, !1}
!llvm.ident = !{!2}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 1, !"Code Model", i32 2}
!2 = !{!"clang version 12.0.1"}
```

Bugpoint messages:
```
*** You can reproduce the problem with: opt bugpoint-passes.bc -early-cse
*** You can reproduce the problem with: opt bugpoint-reduced-conditionals.bc -early-cse
*** You can reproduce the problem with: opt bugpoint-reduced-blocks.bc -early-cse
*** You can reproduce the problem with: opt bugpoint-reduced-simplifycfg.bc -early-cse
*** You can reproduce the problem with: opt bugpoint-reduced-instructions.bc -early-cse
*** You can reproduce the problem with: opt bugpoint-reduced-named-md.bc -early-cse
*** You can reproduce the problem with: opt bugpoint-reduced-simplified.bc -early-cse
*** You can reproduce the problem with: opt bugpoint-reduced-simplified.bc -early-cse
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWEtv4zYQ_jXKhZAhUZYtH3zIAwv0UBRoT-3FoMSRzQ1FCiSVx_76DinKlrNOdrPYtD3UMGxK_DjfkPxm-Kg1f97eGmYPYMmjcAeSrLIUOuFSKR86fEjoLeEaa5V2FxAk5cKyWkJ4SntmLVhELJLsLsmux99b3fVCgiGNZyItlm1SXJODc70vJPQTfvfCusUeGYZ60egO33wGa0XDDlgEyMu2aJacspbWFGBdlWW5XJWw3KyzoprT3Qz7XgvlyKeJKClv6vhy8UX0SXmX0Ool-4w49H38S3ujP0Pj8HH0m36qkK-kFZbOjNLN3InfjNgLxSSxejANXOrujPDAxP0w-6-lrvGPVXyzKrFgTeN_n60DD78Ho0B6PLB-0fT9nPl34EMDnDiwjjTMeu5Yj9M5fsdHWnBohQLCcDiQb0N2O-acEfXgYLdLfB8rJqVudkyKvYqo-A02HrTgpAnITVLczF4m9Jrje6nV3lv2FLkvJOuIIviZkIwkxR3x-GxuyENES7wXR0YSPy9Jk_Xd5V6GX2HtAIu6eXUsihvyq-aDhF_ugi8JXY9t_OjS9Yga53LnhaBYBxFIZ0A6Ah0ze3CEM8cke9aDm6CQdugCpD1dZ1goaPjxj_n5oy-tluEnFVOhrXyjnFapqnxhNbXBuj9yPx7n_DiVvTy6-VStdggc1L3SjyqNWqPzYfLD8GlQjRNakWuUQggfpQ3wLxqFovSgHoXiRA1S7oL2weyE3T2gQDjpBuswXvYGA3c0GAXGrd6hjDAcBDqJAbnMdn_lHCVcYefQuTIL2qBFNhcIvqfB-yBCRvxAYD4KYiTVDFWcoTzFBZx12A9y4rsd7V0Hmst2l8FuLRzGkZsMX4-MTscXEY69k1HQy8ynjoUULTjRwcLifLhFn3l86HAV2Ktoaxn7vpwxl4E52Lw4ZNN4la_TYy4eOvD4HJUwQGhR3ngpxHCmvnLyoowjEk2Xdy_G7Rw3H4rLY7cKPZCa8dOMfEezdWgmmq4nasa68mivuglaG4L98g18jWQ1SP9UnT2dpWQfMuSdHx8QParfxiAq84vjjTPTPIwJ6WxS0MnLvmx-hi-hryefPmKVW769yhEyKAOsOfgtwMs8_EZGwfTUQaeVfMaU0hrwmcU-q-aUYB6FlAbcYNSUSBrJUIbfGWCi65DjFGUKE0OP1iDOUP49We_HHZuHnm-JaTASvy_dXsqy57SnzPqKFos54XF1tzHXeiGtb34sw_tEMu3-HBMy9SFhfVYpUHm0ZRL3HpR6WGtwuUyjtSMC4bEeJWdRg9AIC2nbd4xfNNMJlUrYM5k-oFi1SR8Fd4cjNIswpdN6ENIJZU9vhGotmk47NmsxN46Yz0PXY1fqEAGXIYqpb5qxmNOAp1_A6G9inWF9L9T-HDSm64BBaTf3Pj7d2OV6aFswyPEFjvAqYsdlP2364ViFi37qV7l5fQvMh8Kpjwm9aZ58NsFC-2TNWOq6p7FgvcOxQMfSU7WebA4Kzhj3oMCIJlYPyrIW3hyFAefc6hb9wsXCXYBMGeVcvflRve_JJq9Zo7NY-EETxaVwuhhF_3jg_HBE_C_3_4rclzN1RUm-gixnyDjrM0VeUMOLFZvmYQ3rwnFo0Uq2n3Ycud-b0zwb9x15fmoZ2wgOyp2D6dfmsxlCYOTl0R4684hbCbObZtsv31i_nPPkrze-1Rz8Kc4fjY-N6bwxPfcNYbiKqj15AGP9GpzTRbbwr98-TR5vGDoMP7YPlwyvHLHjl_ypB9wyKmIAte0P6MQdALdzGpNAFy5W_NKve0em7Va8TMFDK0mBGfmcNhZ-glkz3g-kjVZc-J0HCu_DSGrcm9x_nHkruh43gc9Nu_8wDowSzE9hj_ZxHfHXCTzt-EePlIB_jWKKjCu-Lfim2LArJ5yE7a-Cc1wIARMamhUdxr7xHONlIeaueFGxtuSre6-rwcjtu4844b7Gn3HKYrUprg7bmhcNtDXLVvWyrSkUxXqdFVnO2ZKtab2-Coc4u8UTlk-f8EiCCZ8nyrsrsaUZbj4xr2WrPFuWi6aqKNs0jJfrvKbLGjfl0OE6vwg5Upv9ldkGl3AIrT8yCOvsqRLD3q-oEOjQPhvcQZvtdBt6Fbi3wfe_AQmJbUs">