<br><div>Hello, all. To get my feet wet and hopefully make a small contribution, I was looking for something small to start with. I settled on one of the suggestions from the CodeGen readme:</div><div><br></div><div><div>> Reassociate should turn things like:</div>
<div>> </div><div>> int factorial(int X) {</div><div>>  return X*X*X*X*X*X*X*X;</div><div>> }</div><div>> </div><div>> into llvm.powi calls, allowing the code generator to</div><div>> produce balanced multiplication trees.</div>
<div><br></div><div>I started getting familiar with the relevant parts of the code and see two problems with this as things currently stand:</div><div><br></div><div> - llvm.powi, in both the documentation and the code, is a floating-point-only intrinsic.</div>
<div><br></div><div> - the reassociate pass avoids doing anything to floating point operands regardless of the state of the "enable-unsafe-fp-math" flag.</div><div><br></div><div>Both of these are adjustable, but as I'm trying to ramp up I figured it would be good to ask to make sure I'm understanding what I'm seeing correctly. If I am, I feel like perhaps I've chosen poorly for a starting project.</div>
<div><br></div><div> - Kyle</div></div>