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

    <tr>
        <th>Summary</th>
        <td>
            Out of memory error while building clang
        </td>
    </tr>

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

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

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

<pre>
    I cloned llvm (ddef380cd6c30668cc6f6d952b4c045f724f8d57) with git and followed the build process, as detailed in [the clang setup guide](https://clang.llvm.org/get_started.html). 
I used ninja, as detailed in `Using Ninja alongside Visual Studio` to build everything and then encountered the following crash:

```D:\Programmieren\C++\clang_build\llvm-project\build_ninja>ninja clang
[1916/4145] Building AMDGPUGenGlobalISel.inc...
FAILED: lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc D:/Programmieren/C++/clang_build/llvm-project/build_ninja/lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc
C:\Windows\system32\cmd.exe /C "cd /D D:\Programmieren\C++\clang_build\llvm-project\build_ninja && D:\Programmieren\C++\clang_build\llvm-project\build_ninja\bin\llvm-tblgen.exe -gen-global-isel -I D:/Programmieren/C++/clang_build/llvm-project/llvm/lib/Target/AMDGPU -ID:/Programmieren/C++/clang_build/llvm-project/build_ninja/include -ID:/Programmieren/C++/clang_build/llvm-project/llvm/include -I D:/Programmieren/C++/clang_build/llvm-project/llvm/lib/Target --long-string-literals=0 D:/Programmieren/C++/clang_build/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGISel.td --write-if-changed -o lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc -d lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc.d"
LLVM ERROR: out of memory
Allocation failed
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: D:\\Programmieren\\C++\\clang_build\\llvm-project\\build_ninja\\bin\\llvm-tblgen.exe -gen-global-isel -I D:/Programmieren/C++/clang_build/llvm-project/llvm/lib/Target/AMDGPU -ID:/Programmieren/C++/clang_build/llvm-project/build_ninja/include -ID:/Programmieren/C++/clang_build/llvm-project/llvm/include -I D:/Programmieren/C++/clang_build/llvm-project/llvm/lib/Target --long-string-literals=0 D:/Programmieren/C++/clang_build/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGISel.td --write-if-changed -o lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc -d lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc.d
Exception Code: 0x80000003
 #0 0x00e861d9 HandleAbort D:\Programmieren\C++\clang_build\llvm-project\llvm\lib\Support\Windows\Signals.inc:429:0
 #1 0x64342434 (C:\Windows\SYSTEM32\ucrtbased.dll+0xc2434)
 #2 0x64343a52 (C:\Windows\SYSTEM32\ucrtbased.dll+0xc3a52)
 #3 0x00e01871 llvm::report_bad_alloc_error(char const *, bool) D:\Programmieren\C++\clang_build\llvm-project\llvm\lib\Support\ErrorHandling.cpp:177:0
 #4 0x00e0221f out_of_memory_new_handler D:\Programmieren\C++\clang_build\llvm-project\llvm\lib\Support\ErrorHandling.cpp:190:0
 #5 0x64456388 (C:\Windows\SYSTEM32\MSVCP140D.dll+0x26388)
 #6 0x6432f962 (C:\Windows\SYSTEM32\ucrtbased.dll+0xaf962)
 #7 0x010204f7 operator new(unsigned int) D:\a\_work\1\s\src\vctools\crt\vcstartup\src\heap\new_scalar.cpp:41:0
 #8 0x008183fc std::_Default_allocate_traits::_Allocate(unsigned int) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\xmemory:101:0
 #9 0x00809b1c std::_Allocate_manually_vector_aligned<struct std::_Default_allocate_traits>(unsigned int) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\xmemory:158:0
#10 0x008099bf std::_Allocate<8, struct std::_Default_allocate_traits>(unsigned int) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\xmemory:222:0
#11 0x008831e0 std::allocator<struct llvm::gi::MatchTableRecord>::allocate(unsigned int) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\xmemory:954:0
#12 0x0084b491 std::_Allocate_at_least_helper<class std::allocator<struct llvm::gi::MatchTableRecord>>(class std::allocator<struct llvm::gi::MatchTableRecord> &, unsigned int &) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\xmemory:2184:0
#13 0x0087acf3 std::vector<struct llvm::gi::MatchTableRecord, class std::allocator<struct llvm::gi::MatchTableRecord>>::_Buy_raw(unsigned int) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\vector:1992:0
#14 0x0087abcd std::vector<struct llvm::gi::MatchTableRecord, class std::allocator<struct llvm::gi::MatchTableRecord>>::_Buy_nonzero(unsigned int) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\vector:2013:0
#15 0x0084d511 std::vector<struct llvm::gi::MatchTableRecord, class std::allocator<struct llvm::gi::MatchTableRecord>>::_Construct_n<struct llvm::gi::MatchTableRecord *const &, struct llvm::gi::MatchTableRecord *const &>(unsigned int, struct llvm::gi::MatchTableRecord *const &, struct llvm::gi::MatchTableRecord *const &) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\vector:2070:0
#16 0x0086a89d std::vector<struct llvm::gi::MatchTableRecord, class std::allocator<struct llvm::gi::MatchTableRecord>>::vector<struct llvm::gi::MatchTableRecord, class std::allocator<struct llvm::gi::MatchTableRecord>>(class std::vector<struct llvm::gi::MatchTableRecord, class std::allocator<struct llvm::gi::MatchTableRecord>> const &) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\vector:680:0
#17 0x0086b700 llvm::gi::MatchTable::MatchTable(class llvm::gi::MatchTable const &) (D:\Programmieren\C++\clang_build\llvm-project\build_ninja\bin\llvm-tblgen.exe+0xcb700)
#18 0x0082dd2e llvm::gi::MatchTable::buildTable(class llvm::ArrayRef<class llvm::gi::Matcher *>, bool, bool) D:\Programmieren\C++\clang_build\llvm-project\llvm\utils\TableGen\Common\GlobalISel\GlobalISelMatchTable.cpp:337:0
#19 0x00c838d4 `anonymous namespace'::GlobalISelEmitter::buildMatchTable D:\Programmieren\C++\clang_build\llvm-project\llvm\utils\TableGen\GlobalISelEmitter.cpp:2269:0
#20 0x00c7b74e `anonymous namespace'::GlobalISelEmitter::run D:\Programmieren\C++\clang_build\llvm-project\llvm\utils\TableGen\GlobalISelEmitter.cpp:2479:0
#21 0x00c85e7a llvm::TableGen::Emitter::OptClass<`anonymous namespace'::GlobalISelEmitter>::run D:\Programmieren\C++\clang_build\llvm-project\llvm\include\llvm\TableGen\TableGenBackend.h:40:0
#22 0x00a63def llvm::function_ref<(class llvm::RecordKeeper const &, class llvm::raw_ostream &)>::callback_fn<(class llvm::RecordKeeper const &, class llvm::raw_ostream &)>(int, class llvm::RecordKeeper const &, class llvm::raw_ostream &) D:\Programmieren\C++\clang_build\llvm-project\llvm\include\llvm\ADT\STLFunctionalExtras.h:46:0
#23 0x00fb31c4 llvm::function_ref<(class llvm::RecordKeeper const &, class llvm::raw_ostream &)>::operator()(class llvm::RecordKeeper const &, class llvm::raw_ostream &) const D:\Programmieren\C++\clang_build\llvm-project\llvm\include\llvm\ADT\STLFunctionalExtras.h:69:0
#24 0x00fb1379 llvm::TableGen::Emitter::ApplyCallback(class llvm::RecordKeeper const &, class llvm::raw_ostream &) D:\Programmieren\C++\clang_build\llvm-project\llvm\lib\TableGen\TableGenBackend.cpp:69:0
#25 0x00fbb5dc llvm::TableGenMain(char const *, class std::function<(class llvm::raw_ostream &, class llvm::RecordKeeper const &)>) D:\Programmieren\C++\clang_build\llvm-project\llvm\lib\TableGen\Main.cpp:138:0
#26 0x00dc1d1d main D:\Programmieren\C++\clang_build\llvm-project\llvm\utils\TableGen\TableGen.cpp:81:0
#27 0x01021f53 invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78:0
#28 0x01021dca _scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
#29 0x01021c5d _scrt_common_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331:0
#30 0x01021fd8 mainCRTStartup D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17:0
#31 0x767dfcc9 (C:\Windows\System32\KERNEL32.DLL+0x1fcc9)
#32 0x7730809e (C:\Windows\SYSTEM32\ntdll.dll+0x6809e)
#33 0x7730806e (C:\Windows\SYSTEM32\ntdll.dll+0x6806e)
[1933/4145] Building AMDGPUGenRegisterInfo.inc...
ninja: build stopped: subcommand failed.```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWltv2zgW_jXMC2GDInV9yIMi291gkpkiyXSxTwJFUrYmNGlQVC776xekZFueeDpN6zRZYAIXllzy6HzfufFQpG3bLJUQ5yC6ANHsjHZ2pc35VXdP2xvRyLNK8-fzS8ikVoJDKR_WEOCUc1GTFDEeM4LiOGUsrmOeRbgKGQqjOsFhnfIoATiDj41dwWVjIVUc1lpK_Sg4tCsBq66RHG6MZqJtAS4gbSEXljZScNgoCKILN4xJqpawFbbbwGXXcAGiGcDpytpNC0gO8ALghR80dfpNtVkCvFgKW7aWGiv4dGXXEuBsCgHKL2HXCg5Vo_6gx54Zo9_bRi3hr24ApFKrZdtwAb80bUclvLUdbzSIEbR6ACAehHm2KzfJQbQroaBQTHfKCjNA7XG7IczQduXURv4To_4zcz9FxWejl4au140wQoGoKAC-cJ-o8ABL_0QQFQ7oZGP0H4JZEBX-57LHROb-u6fNPSK6CLIgBngRBmEEohm8cKOdLvn17NPn3z8J9UnqisrLWyGnjWLT6RSgfJFfXs2dWlA2FcCLO2qWwgK86GftLl5Mh7PeKodY8GKLZTDWgAUvDrDgxRgLXrzy2QDlRc_kvxvF9WMLoqJ9bq1YE-xIXPOpeBLQaQMBxoy7yxk8GfsQ4Bjg-HQC3V2jtkNsJZdCeQiTpVCTpQc_aVoh4eTyB4l3t3_FOJxcntKqjWKy4-KHpQ4q78WdngI4mbgcMGmtadRyIhsrDJUtIDP0hnzvPdx7tuVwMnk0jRWTpp6wFVVLweFEvzo0J_y1U6YcYAxQfnX15RrOb25-u3EpQXcW6hquxVqbZ4DyXErNqG20grXPpQDln6_m-e0ctl21dtkfVt0SGrHRxrrceZi-l41dddWU6fWImEO6mrbtRAvwwmfZrcl9gXApFVaU3VtDmXDJ69ZSdg95t970qRZNof8bTAWpWXZroazTYBusR-L1IGRfRO3LwH0Ru7vw_SeC_4ng94tglM-fmNj4-Cw0F87r0VOK_B8BKIcAEwTRE0IijQOewX9RxaXIKxetP1bMPElR4ZSOittu4xLAQX2-bZaKytaXb5KHOAMkR4NOAURPcUhCHJLQLTxfFPfb_9zeza99ce-YsRVtBZ9yKQG-QE_MTQM4G4ThQRihEf4OYW7aXhjp2UJBmgR-XeyEkbxPcGVFeUldTiyFMdoAnLIVNZBp1VoIcO5WnpXWblX6NvTO3WO9ERu1nLKNy4NBkoyoDQcAGAe1y-elrss-n5dKPJYr7wDmJ2qXoZF2kbdVGMUkTf_OVte3X4rPQYhmO1thN21vq7g3PK6z-DsMT920vbDE8RYgjMI6gXojDLXaQCUeAU475dspV57syLSuEpSP2tyDqAjcitT9MwxExQOzWkt3zzwxD8z3LN1mN2IlqLtxJmkZldQMdIXBiK3U2zINUlIz2Fre-2I5EzXtpO09kVpRWkMbX_Pc_w41WxzRuzgwOlw0UjgdrxtmdKtr-6duKCowwo68Qq_XnWrsM4iKL67m3Q3onIkc-HAaBlMSBhiBqBiSPoiKp2EhQfIAjXFlPS6UVcEY11bzck1VR6V8Lh8Es9qUVHoYgBStNR2z38LF_GPhj9IBv8t-aIs_q-oj-AEpUpdJ_l_BYoxHYIMebEoCgfZYBgja7I26z7bLpv--ppat7mglxY1g2nAHdDz7Y_l4FoUj2LiHHVZhFhzzcWpLKWhry5WQG-FoYJK27SkYct5wImF941vAMcv9b-_qYEE6prqv2WlCWU32kPvc8Sq8uIAnNEJv8IvuuTT0WBX52fxtCcmDLBsHaLilr2L8Q9KntPqvMPojUYhRQEYURkOw8ygIPhyFhVuduomleo0Mt57dLmzjUTl67cwjxem7Zf3AzHd1lgSNnCXunSWmafbh4u3dtXhRud5bI_gxfChOxy6UDC5UJQh9FcmL-y2_X5t0CBng9M23vftO3KHpGzKHcWh-MOdYfANG_5S_wpgbQ59vRL1bZf2FPGF8F-_8cNvIn7ih72zj7e41_dQL0Ou1dhf7_Z2Dmz3SoUckJBn5Qt9MsZSkPIQgRlRp9bzWXQsVXYt2Q5kAOOlB7oXO1421btm5425k_7dC-uLxAyCM42yPCPftEUuqJBTfich06uejCJMximCwSyQSOvK3nSB_d6D0bxtbOO8EpHg96vmJge9z0PDDiIHt5QVl90Lx6QqQPBzlJ9w3PzQmXNQj7HWnmG20Ko0PxSOB2mfeX4TYCAMP6v6fRxr6WOrWGkHXQ6baccColBVl92Wt3uYpOB2WMacU_EZmy2d3ICpu764WA_lUzp-soW1vtXhktb6PqisSsPDnW2275waw3-I77VOG8e9B8UFqCweKA5Jk35YU8s1GPheDR5-alRPuAn8lPfTp8YCHaOChijg7wsM1bdTRzfU_reu2rnncLV8A_vaA7cP8rQhy8Lbb42S0MYj71oCzgAccrmnzdkVsezmokQYjLbZb4UEdEdioB30vyrEyP7Lvvb8XT6JkfukzbZQEJE_GTKRbHTijsGyZscNgr0nZitUba4PTsTrZVh0W8ZfqvLEqhIys07_P89bhqfeR4ubutp98ej3WI08dLTr9C7wkTnjNWHb81cv-dM4v85tf51cET2dXV36hH7hZu4W-f3-XJASlKBN_9xpHWS7l7hVO7KbsBZGdoPj1guKtoOgiyAj56rmqG7FsWivMpar1_mTVcE4rH86PtVZvNsIlKth2lTOoPynnj1FMdwfEzvg54RnJ6Jk4DxISxTFCJDlbnWcRykLGojClVcjDkCeRqLKEh0nA0rQKzppzjHAYYBIEUZgEyTQNQhRhXAsUBIjFAoRIrGkjd8fnzvxZi_MAByTLziSthGz9CUGM-1NlrlWdnZlzn0WqbtmCEMmmte1ehG2sFOe_jc-JQP8uFD6uGjkc_vMH4pzEs87I8-8_EjJo-nCO_xcAAP__ZWHQuw">