<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59386>59386</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [llvm][question][AST]expression expand 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          PressFforlove
      </td>
    </tr>
</table>

<pre>
    does llvm have some interface to solve the expression expand problem? for example:
b = a + 1
c = b + 1
d = b * c
after expression expand, we can know that:
c = a + 1 + 1
d = (a + 1 + 1) * (a + 1)
i think Reverse Polish notation will be useful for this, but i didn't find related description in llvm.

Any help would be appreciated~
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxkUstu2zoQ_RpqM4hBjyRHXGjhXEPr4LY_wMfIYkORKknZyabfXogCkhTe6HEG58HhkSnZqyfqWfvC2ksl1zyF2L9GSmkYQ3ThRpUK5qM3gRI4d5thkjeCFGYC6zPFUWqCHCAFdyPIEwG9LxvfBr99Sm9giUE5mlk9wBgi0LucF0esPjN-YfysgNUXkMDwBY47pAukvkPmEzqD3iE5ZoqPfgz_gzuBlh7efLhDnmT-NNPfzR71GXb_zlAUxy-codgJFvJk_Rv8TzeKieA1OJsm8CHLvIW5W-dAEayJxtWVk-fJpi2dWjNYMNZ4hs8ZRusNRHIykwFDSUe7FAnry84Pu-H-PPsPmMgtcA-rM5uBXJZI2m7sP5XpayNqISvqj6dn3pye64ZXU4_H9iiobTvqtFB0RNnwrmkaolaMKExle-SIR-QdxwaRH7g-KaGpVkJyNEawhtMsrTuUSCFeK5vSSn0r6u5UOanIpVIkRE93KEOGuPUq9hvnSa3XxBrubMrpSyXb7EoDN4S1F9a-_F4pbQvY_84_frL28lirao2un3Je0na7ODAcrjZPqzroMDMcit7-elpi-EU6MxxKrsRwKLn_BgAA__8lu--O">