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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `BitWidth == DL.getIndexTypeSizeInBits(getType()) && "The offset bit width does not match the DL specification."' failed
        </td>
    </tr>

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

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

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

<pre>
    llvm-project/llvm/lib/IR/Value.cpp:711: const llvm::Value *llvm::Value::stripAndAccumulateConstantOffsets(const llvm::DataLayout &, llvm::APInt &, bool, bool, function_ref<bool (llvm::Value &, llvm::APInt &)>) const: Assertion `BitWidth == DL.getIndexTypeSizeInBits(getType()) && "The offset bit width does not match the DL specification."' failed.

https://github.com/llvm/llvm-project/blob/1a4dc189ad26ced9d9a74e40fa50b7d81428edba/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp#L1567-L1568

_DL.getTypeSizeInBits_ is used, but inside _stripAndAccumulateInBoundsConstantOffsets_ function:

https://github.com/llvm/llvm-project/blob/1a4dc189ad26ced9d9a74e40fa50b7d81428edba/llvm/lib/IR/Value.cpp#L723

_DL.getIndexTypeSizeInBits_ is used for assertion. If the DataLayout of an address space is for example 64:64:64:32, the IndexTypeSize would not match the TypeSize, causing the assertion fail.

Is this intended? the type size and index size has to match here?

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMVE2P5CYQ_TX4UtoWLoztPvjgmU6vWhopUWaVPbawKdpEbrAM3tnJr4-wd-ejNznklL0YU8Creq8eqBDsxRE1TN4xecjUEgc_N4_D4mn-rNxFFph1Xj834_jl-mGa_Z_UR4bHNE2D7RgeT78zPP6hxoV2_TQx0VZ5zkQLvXchwrpVtEy06xZg2N6Ett8QZzu1Trd9v1yXUUW6T-eVi78aEygGhvUt4kFF9aCe_RKBYcnw_s1a-9vJvYQ778e3o1lcH61355kME_cpDAzrH2v9d9A9E78w3G8sE902BJoTKLCS39n42eo4ABMHJg5weNhdKJ6cpq-fnid6tH_Ryd3ZldWFYooxrBMq7jf8Ehjip4HAr_ShsxGeVkjtKYDzEa4q9gPEgeDwAGGi3hrbq1TCjiEyrMAoO5LeMd4y3g4xTiHxwCPD48XGYel2vb--6ef7LnejT_3NVaH7vN4rjWVPeq_3qiqo4EZJ3lW6zgusSXfq1hf3XtNHcgyPjzTSqveh_XgzPT3SuNoGxUMuy-pD-tZbwedNtfeCncEGWALptZ9LBOuC1QTnHw10cnd-cTrcGOn80v4kxv8izc2VQfFQoXhH-h-s8sIcjJ9BfbfbDk5mM8HrbfAGlAOl9UwhQJhUT-lwOkdf1XUaCcqCifb1IzDpmWDeZYYnv4z6xm3fF9OJXi3Bussafylp9d03150CxMEGsC6S06SZOK6b4_NEEFIK5TTYlHSbDipA9N_SDTQTE0fG20w3Qu_FXmXU5FUhpBS8lNnQmJxXRpXYGdMXRVWaSisjlJS8F4XsZGYb5Ch5wZHzvCrkThYl1X0tatkpNLJmBadrqjj1aOfnS2ZDWKjJRcF5nY2qozGsbySioydYV9MNk4ds3p7GbrkEVvDRhhheYaKNIzU_78OQLfPY_Gfvr_RDcv-mz5cG_w4AAP__uv0GYQ">