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

    <tr>
        <th>Summary</th>
        <td>
            `Invalid size request on a scalable vector.` when building Android libart.so for armv9
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          pirama-arumuga-nainar
      </td>
    </tr>
</table>

<pre>
    In https://android-review.googlesource.com/c/platform/build/soong/+/2292699, there's a build failure when compiling for armv9 with LTO.
> LLVM ERROR: Invalid size request on a scalable vector.

Please see repro at https://android-review.googlesource.com/c/platform/prebuilts/clang/host/windows-x86/+/2345751 [1].

Clang treats errors related to SVE size as warnings by passing [-mllvm,-treat-scalable-fixed-error-as-warning](https://github.com/llvm/llvm-project/blob/f45195784168cced1e12fe888d6a906b8a4b424f/clang/lib/Driver/ToolChains/Clang.cpp#L5477). It's not clear if this flag is still needed or just a forgotten cleanup. The `-treat-scalable-fixed-error-as-warning` workaround is not in place during LTO (as mentioned [here](https://reviews.llvm.org/D98856#2647927)) and needs to be explicitly passed to the backend via -Wl.

[1] This is in AOSP gerrit to workaround file-size issues in github/phabricator.  To fetch it, please run:
> git fetch https://android.googlesource.com/platform/prebuilts/clang/host/windows-x86 refs/changes/51/2345751/1 && git checkout FETCH_HEAD

(@kbeyls @enh-google @stephenhines )
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVM1u2zgQfhr6MpAhjfV78MGNI7RAFilSo3tcjKSRxIYmtSRlJ_v0C0pp0wA5bLCAYVsQZzjf35BzctDMe5F9EtlxQ7Mfjd1P0tKZIrLzeR4o0iQ12U1juuf9Fw2j95MTu4PAWmBNurNGdpHli-TrdjBmUOzMbFvetuYssG4F1pMi3xsbHptZqk5g7YzRw9Ljk8AascK8qgTegB_ZssDCAcFyGHqSarYM15E1tOY8SSX1AL2xQPZ8qeAq_Qh3p_utiI8iPojdLdzdff8Dbh8e7h_E7gBf9IWU7MDJfxgs_z2z82A0ELiWFDWK4cKtN_Znh-X7q2JyDI5DzWQNkP-_6CfLAZN34ZWihYHROC-wvkrdmauLnsr8lZZdmhVZAiL7lIjs-Ga6m1AO3jJ5B2ytsQ4sK_LcgTfw7fvtCpccXMlqqQcHzTNMQXQ9hJbRWanLWeBNtHSJfnIR9fKJu2jpGZGLXspFdhRYviVgkH6cmxesa7flJ5qs-cFtwNUo0wis-zRLqqwo0yQv25a7hBPsuSzLLqcqzpuS0ibFtP-NGCVD4dHKC1uB9ckYdTOS1IG8Bf22nSaBu7ssLQqB1Ra--MU42nhoFZMF2YMfpYNe0QDSgfNSKdDMHXdgLPyYnQcKVhqM98FeiknP0xZOI4PI4_9ITR7D1dhHsmbWXbgojCA1TIpahm62gfK70z0ILMnBmbWXRnMXZFj8_g63q6ncNvC5NTYwcqzKMssF7jBPiwoDaIEVkO4WTC4I3zDw06RkK71a5V4N4UeGhtpH1h1cJEH0p3rjpxePwSnwFT4aDvffvsLA1kofOvyGsJeKo8Ve0rmZl9OrF4LJR2qsbCnkCeBkoGffjiB9iPe0hsrOOgD9lddB-pdj7ybsvWh9OFZguV9OjKQHDv-y5DVkAusEBOYC82WaduT20cwe6tvTzee_Pt8ejm_owlKk8WPDz8qBSGPWY7QOGZ6c52lkPUrNDgRWm26_66pdRRveJ3kRl0WOeb4Z91WeV22SYI5VmiYY5-Uu7uI2bwqmHvtiI_cYIyaYIMZJkWbbKq3KDEvCoq-arK_C3WeS6pdPNosk-6xKy3ijqGHllgWPqPm66iUQw763-yWrzTw4kcZKOv_qto2XXvFe5PEHlmeIQVjSy94Olj-s8oGSDVm_deZ1a29mq_Yf3iar3YJ0Ad6_AQAA__9XUzIi">