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

    <tr>
        <th>Summary</th>
        <td>
            CodeGen/X86/x86-shrink-wrapping.ll global-buffer-overflow with ASAN on LLVM16.0.0rc4
        </td>
    </tr>

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

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

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

<pre>
    While recompiling LLVM16.0.0r4 with ASAN for #61350, I encountered this trace:

```
********************
^[[6;2~FAIL: LLVM :: CodeGen/X86/x86-shrink-wrapping.ll (23287 of 49638)
******************** TEST 'LLVM :: CodeGen/X86/x86-shrink-wrapping.ll' FAILED ********************
Script:
--
: 'RUN: at line 2'; /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll -o - -enable-shrink-wrap=true -pass-remarks-output=/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/test/CodeGen/X86/Output/x86-shrink-wrapping.ll.tmp | /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/FileCheck /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll --check-prefix=ENABLE
: 'RUN: at line 3';   cat /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/test/CodeGen/X86/Output/x86-shrink-wrapping.ll.tmp | /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/FileCheck /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll --check-prefix=REMARKS
: 'RUN: at line 4'; /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll -o - -enable-shrink-wrap=false | /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/FileCheck /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll --check-prefix=DISABLE
--
Exit Code: 1

Command Output (stderr):
--
=================================================================
==296879==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7fb78e288b7f at pc 0x7fb78fe7e141 bp 0x7ffd05f13b00 sp 0x7ffd05f132b0
READ of size 1 at 0x7fb78e288b7f thread T0
    #0 0x7fb78fe7e140 in __interceptor_strlen.part.0 (/nix/store/2w4k8nvdyiggz717ygbbxchpnxrqc6y9-gcc-12.2.0-lib/lib/libasan.so.8+0x4e140)
 #1 0x7fb77e77f62b in (anonymous namespace)::MCAsmStreamer::getMnemonic(llvm::MCInst&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0xb33462b)
 #2 0x7fb779142aad in llvm::AsmPrinter::emitFunctionBody() [clone .localalias] (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x5cf7aad)
 #3 0x7fb7878889ca in llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x1443d9ca)
 #4 0x7fb77722d2c5 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x3de22c5)
 #5 0x7fb7762d76cd in llvm::FPPassManager::runOnFunction(llvm::Function&) [clone .localalias] (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x2e8c6cd)
 #6 0x7fb7762d80af in llvm::FPPassManager::runOnModule(llvm::Module&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x2e8d0af)
 #7 0x7fb7762da788 in (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x2e8f788)
 #8 0x7fb7762dbbbb in llvm::legacy::PassManagerImpl::run(llvm::Module&) [clone .localalias] (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x2e90bbb)
 #9 0x445de0 in compileModule(char**, llvm::LLVMContext&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc+0x445de0)
 #10 0x41f9a8 in main (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc+0x41f9a8)
 #11 0x7fb772f4924d in __libc_start_call_main (/nix/store/76l4v99sk83ylfwkz8wmwrm4s8h73rhd-glibc-2.35-224/lib/libc.so.6+0x2924d)
 #12 0x7fb772f49308 in __libc_start_main_impl (/nix/store/76l4v99sk83ylfwkz8wmwrm4s8h73rhd-glibc-2.35-224/lib/libc.so.6+0x29308)
 #13 0x422ca4 in _start (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc+0x422ca4)

0x7fb78e288b7f is located 1 bytes to the left of global variable 'AsmStrs' defined in '/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/Target/X86/X86GenAsmWriter.inc:17:21' (0x7fb78e288b80) of size 19453
0x7fb78e288b7f is located 55 bytes to the right of global variable 'OpInfo0' defined in '/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/Target/X86/X86GenAsmWriter.inc:1892:25' (0x7fb78e277520) of size 71208
SUMMARY: AddressSanitizer: global-buffer-overflow (/nix/store/2w4k8nvdyiggz717ygbbxchpnxrqc6y9-gcc-12.2.0-lib/lib/libasan.so.8+0x4e140) in __interceptor_strlen.part.0
Shadow bytes around the buggy address:
 0x0ff771c49110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0x0ff771c49120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0x0ff771c49130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0x0ff771c49140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0x0ff771c49150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0ff771c49160: 00 00 00 00 00 00 00 00 00 f9 f9 f9 f9 f9 f9[f9]
 0x0ff771c49170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0x0ff771c49180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0x0ff771c49190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0x0ff771c491a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0x0ff771c491b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
 Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope: f8
  Global redzone:          f9
  Global init order:       f6
 Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal: fe
  Left alloca redzone:     ca
  Right alloca redzone: cb
==296879==ABORTING
/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll:890:17: error: ENABLE-LABEL: expected string not found in input
; ENABLE-LABEL: infiniteloop2:
                ^
<stdin>:288:15: note: scanning from here
_infiniteloop: ## @infiniteloop
              ^
<stdin>:288:20: note: possible intended match here
_infiniteloop: ## @infiniteloop
 ^

Input file: <stdin>
Check file: /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll

-dump-input=help explains the following input dump.

Input was:
<<<<<<
 .
             .
             .
           283:  callq _abort 
 284:  .cfi_endproc 
           285:  ## -- End function 
 286:  .globl _infiniteloop ## -- Begin function infiniteloop 
 287:  .p2align 4, 0x90 
           288: _infiniteloop: ## @infiniteloop 
label:890'0                   X~~~~~~~~~~~~~~~~~ error: no match found
label:890'1                        ?             possible intended match
           289:  .cfi_startproc 
label:890'0 ~~~~~~~~~~~~~~~~
           290: ## %bb.0: ## %entry 
label:890'0 ~~~~~~~~~~~~~~~~~~~~
           291:  pushq %rbp 
label:890'0 ~~~~~~~~~~~~
           292:  .cfi_def_cfa_offset 16 
label:890'0 ~~~~~~~~~~~~~~~~~~~~~~~~
           293:  .cfi_offset %rbp, -16 
label:890'0     ~~~~~~~~~~~~~~~~~~~~~~~
             .
 .
             .
>>>>>>

--

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWk1z2zjS_jXwBUUVCPDz4INkS3ldb5yk7MxO5uQCQVDCmgQ4ABhLOcxv3wIoSqIsJ07iJLM1q2LJFtlsPE9_oBsgqTFiKTk_B_EMxJdntLMrpc9vqLBqxj9RLTpzVqhyc_77StQcas5U04payCV8_fpf12EyQROkI_gg7ApOb6dvYKU0BJgkIYkRwBfwCnLJVCct17yEdiUMtJoyDsgUoEuAhu8EbY_-J_6Oo9cQzz2pWQLIDP-1mF69BmTqUUM3NpnCC1XyV1wCvPiQJQAv1lkSmJUW8j540LRthVxO6hoCnGGCsxSqCkZ5QjKA8-9HCd_Pb99DgNOvRwRwCh2f-SX8fjvdMi1au_NGEGypkakDd_PbG_cftbAWkkMMcArIDAK80J2D2RmuAV5ghCOAF7ZpJ9GHXDV_xOGDAXhR1x-bwGgW9IESaBZtzwK8KDpRl-6vkP4kexm1lhsL8OKZzg0UDGDAJS1qfngdkEurOw6DlhoTaN5QfW8C1dm2s4BcvqgBnkD8th_sKegT27QQpBc_whkLUfOLFWf3v8QlAXNDB63mlVgDcjl_M529nn8uLsk2LiFk1L6sQf7nnM8752Z-Pb35_9vPeSf6J80aFa0N_2e4_vLqdp-YQ-GYr4X1dcxFQHhY4i9U01BZwj51XFk1tuRau3L6uPxc_tcfB0RwnmRp3v8_v7l5e-OMMy1LzY25pVJY8Ylrd25Zq4LWQdFVFdeB-sh1VasHqCSkvTRE67Qq0ozjLCvSyuVYy4aTFU95GIWwaP2ZqkRxFZICIWhGZ3CxbbNu5tNL19YY8YnD0Ck7Um9XmtMSvt_KQwhdc4fGAyIoJLy7E67HY7y1St8Zq2suJy3VdoKcqwFeSLEGeGGs0twF7EN0n8mP5UYsl5_SMN0si2LNVq1c6z9ZssmDJWNBiCd4goJaFC5oh29qqJwYNckAnqF15BDsWjIHL9zCS3maVgkuHDyAMyqV3DSqM1DShpvWNaF96JHp9cXUNLdWc9p4RwAyXXJ7LXmjpGAAZz5jtqJX0qVNAnC-ZfZyab7j6LpCJ2mUJ1kQEiW4GNHEA808jDClpaO5hzk1zTvtXdL_5o2wi04yK5ScqXLjkecQxDNWK8nhpFaM1rQW1ID48qcRi1mVUlqOiJEhvNIsy3JGx8Q-ZMkxN93Jt_KaspWQfOA49tnxtZ_qvDCKSJkzOiIZDd5LMS4xi8ckjwC_o8YcUD3J8ReRIyXHmMUjbvHALcFlmrCjyFy8c3SuqaTLkQOfxeoXhyvmGUvYOFyTA7YZotXz2F6rsqv5OEq3p36q_zDPSkSrEaP0gBFNs-w5E-jfn2aVZtmIZnZAsyiKYuy4mi8p2_T_H3C7atp6x-8zvH55oOaoKMYFI4doHUVxyX3B7ndy-M5BbEX1sDdwcWAHp_hCScvXP6ro7Vr5vp57hOOC7hqOKKxy6kOxoX08_kgQfrAxiF1bgasox1HZdz21KNidsVTbO0br-u4A3LjhSZM6-pjn5j4jm7p6uP-UPTQPuolMtkqJXpXB0qkK8ITEAfZEdr5lrttJer-6kce48CEugrJHuBykO9G09Q_FRdCRvVwZjzBmNPKIPJYf7TY_3H5_zn8ftbTCQJeSlpcwhMXGcgOtgnbFYc0r67rhvgmHH6kWboHnVrR9d2gATmHJKyF52c-J6Q9I5vdUL7ndrcY-ZMkrLqem-V0Ly_VESAbINEwBmeLQAQI4O6SYudzZN_V5FJMv2SGOx4bQYrl6yhJv2ytZKfQ3skSWY2eL-NgWaRrjkS3SEKNsu-v52_X19OaPr1yG_ZR1zBcWU1v8K1qqh63XqFadLL3nim653Axrxd2qGqI1qqo0DVmUhyFyDBH6quOEHvxCesgL6YleSE_87Xr8An9-qCz5krIqPzpAPHNflyeQpS_EMHshPfkL6aEvpKf4dj0H-QRrvuSydMnu-jdzcEXzVnPDpTUwg7Rta8GoW5z0eXi4jzXMKm7WdKD2nx1y-I5qK2hd7_J1EEYhRBgiAlEEUQxRAlEKh7v-j9O2r1Sal5-UPFBf0UFooTkv4cqJar50y6e9UDkI3VrK7k-rqsKxUCPKE8PhsVBfNY7EKjIWopXlGmpuO70HVcVjoc7wraBhqvW6qmwQedXXpEdwnJ78SEhIYaHSZT-rb4WSrdA7JYxy9avYQF-z9qqqdFDkOl8qJNdwqAJ71GwQmmpNN5ApdS-OvA3pTuhKWk2hKv7N2bGVimKn6ZZK6Od-SWvPmw-XXjtH0drV7GPybOf4G--Dx1KseGo7cjp7e_P-6s2r4Ynmz95WBmSa-YnEdzSQa628J_qHPsHr6WzuH9zydcuZa1aM1UIuoVQWVr7uCWextrMDw9mje4WsXCTwWqkW73P06APi3TOmC2NLIQGZu8Yiyxy62CmSynpzGkaldCgqrRq44nrrpbvDkfqHIQRgAkGERldOjP_Z0ftaO4zeKmOEa8dcoMiSl7Chlq2-Gcd-aP995YwJK9FPRodw-m18__xhd_nnB8wB1KDsmjbovU8uV7xuXZzUVEjj26FK1bV6cI7yMtCJTx5zfaD7XgmQi-Ojt9LkhNeedw5nxGeqWx_-Ce9oodxCqJfCWeSvTVgl7rgsW60YPKHBh9_gxiCAc1nCars3tteV9Lpc-1rDURAc3DrjSyH3N4-lBk1pr6nFtBZLCSOALyBa5-gUNheh8Jkht72_pgUfUh-n6DgVIYQf_jr-7OcGqbYR7yeAUxrDExr7NCOL0e8ncukEy3zvJ7-UPfDUMZtj5I-19a3TYCIcF8Xk6AyXVm-eqf-JMUKPuO3M6k-nURdPWf8LevCeecmrO1bRO1VVhlsYJl-B8AntZK99q7XH6iIueHIA93nuGPuc_Ey--ul2fBxONMHoZaXvfztpeN3prDwnZU5yesbPwyTNEpynJDtbnaOEIEpiSgqU4BRhHhdRgiuclkWMQhadiXOMMEEkxGGEcJhNMlqxLKdJEca4ykoKIsQbKuqJm2UnSi_PhDEdP09CEudn3qBmePFLn_sJuuiWBkSoFsaa_W1W2JqfP_Mp8RNL5_0LYkoevjrGorNO1-cra1s_B-MFwIulsKuumDDV7GuEx9dq5dongBeeiissns1_AgAA__-7RAL_">