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

    <tr>
        <th>Summary</th>
        <td>
            Crash @llvm::isAArch64FrameOffsetLegal
        </td>
    </tr>

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

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

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

<pre>
    Testcase: [ecp_secp384r1-6e751c.c.gz](https://github.com/llvm/llvm-project/files/8589166/ecp_secp384r1-6e751c.c.gz)
Command: `"clang" "-cc1" "-triple" "aarch64-unknown-linux-gnu" "-emit-obj" "-O2" "-std=gnu99" "-x" "c" "/tmp/ecp_secp384r1-6e751c.c"`
```
Stack dump:
0.      Program arguments: ./bin/clang -cc1 -triple aarch64-unknown-linux-gnu -emit-obj -O2 -std=gnu99 -x c /tmp/ecp_secp384r1-6e751c.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/tmp/ecp_secp384r1-6e751c.c'.
4.      Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@fiat_secp384r1_mul'
 #0 0x00007f369089d830 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x00007f369089b18c SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f368f93bd60 (/lib/x86_64-linux-gnu/libc.so.6+0x3bd60)
 #3 0x00007f3692c630bb llvm::isAArch64FrameOffsetLegal(llvm::MachineInstr const&, llvm::StackOffset&, bool*, unsigned int*, long*) (/tmp/llvm/obj/bin/../lib/libLLVM-15git.so+0x2fb10bb)
 #4 0x00007f3692c632df llvm::rewriteAArch64FrameIndex(llvm::MachineInstr&, unsigned int, unsigned int, llvm::StackOffset&, llvm::AArch64InstrInfo const*) (/tmp/llvm/obj/bin/../lib/libLLVM-15git.so+0x2fb12df)
 #5 0x00007f3692c8f62d llvm::AArch64RegisterInfo::eliminateFrameIndex(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, int, unsigned int, llvm::RegScavenger*) const (/tmp/llvm/obj/bin/../lib/libLLVM-15git.so+0x2fdd62d)
 #6 0x00007f3690e1cde8 (anonymous namespace)::PEI::replaceFrameIndices(llvm::MachineBasicBlock*, llvm::MachineFunction&, int&) PrologEpilogInserter.cpp:0:0
 #7 0x00007f3690e1f5d5 (anonymous namespace)::PEI::replaceFrameIndices(llvm::MachineFunction&) PrologEpilogInserter.cpp:0:0
 #8 0x00007f3690e2595d (anonymous namespace)::PEI::runOnMachineFunction(llvm::MachineFunction&) PrologEpilogInserter.cpp:0:0
 #9 0x00007f3690ce87e4 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/tmp/llvm/obj/bin/../lib/libLLVM-15git.so+0x10367e4)
#10 0x00007f3690a05750 llvm::FPPassManager::runOnFunction(llvm::Function&) (/tmp/llvm/obj/bin/../lib/libLLVM-15git.so+0xd53750)
#11 0x00007f3690a058bc llvm::FPPassManager::runOnModule(llvm::Module&) (/tmp/llvm/obj/bin/../lib/libLLVM-15git.so+0xd538bc)
#12 0x00007f3690a063f1 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/tmp/llvm/obj/bin/../lib/libLLVM-15git.so+0xd543f1)
#13 0x00007f36986d6c50 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/tmp/llvm/obj/bin/../lib/libclang-cpp.so.15git+0x1a22c50)
#14 0x00007f3698ab43dc clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/tmp/llvm/obj/bin/../lib/libclang-cpp.so.15git+0x1e003dc)
#15 0x00007f3697656e29 clang::ParseAST(clang::Sema&, bool, bool) (/tmp/llvm/obj/bin/../lib/libclang-cpp.so.15git+0x9a2e29)
#16 0x00007f3699305209 clang::FrontendAction::Execute() (/tmp/llvm/obj/bin/../lib/libclang-cpp.so.15git+0x2651209)
#17 0x00007f3699287feb clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/tmp/llvm/obj/bin/../lib/libclang-cpp.so.15git+0x25d3feb)
#18 0x00007f3699380920 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/tmp/llvm/obj/bin/../lib/libclang-cpp.so.15git+0x26cc920)
#19 0x000055ba40f6eaec cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (./bin/clang+0x14aec)
#20 0x000055ba40f6b9c9 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#21 0x000055ba40f67f8e main (./bin/clang+0xdf8e)
#22 0x00007f368f926d0a __libc_start_main ./csu/../csu/libc-start.c:308:16
#23 0x000055ba40f6b37a _start (./bin/clang+0x1137a)
```
This is a regression from 81904454f7cdebecedb1185d8112b630a7124350.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9WN9zmzgQ_mucF409_LZ48IPjJNfMtJNMk-urR0gLVgvCByJ176-_lYDYIvGlvctdxgEhLdpvP-2uVmS1-LF6hFZz1sIsXJNZfAl8v23xEtKo8ecJLGOfL_ii-HMWX80CutN636LoLLjBXyH1rssWvK7woSyfxtt839RfgWt8zGUJLd5pTFM_SbB1XkOQzryrmbfe1FXFlLCIEm8WBLxkqsA7wf855_7Y1I3clzA8MdbwXRLNO_VN1d_VvJSqO8wL1Y3SUEk9r7Ov4_NdMLZajcquUDRNx67D0ODDHYHran8WvpFAqBa-afQ_-_igGf9GRIdvI2-2y1vMvPS-qYuGVYQ1RVeB0oZWskANmVR4tTYTYy0Z7CRnLSTPthG0ipzaQ-YHwslb6C0q36CahRuo81l4TfasaaEhTBNQgtQ5MUvZSwZGclMLIAUoaJiWtepHQjPyuVNKIvg9a1tUvbzpFDci5N50fGKKFdBgP8GuqhYdmoZPbzK8XPQ6otd0IJtlXXToDDfXe2mb5FahAVbxLEjIDZIN5EYqVso_e8g9hHyEZ0BEXi6ZPurfVl1p-q1mlAg94h08_FvmYZJ6NBUUu-4bqbRd6MeGcXiQBWr5gD5cGkPpUy3FLMCgSUk_1C743riDZ_-f5_Ync2c-5WQ6GWp6c6LgZCKap2EmEg_7qYlPmeH1QJMtetJJjJgBvmjrBcbopXewrzxHpJkzPAUX8CT0sozYoEe3DteyXa-te1qe7_K8Bf0RCobs0aPUJ8Z3UgGujG4Ir_GGSzMLNicTWRr794exrK5LS9-GdKpFu0EQy4LtKmuTGyy5vYW9Fw3pyMb7EFKLxbP9eP348cunuR9jDkOrrc1BnvlolGN1NLU6EPkJ2Aa-N1LDqem3SsDhrNGDSa4dL5__jo7j2KDWTnyr8npk9L3IQFsdMmKXDJongXgJ5zMUstVgEfUDUMoK407DTxB02RlHv9UmrdQNpqNzPG5Ijv6P-9a1ab_JI6J64OwJlM09liHL1r_nSQikweEpceIYfC6AGj1M1epHVXctUchDu8dUYd6z-O6vb0eX2pc4MFIludk_X5J1yVrJL8uafxvjYCoxpt3BbSwjibG7z5V9muxzJDSv55HlxJA8FvF7G-LA_BVw1AUXxGksfh5cp-7UCwTviC510HGgS4jOr5HZGU-AvYpoAuVf-q3vhQlCevZbs_24exvz4mXsnWC-uTcwx_37f0Ur4hCxOGD9KVia8Z8A-8kWHO5SD13vBBRxOECDCdAkzP0ToCVukvzH4J5HyLfVvnyG_R_CjRCNA9fZ52kiEo5O0FfgVv01lpqXuCdhVXjX6X2HWYWeDF9JVqi61ZK316pAFx_Sz4nIB2ACmgcw5ezd3jhJ69QCJ6KmyPwN1BtSj1hDg35D6CO2XhM53WqxjCs-Qz5JpwPf68mEAwnrwc03xJbdZqRT8o8Otnvt7l8N-77d23phizsYsMp5SUDOulJvBZSg4Y0XsT63G98vOoBFP8d8ZQo96wh9LmB40JmEl1P4UJZFoeCvWL9BJvH4MkRYX6ViDaza0pbYvys58Y_1wyO-o-Gg_4kHnzMAPA_xOQY4xcoyiRMwW_4RyL053yAaF94DVMwpO8f7-wBNWYAwHJxOsZCGXhx4Ds6bxtD17Gd9DB6AdxosovcBFiSxj4odZM7unwZ0mUPmBmeFG6Ep9FrNFAcH2xgW9Lwp77f-QSxCBOegpy6v1EsDN4_1OI9GPNWcvcT8wsh_UF2f5ZxzBOWgHsuGOM4YnkUTYIBhx_EcyqS7Daybhv0wySrc8B1rjrV_XxC7fdhxcgjFeSYfGvooilDZKZrAm6DJUp6SkbiN_2gj4wTTQ8XK8gtwrNz7_esVaHbRRSOfXqucjFJ_onSZUyDG_HO4BQo4sCfH3yARHiPbrVkJTKCs0ZZN-7GFt924XH3TCM2t0IIjrtCjePWT4-ThlJNwiZPbN84S66PMEaH7fehxJ1uCP0YaKBpoW_MpIm_qilA_9aIojvIlHiAy4CAy36exoL4fZHj-Zks_iMLYG76LXIhVKNIwZRda6hJWm4a1OzKLvJ84pF90Tbn65Y97sm07-3Uvjn26vNih_pzxkAKN_MjHhJxmSRQuE3TrlGIMiouSZVC2q1l8OQsCBd-JncJ8PYuvLuQq8ILAi4LUoz71koWIIEv9HOeIQ2AsRlswPctyYXAs6qa4aFYWUtYVrTEUz53tcRCLKXMYBKsO52ed3tXNqsB1EbKrLqzulcX-Fze9SYY">