search for: zsqr

Displaying 3 results from an estimated 3 matches for "zsqr".

Did you mean: sqr
2009 Feb 19
0
[LLVMdev] Improving performance with optimization passes
...day 19 February 2009 19:00:14 Jon Harrop wrote: > I'm toying with benchmarks on my HLVM and am unable to get any performance > improvement from optimization passes... I just disassembled some of the IR before and after optimization. This example function squares a complex number: let zsqr(r, i) = (r*r - i*i, 2*r*i) My compiler is generating: define fastcc i32 @zsqr({ double, double }*, { double, double }) { entry: %2 = alloca { double, double } ; <{ double, double }*> [#uses=2] %3 = getelementptr { double, double }* %2, i32 0 ; <{ double, double }*> [#uses=1] sto...
2009 Feb 19
6
[LLVMdev] Improving performance with optimization passes
I'm toying with benchmarks on my HLVM and am unable to get any performance improvement from optimization passes. Moreover, some of my programs generate a lot of redundant code (e.g. alloca a struct, store a struct into it and read only one field without using the rest of the struct) and this does not appear to be optimized away. I simply copied the use of PassManager from the Kaleidoscope
2009 Feb 19
1
[LLVMdev] Improving performance with optimization passes
...> This example > function squares a complex number: Something is definitely wrong with the way you're using optimization passes. > The ideal result is probably: It is indeed so: ./opt -std-compile-opts test.bc | ./llvm-dis ; ModuleID = '<stdin>' define fastcc i32 @zsqr({ double, double }* nocapture, { double, double }) nounwind { entry: %2 = extractvalue { double, double } %1, 0 ; <double> [#uses=1] %3 = extractvalue { double, double } %1, 0 ; <double> [#uses=1] %4 = mul double %2, %3 ; <double> [#uses=1] %5 = extractvalue { double, dou...