<div dir="ltr">Of course, but it's nothing to do with LLVM, it's purely about normal programming in your front end in whatever language you are using.<div><br></div><div>Assuming you have some suitable classes defined for your parse tree you'll write something like this:</div><div><br></div><div><div>if node.type = functionType and</div><div>   <a href="http://node.fn.name">node.fn.name</a> = "sqrt" and</div><div>   node.fn.args.len = 1 and</div><div>   node.fn.args[0].isConstant</div><div>then</div><div>   float result = sqrt(node.fn.args[0].constantValue)</div><div>   replaceNode(node, newLiteralNode(result))</div><div>endif</div></div><div><br></div><div>.. just using whatever sqrt funtion your programming language has built in.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 18, 2016 at 12:33 AM, Pranav Kuber via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi everyone!<div><br></div><div>I am new to llvm and excuse me if this is a wrong question for this forum. </div><div><br></div><div>I am trying to design a front end for my own programming language using the LLVM infrastructure for a personal project. It's a very simple procedural language for now; no object oriented business.</div><div><br></div><div>I am playing around with a simple concept and was wondering if it's possible to implement it in the LLVM environment.</div><div><br></div><div>Consider I have a simple declaration statement.</div><div><br></div><div>float array a[sqrt(9)];</div><div><br></div><div>Is it possible to evaluate "sqrt(9)" before generating LLVM IR by calling some math library function? This is still compile time and way before the JIT kicks in, so I won't be able to take advantage of the JIT. In other words, the LLVM IRBuilder would probably see something like -- "float array a[3];", and won't even know that "sqrt(9)" existed. Only my parser would be aware of its existence.</div><div><br></div><div>Let me know if this is possible.</div><div><br></div><div>Thanks,</div><div>Pranav</div><div><br></div><div><br></div></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>