<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">