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

    <tr>
        <th>Summary</th>
        <td>
            [Clang] Segmentation Fault when compiling a `.ll` file
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    ### General Info:
```
> clang --version
clang version 16.0.5 (https://github.com/llvm/llvm-project.git 185b81e034ba60081023b6e59504dfffb560f3e3)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\LLVM\bin
```
- Windows 11 Pro 23H2 build 22631.3155
- When attempting to compile the following LLVM IR, clang crashes with a segmentation fault (`0xC0000005`).
- When reducing the size of the array (here: `75000`) to a number like `500`, the crash disappears.
- [ZIP containing array.ll, foo.bc, bugpoint-reduced-function.bc](https://github.com/llvm/llvm-project/files/14541602/array.zip)

### Sample LLVM IR `./out/array.ll`:
```llvm
; ModuleID = 'ex\array.bu'
source_filename = "ex\\array.bu"
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"

define void @array.main() {
entry:
  %b = alloca [75000 x i32], align 4
 %codegen_array_literal = alloca [75000 x i32], align 4
  br label %codegen_array_literal_loop_start

codegen_array_literal_loop_start: ; preds = %codegen_array_literal_loop_body, %entry
 %codegen_array_literal_i = phi i64 [ 0, %entry ], [ %codegen_array_literal_next_i, %codegen_array_literal_loop_body ]
 %codegen_array_literal_cond = icmp ult i64 %codegen_array_literal_i, 75000
  br i1 %codegen_array_literal_cond, label %codegen_array_literal_loop_body, label %codegen_array_literal_loop_end

codegen_array_literal_loop_body: ; preds = %codegen_array_literal_loop_start
 %codegen_array_literal_array_field_ptr = getelementptr [75000 x i32], ptr %codegen_array_literal, i64 %codegen_array_literal_i
  store i32 0, ptr %codegen_array_literal_array_field_ptr, align 4
 %codegen_array_literal_next_i = add i64 %codegen_array_literal_i, 1
  br label %codegen_array_literal_loop_start

codegen_array_literal_loop_end: ; preds = %codegen_array_literal_loop_start
 %codegen_array_literal_loaded_instance = load [75000 x i32], ptr %codegen_array_literal, align 4
  store [75000 x i32] %codegen_array_literal_loaded_instance, ptr %b, align 4
  ret void
}

define i32 @main() {
entry:
  call void @array.main()
  ret i32 0
}
```
### Diagnostics
#### clang -o ./out/array.exe ./out/array.ll -v
```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: C:\\LLVM\\bin\\clang.exe -cc1 -triple x86_64-pc-windows-msvc19.38.33133 -emit-obj -mrelax-all -mincremental-linker-compatible -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name array.ll -mrelocation-model pic -pic-level 2 -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -v -fcoverage-compilation-dir=C:\\Users\\pfhau\\GithubProjects\\bufo -resource-dir C:\\LLVM\\lib\\clang\\16 -fdebug-compilation-dir=C:\\Users\\pfhau\\GithubProjects\\bufo -ferror-limit 19 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.38.33133 -fdelayed-template-parsing -faddrsig -o C:\\Users\\pfhau\\AppData\\Local\\Temp\\array-94b798.o -x ir ./out/array.ll
1.      Code generation
2.      Running pass 'Function Pass Manager' on module './out/array.ll'.
3.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@array.main'
Exception Code: 0xC0000005
 #0 0x00007ff6f6f5de70 (C:\LLVM\bin\clang.exe+0x28ade70)
 #1 0x00007ff6f7030ae5 (C:\LLVM\bin\clang.exe+0x2980ae5)
 #2 0x00007ff6f7004e8a (C:\LLVM\bin\clang.exe+0x2954e8a)
 #3 0x00007ff6f6ffb2cc (C:\LLVM\bin\clang.exe+0x294b2cc)
 #4 0x00007ff6f6fefcb4 (C:\LLVM\bin\clang.exe+0x293fcb4)
 #5 0x00007ff6f6f968c0 (C:\LLVM\bin\clang.exe+0x28e68c0)
 #6 0x00007ff6f6f9babd (C:\LLVM\bin\clang.exe+0x28ebabd)
 #7 0x00007ff6f6fa2a66 (C:\LLVM\bin\clang.exe+0x28f2a66)
 #8 0x00007ff6f56d9fbc (C:\LLVM\bin\clang.exe+0x1029fbc)
 #9 0x00007ff6f5bed99f (C:\LLVM\bin\clang.exe+0x153d99f)
#10 0x00007ff6f5e6c9f9 (C:\LLVM\bin\clang.exe+0x17bc9f9)
#11 0x00007ff6f5e6cc43 (C:\LLVM\bin\clang.exe+0x17bcc43)
#12 0x00007ff6f5e6cea7 (C:\LLVM\bin\clang.exe+0x17bcea7)
#13 0x00007ff6f5e6c700 (C:\LLVM\bin\clang.exe+0x17bc700)
#14 0x00007ff6f66824c3 (C:\LLVM\bin\clang.exe+0x1fd24c3)
#15 0x00007ff6f66815e9 (C:\LLVM\bin\clang.exe+0x1fd15e9)
#16 0x00007ff6f6681db4 (C:\LLVM\bin\clang.exe+0x1fd1db4)
#17 0x00007ff6f897f599 (C:\LLVM\bin\clang.exe+0x42cf599)
#18 0x00007ff6f6ce76b4 (C:\LLVM\bin\clang.exe+0x26376b4)
#19 0x00007ff6f6cb27bf (C:\LLVM\bin\clang.exe+0x26027bf)
#20 0x00007ff6f6d51a28 (C:\LLVM\bin\clang.exe+0x26a1a28)
#21 0x00007ff6f4760698 (C:\LLVM\bin\clang.exe+0xb0698)
#22 0x00007ff6f4759d47 (C:\LLVM\bin\clang.exe+0xa9d47)
#23 0x00007ff6f475bd40 (C:\LLVM\bin\clang.exe+0xabd40)
#24 0x00007ff6f8616258 (C:\LLVM\bin\clang.exe+0x3f66258)
#25 0x00007ffb7458257d (C:\Windows\System32\KERNEL32.DLL+0x1257d)
#26 0x00007ffb762aaa58 (C:\Windows\SYSTEM32\ntdll.dll+0x5aa58)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 16.0.5 (https://github.com/llvm/llvm-project.git 185b81e034ba60081023b6e59504dfffb560f3e3)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\LLVM\bin
clang: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs.
```

#### clang -o ./out/array.exe ./out/array.ll -v -emit-llvm -c -o foo.bc
Successfully outputs `foo.bc`
#### llc foo.bc
```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: llc foo.bc
1. Running pass 'Function Pass Manager' on module 'foo.bc'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@array.main'
Exception Code: 0xC0000005
 #0 0x00007ff71308a6c4 (C:\LLVM\bin\llc.exe+0x1aca6c4)
 #1 0x00007ff71314efa5 (C:\LLVM\bin\llc.exe+0x1b8efa5)
 #2 0x00007ff7131232ca (C:\LLVM\bin\llc.exe+0x1b632ca)
 #3 0x00007ff71311970c (C:\LLVM\bin\llc.exe+0x1b5970c)
 #4 0x00007ff71310e0f4 (C:\LLVM\bin\llc.exe+0x1b4e0f4)
 #5 0x00007ff7130728b0 (C:\LLVM\bin\llc.exe+0x1ab28b0)
 #6 0x00007ff713077aad (C:\LLVM\bin\llc.exe+0x1ab7aad)
 #7 0x00007ff71307ea56 (C:\LLVM\bin\llc.exe+0x1abea56)
 #8 0x00007ff71238d27c (C:\LLVM\bin\llc.exe+0xdcd27c)
 #9 0x00007ff712aa6c6f (C:\LLVM\bin\llc.exe+0x14e6c6f)
#10 0x00007ff712d1e989 (C:\LLVM\bin\llc.exe+0x175e989)
#11 0x00007ff712d1ebd3 (C:\LLVM\bin\llc.exe+0x175ebd3)
#12 0x00007ff712d1ee37 (C:\LLVM\bin\llc.exe+0x175ee37)
#13 0x00007ff712d1e690 (C:\LLVM\bin\llc.exe+0x175e690)
#14 0x00007ff7116554d1 (C:\LLVM\bin\llc.exe+0x954d1)
#15 0x00007ff7116580b0 (C:\LLVM\bin\llc.exe+0x980b0)
#16 0x00007ff7136c0500 (C:\LLVM\bin\llc.exe+0x2100500)
#17 0x00007ffb7458257d (C:\Windows\System32\KERNEL32.DLL+0x1257d)
#18 0x00007ffb762aaa58 (C:\Windows\SYSTEM32\ntdll.dll+0x5aa58)
```
#### bugpoint -run-llc foo.bc
```
Read input file      : 'foo.bc'
*** All input ok
Initializing execution environment: Found llc: C:\LLVM\bin\llc.exe
Running the code generator to test for a crash: <llc>
Error running tool:
  C:\LLVM\bin\llc.exe -o bugpoint-test-program-e3fddff.bc-5e8ab15.llc.s bugpoint-test-program-e3fddff.bc
C:\LLVM\bin\llc.exe: error: C:\LLVM\bin\llc.exe: bugpoint-test-program-e3fddff.bc: error: Could not open input file: permission denied
*** Debugging code generator crash!

*** Attempting to reduce the number of functions in the testcase
Checking for crash with only these functions:  array.main main: <llc><crash>
Checking for crash with only these functions:  array.main: <llc><crash>
Emitted bitcode to 'bugpoint-reduced-function.bc'

*** Attempting to reduce the number of function attributes in the testcase
Checking for crash with changing conditionals to always jump to true: entry codegen_array_literal_loop_start codegen_array_literal_loop_body codegen_array_literal_loop_end: C:\LLVM\bin\opt.exe: bugpoint-input-83b6832.bc: error: Could not open input file: permission denied
verify failed!
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWl9v27iX_TTKC0FDov4_5CGNk9liO4tiOvv3JaDIK4dTmhQoKnXm0y8uJTuWGyVqtz_sYgPDkcXLc8nLS_Icibzv1c4AXEf5hyjfXvHBP1p33bWPfOj8VWPl83XE0vFDfgMDjmvy0bQ2Sm-ieBvFN1ERT5_xZ3pHhOZmRyh9Atcra8aC8eZ0iyTFJt7kJGLVo_ddj2jsPmL3O-Ufh2Yj7D5i91o_Hf_Rztm_QPjNTnmSVHlTJRCnWcOLOK6SmKVNAXmdx5ls27bJi7hNIY1YPfr-k7sd-Ci9IYeqeCgy2gn6TRlpv_V03z-JyerRAZdkbyVotO1srw5j0UfTe641yK1yWHSLDc5vP336t9-j_LZR5tVYUPLvoxOSJOSzs4Sl_8RIMygtCWNFmmzSJM9Pto9gCPce9p1XZke8JcLuO6WB-EcgrdXafsMC9Eo-_hGx2ynSwvH-EXryTflHwkkPuz0Yzz0GuuWD9hjnqIjjw20c_nJsIqs3M9cO5CCC40cgvfobiG3DNXeOP4ehAgfY-6iIyzyO4xEFG8qJGfYNOKLVV8DyfCq9DQihgUSqnncdcNefHEf5h__6-JkIazxXBp0HZxutsWpr7aYReNUMu84q42loJEjaDkZg_7A83_5wGkXsvlUa-ojdJ1meJUXMInY_-v5bdafEmb5PM-AL33cajiOAHd1E7N4O_lRba-z3d5MjtGGaIB_I71YOGj5uSZRuScRKOET57Vi_GSJWjpa9HZyAB2yo4XuYjFkwntmz0d6HLCeSe675sx38qQbdR-nNN9qxEpuWsvCFP5P5T7wqsvBF1fGirbBSwipqKrwojnWKjH5JWHXp3zuFMZp8L0y4Y53xW0KrDJAnqySJsnjs2Z4rg3nLahKVH0ZDMN49n6JLSMTyJnjiWlvBMZ9CZpIDUSkLmXFLuFY7Q7KpTsRyYSXswDwEPw9a-bCq_RgMaRzRvAG9CPigre0ees-dP-_ru7Y4wdIPpHMg-ymKbznANRqbF7F8jM7b3XxQAbN7VEQVGfaUxOfVydRbLFjEMHDwD2qq9k7bAuA7bRLWyNAsJfYdwQUrtG2xC-h5XIFeBkMlb-NjnTUDdoznGlswcuXQBtQfHNmz1Fm2HH-1CrR86LwLsDvwoAH3gHDntWQOBQuYWP5O_Kew9946QNQxh94CvWzo-ok5Zds4P6VckRrJP3CO4pD_I8ZRWy5BPigkGkaMyyfe-7nhu1irxnH6Dml1a85cNq_AO_Bh7Z5CWG5fWdsxSaIsXrOoC6714l5w7nNMvAunF3T0tHVvFd8Z23sl-osiLJ0oqyWX-zkc4Lt7WhP69Kq7z5_ubr7ckX5o9soTjryFOOis88iSfpijqL4fAkkh3EiijNCDhDNG1XDx1Ts-DZCDzlkBfQ-SjNwhjJWRhPe9FYp7kMQNhvTCqc5PJOyL5-IrkcO-Ow1BvEG2unN8T7jbDbiQ9Ges94X4Ttw3XIQIhnBRIRJCJxrw-v6f1Ju02qRpkqaEwl55apu_CN070PxAcfzpXhnhwiLGNdXKfAVHkQ9zrxoNhCKbbDTQ1gG61MAd5b2nDbTWAcXQgJEvdiG0T-BUq8CF24I7SZ-4HoAiv-oJxTSjyLfCDfIy2tgwKwKjpkEfkE4JQjslqIYn0IQRum8d3wMNPBVclG6NNUBou-f-kYJzxhLath1Fsuu48FG6tYbQ1ljq7GCkMjuKtoTuhTW9d4Pw1lGuFe-xce1gMITUY3f6KN0yQkfKRUU3YKBpkRHqBwPhxg7VGrZyj13HAQHuaS-4HuOmDiCxXeijp9-4C_ybPhHaCvsEju-AjgJk7LdE6bN9yYF_7cH142XQi-PlbyGrP48pPBU3Q2sJdTAmJQK9mkpaNWepNF4mBaGthGbY_dK2tGO_tcJpmtTjKAw9UHHglHs4KI8j11M4eDCoWPvx9zEDlVb--ZVbJ82bbmc53krQ_BkkRXmnuQfacdeHgLdcStersPq816Obrttyz6fIWcH1ePkn7LszVUDrrCnramMJPRDlXlnAxomebEj4u7USxnwJ4R0L2VT4x2BCZnS871Gs3E_Si3zGG79zw3fgIlYSa1A7D8j9WfmKS7wZkNMF5P-oCrK9-Y1G6d325jfycZoE6OsLaAhXk6Oj_sNqF7vEpJ7uDgK6YIK9w-XrTP4eN-M0JvEBb5VtW7RFm0soY5S63wv8sxUuYh_iA6s4Gr9sSRFLk3O0Mk5jDvlKtLpC4xkam6PFGVR8LVqOxjO0dN7TtmFCrEXL0HiGls3RoBVNthYtReMZWj5Hq4tKrB4FQOMZWnGB1vBGrkZD4xlaOUfjjBfFWrQWjWdo1TlaXsi6bVaOQhIzNJ6h1TO0BmRdtyvR8hSNXx50sDSZzYUcClG39Uq0skHjGVpyiSaydD2ayNIZGrtEA16uRwNeztDSS7QyXplviFbG8QxtPheKimVibU9bicYztPwCLclh7Si0Eo1naMUlmlw7TxFNns1TRJvNhaou27xe2baMCTSeoc3mQiGgLFavIUWKxjO0eo7WsLJZORdYEaPxORqb7wsyTzir1qJxNJ6hzeZCVhZxUa9Ea9B0hsXmWHkts5UzgaPpDCu9wGpktnIecDSdYc1mQVUkBctX9jFtCzSeoZ3NgqbM8orl5fkaPj1Xj_LbL8-9hz3K2dt_vvvjX-4-pWyz_fRpTGGsNYMtzmELxjmfNfIM9j-__Hn3e4A1Xmq9kUhgPsSHHKucMEemmt6QwCfxYhSSrbPGo_wQdr9HBdZypUESOQAKwV7tDNfoeOgBKTfeAyDKPE0qY-7h__lrk1MUjfWBqcmTVif7PpTcYXxPFBU542tqt-ojVhNKjD0rR7VDlOkGf3zvcPmM4Fc8Dphk7Ci1BFad3l6MInsQ2JR20PqZ2MFjY0hUxJPNd08rsA1aixnG_5FHDW8-Ngh_rz47uOxNsvlJYXF8KXQUE0sy5X9XTJRJGle8EIsbmtbiZavlAk2XpESZpEkGLV-UEjOspkLTJSGBWCxlYlFIzLEKNF2SEYiV1GW8SGDnWDmaLokIxIohbtfFq8nQdElCYOxLVjWLW9k89g2aLgmIgFVyviggLrDQdEk-BCzg-aJ8uMBC0yXxUCYsrSQrV8VeCrRcUg5lwjgvRLHIlmbNygBNl3RDmTCZQF0tssIZVpmj6ZJqGLEaucilL7EauagZRixIF5nSJRaki4phxCrqdelV5mi6pBfKJCnyPJPJGqwaDZe0QkCq4nVJX6Phkk4ok7QQcb6siM6RWBKHd_0LKuEXcrdzufBLuNvSmwLce4_nDQh1g6Hv7MR_IP0JBIO0SsO4HYWXRGe71dHJ9CE3Wk917NcjWVJeca3-xl0MDiCGsOGAeVLOGtxIEfPeDkbibvo6n3oZnbFp06YY9vGzh3zWIUnw0HvSWkf4uMmPL7ZuA_jdtPEF3uWOMNbqsxc1b7hHAnQ6tIF-kGogK6CQtlK27aYRNIeKN0m-wTr9u-aj17e6fM7D37F719kMyw5aIjkltgNzNtSB7oLbqz6wcwlGgbwc6S00w26H4bsYgTHmLJmz0FOCzE4CjedewjhOJ21se-ItPVEmFGFnBO-nwb99BPEV67dHZ-MJIWv0M5r38IKAPSEvxIcE9jNLh_R2ypG7_zH628B3e-U9SNIoHwLmLU6kN08AnabXz8eQcO-dagYPPxhN8cjNNLpGKoTiug9novQ3_tyTv4Z9FyabG8YMDacs3ntd_JZBOFXx_ivq12aA7fx3MyCkM63SpqhS9itSP7xke54k70t-HxfNK3mdyjqt-RVcJ2Vc1yxJy-Lq8VrGhYC6TfJc1nWbtm1VV9BmULYyLpOGX6lrFrMsTuMqqeI6LTaJEFIWRZwVTc3qDMk77LnSGxQ3G-t2V0HWXFdZzqqrcBSgD0cdGRs1J2NRvr1y10EMNcOuj7JYq973LwheeR3OR96Ob6W25Mv5-br7cL7u2yOY6bReOMQWToaFo2AhWFeD09c_L8lC8_87AAD__7VvaB0">