Hi,<br><br>I hope this is the right place to ask it, sorry if I'm wrong...<br><br>My compiler is generating this code:<br><br>(line numbers included) (Please ignore the extra br label %b0 and the whole b0)<pre><span class="linenum">...<br>
  54</span>  <span class="keyword">define</span> <span class="type">i32</span> <span class="ident">@std_lang__rest</span>() {<br><span class="linenum">  55</span>    <span class="label">entry</span>:<br><span class="linenum">  56</span>      %ret = <span class="keyword">alloca</span> <span class="type">i32</span>                        <span class="comment">; <i32*> int*</span><br>
<span class="linenum">  57</span>      %0 = <span class="keyword">icmp</span> <span class="keyword">eq</span> <span class="type">i32</span> <span class="value">4</span>, <span class="value">5</span>                    <span class="comment">; <i1> boolean</span><br>
<span class="linenum">  58</span>      <span class="keyword">br</span> <span class="type">i1</span> %0, <span class="type">label</span> %<span class="label">b0_t</span>, <span class="type">label</span> %<span class="label">b0_f</span><br>
<span class="linenum">  59</span>    <span class="label">b0_t</span>:<br><span class="linenum">  60</span>      %1 = <span class="keyword">add</span> <span class="type">i32</span> <span class="value">5</span>, <span class="value">2</span>                        <span class="comment">; <i32> int</span><br>
<span class="linenum">  61</span>      <span class="keyword">store</span> <span class="type">i32</span> %1, <span class="type">i32</span>* %ret<br><span class="linenum">  62</span>      <span class="keyword">br</span> <span class="type">label</span> %<span class="label">return</span><br>
<span class="linenum">  63</span>      <span class="keyword">br</span> <span class="type">label</span> %<span class="label">b0</span><br><span class="linenum">  64</span>    <span class="label">b0_f</span>:<br><span class="linenum">  65</span>      <span class="keyword">store</span> <span class="type">i32</span> <span class="value">5</span>, <span class="type">i32</span>* %ret<br>
<span class="linenum">  66</span>      <span class="keyword">br</span> <span class="type">label</span> %<span class="label">return</span><br><span class="linenum">  67</span>      <span class="keyword">br</span> <span class="type">label</span> %<span class="label">b0</span><br>
<span class="linenum">  68</span>    <span class="label">b0</span>:<br><span class="linenum">  69</span>      <span class="keyword">store</span> <span class="type">i32</span> <span class="value">0</span>, <span class="type">i32</span>* %ret<br>
<span class="linenum">  70</span>      <span class="keyword">br</span> <span class="type">label</span> %<span class="label">return</span><br><span class="linenum">  71</span>    <span class="label">return</span>:<br><span class="linenum">  72</span>      %2 = <span class="keyword">load</span> <span class="type">i32</span>* %ret                      <span class="comment">; <i32> int</span><br>
<span class="linenum">  73</span>      <span class="keyword">ret</span> <span class="type">i32</span> %2<br><span class="linenum">  74</span>  }<br>...<br></pre><br><span style="font-family: courier new,monospace;">llvm-as std_lang.ll</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">llvm-as: std_lang.ll:72:5: error: instruction expected to be numbered '%4'</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    %2 = load i32* %ret                      ; <i32> int</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ^</span><br><br>Why %4 ??? what I did wrong?<br clear="all"><br>-- <br>Judison<br><a href="mailto:judison@gmail.com" target="_blank">judison@gmail.com</a><br><br>"O ignorante que procura se instruir é como um sábio; o sábio que fala sem discernimento se assemelha a um ignorante." Imam Ali (as)<br>