Displaying 3 results from an estimated 3 matches for "float_size".
Did you mean:
flist_size
2010 Oct 28
0
[LLVMdev] Landing my new development on the trunk ...
On Wed, Oct 27, 2010 at 1:29 PM, Brian West <bnwest at rice.edu> wrote:
> Here is the patch for the new Operator Strength Reduction optimization
> pass that I have written. The bulk of the code is in
>
> lib/Transforms/Scalar/OperatorStrengthReduce.cpp
>
> The algorithm finds reduction opportunities in both array accesses and
> explicit multiplications within loops.
2010 Oct 27
2
[LLVMdev] Landing my new development on the trunk ...
Here is the patch for the new Operator Strength Reduction optimization
pass that I have written. The bulk of the code is in
lib/Transforms/Scalar/OperatorStrengthReduce.cpp
The optimization is based on the algorithm described within the paper
that can be found here:
http://portal.acm.org/citation.cfm?id=504709.504710
Keith D. Cooper , L. Taylor Simpson , Christopher A. Vick, Operator
strength
2010 Oct 28
3
[LLVMdev] Landing my new development on the trunk ...
...op-reduce (LSR) only looks at implicit multiplication in array accesses. The following code has an explicit multiplication within a loop that LSR will not reduce:
extern float
loop4(float* a, int start, int stop)
{
int i;
float sum;
float *pEntry;
char *p;
unsigned long offset;
const unsigned int float_size = sizeof(float);
sum = 0.0;
p = (char*)a;
for (i=start-1; i<stop; ++i) {
offset = i * float_size;
pEntry = (float*) (p + offset);
sum += *pEntry;
}
return sum;
}
OSR also finds reductions in some esoteric array accesses that LSR
misses. I found these LSR misses while writing less-than-real-w...