https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106157
--- Comment #1 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
Silly question...
In the lto1 that ICEs, we have the following in
a.ltrans0.ltrans.094t.fixup_cfg3 (i.e. before DOM even comes into the picture):
// Local variable
struct VideoFrame videoFrame;
...
...
...
<bb 2> [local count: 1073741824]:
_5 = MEM[(struct VideoThumbnailer *)this_1(D)].m_MaintainAspectRatio;
_6 = (int) _5;
_7 = MEM[(struct VideoThumbnailer *)this_1(D)].m_ThumbnailSize;
_12 = &MEM[(struct VideoFrame &)&videoFrame].frameData;
__pos_13 = MEM[(struct vector *)&videoFrame + 8B].D.4741._M_impl._M_start;
_14 = MEM[(struct vector *)&videoFrame + 8B].D.4741._M_impl._M_finish;
if (__pos_13 != _14)
goto <bb 3>; [70.00%]
else
goto <bb 4>; [30.00%]
Aren't we reading from videoFrame before it's set?