<div>Hi!</div><div> </div><div> </div><div>( Which version LLVM has used?)</div><div> </div><div>It's related "Issue #758" or</div><div><div>https://github.com/modula3/cm3/commit/8098c080e5f78067d294fcabe0052bf1503e3a3e</div></div><div>?</div><div> </div><div>Best regards, Victor Miasnikov</div><div>P.S. Who personal is list owner / admin?  </div><div> </div><div> </div><div>13.10.2021, 09:54, "Peter McKinna":</div><blockquote><div>Hi all,<div> </div><div>Well in particular Rodney I think.</div><div> </div><div>In the recent update to the front end towards fixing the problem of p286</div><div>a couple of new test cases were added.</div><div> </div><div>In p287 the IR for Def.i3 is (slightly truncated)</div><div> </div><div>begin_unit 0</div><div>widechar_size 16<br />-----FILE ../Def.i3  -----<br />-----LINE 8  -----<br /># module global constants<br />declare_segment * -1 T v.1<br /># module global data<br />declare_segment I_Def -1 F v.2<br />-----LINE 35  -----<br />declare_procedure Def_I3 1 Addr 0 0 T * p.1<br />declare_param mode 8 8 Int.64 425470580 F F 100 v.3<br />declare_subrange -2010631721 425470580 0 2 8<br />declare_array -740737411 -2010631721 425470580 192<br />declare_pointer -1719270566 -740737411 * T<br />declare_indirect 740737410 -740737411<br />declare_proctype -1356247649 1 0 0 0<br />declare_formal LFForm 740737410<br />import_procedure Named_I3 1 Addr 0 p.2<br />declare_param mode 8 8 Int.64 425470580 F F 100 v.4<br />load v.2 136 Addr Addr<br />load_indirect 104 Addr Addr<br />pop Addr<br />declare_proctype 329603199 1 0 0 0<br />declare_formal NFForm 740737410<br />declare_open_array -201264165 425470580 128<br />declare_pointer 562018850 -201264165 * T<br />load v.2 136 Addr Addr<br />load_indirect 112 Addr Addr<br />pop Addr</div><div>...</div><div> </div><div>I was going to raise this as an issue but I'm not entirely sure it is one.</div><div>(Well it is for llvm, but maybe not in a wider context since gcc handles it ok)</div><div> </div><div>m3llvm crashed trying to generate code for the first load which is outside</div><div>a begin_procedure and hence has no basic block and no module.</div><div> </div><div>So I was wondering how this can be legal and if the stack is in a fit state</div><div>to handle any pop's (or push's for that matter)</div><div> </div><div>Regards Peter</div><div> </div><div> </div><div> </div></div>,<p>_______________________________________________<br />M3devel mailing list<br /><a href="mailto:M3devel@elegosoft.com" rel="noopener noreferrer">M3devel@elegosoft.com</a><br /><a href="https://m3lists.elegosoft.com/mailman/listinfo/m3devel" rel="noopener noreferrer">https://m3lists.elegosoft.com/mailman/listinfo/m3devel</a></p></blockquote>