<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/77621>77621</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[FatLTO][UnifiedLTO] Unified lto pipeline sometimes misses running LowerMatrixIntrinsicsPass
</td>
</tr>
<tr>
<th>Labels</th>
<td>
LTO
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mandlebug
</td>
</tr>
</table>
<pre>
Problem is exposed when using `-fenable-matrix` with either `-ffat-lto-objects` or `-funified-lto` and performing a full lto link step. The `matrix-types-spec` test from test-site is a good example of the failure.
Eg for fat lto
```
clang++ -DNDEBUG -O3 -fomit-frame-pointer -flto -ffat-lto-objects -fenable-matrix -o SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -c <testsuite-path>/SingleSource/UnitTests/matrix-types-spec.cpp
clang++ -O3 -fomit-frame-pointer -flto -ffat-lto-objects -fno-split-lto-unit -DNDEBUG -fenable-matrix SingleSource/UnitTests/CMakeFiles/matrix-types-spec.dir/matrix-types-spec.cpp.o -o SingleSource/UnitTests/matrix-types-spec
```
Link step crashes with the following output:
```
WidenVectorResult #0: t132: v9f64,ch = llvm.matrix.column.major.load t639, TargetConstant:i64<211>, FrameIndex:i64<33>, Constant:i64<3>, TargetConstant:i1<0>, TargetConstant:i32<3>, TargetConstant:i
32<3>
LLVM ERROR: Do not know how to widen the result of this operator!
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VF9vnDgQ_zTelxEI7F2SfeAh2Q2nSsmlSpPes4EB3BgPsodu-u1Phm171-Qi3UNXK8x4_v_4zegQTO8QS7G7FrvjRs88kC9H7VqL9dxvamq_lR891RZHMAHwZaKALZwGdDAH43oQRZZ06HRtMRk1e_MiigxOhgdAwwP61aLTnFimhOov2HCINnRWzc50BtuojtfatTCh78iPMb6GbrYWLBNY454hME4pPA4YndeECX-bMCRhwiYGYAwMnadxeUuCYYy1a-iJWsAXPU4WgTrgAaHTxs4eU5EdRXa1Pm966MhDpzmmPWuK7PxfxMZq1wt5LeQ1JMc_jzfXT38AJPcKko5Gw0nn9YjJRMYxeki6WP8rFOAX5CAh-GRcb_ETzb5BIasnZ_gRAwchq8OdfsbKWIzCq9bT1vg375tpSgmSBoQ6RETCbBiTSfMg1I2Q1TsZ3wz2T6j-hcP_795REiZr1uvZGf4J5q_Q_DZc3oX8NcHeYsP6vP1OT2i8DgOGdQoWlpG1dIp0ppmnmYW6ejPQX6ZF9xkbJv-AYbYMQqpMqCvgXMl4ft13xVbIQzOAUEew9uuYrkWmDdl5dOmov5BPLekWuFB7IQ_wqH2PfCAXWLuY3BRboQ4yzxcGHKCK3-uDa_Hlh1Kps-6V23fF66i5UIfsP7WxgXecVwR-GMEqn4_b2893cPPwcP8QQTgSOGJ4dnSCgU7ABKeI3IK1X4Fb5tsEoAm9ZvJC5rD83gR-05aq3au93mCZX2TbfVbk-X4zlLLIu-1eK6kz1TZa1rjbS6VavJS7y0tVb0wpM7nN8jzLL7J8d5lqzLVURX6Z72WXZ5nYZjhqY9PlW5HvNyaEGcuLi0LmG6trtGFZwFLePt4LKeMm9mW0Tuq5D2KbWRM4_PRnw3bZ2ZXm6LI7it3107pFVxnO0rI2JzOhNQ4h0IhsRgwwmhAwgJ-di6S8pRP6u4VFHxx744Jpwkcdwmb2thyYpxAZKyshq97wMNdpQ6OQVSzpfCSTpzjWQlZLf3F6lhb_DgAA__9EFRDD">