Hi,
I am kooking ways to reduce the code size. What loop optimizations could
increase the code size significantly?
The optimization I know are: unswitch, vectorization, prefetch and unrolling.
We should not perform these optimizations if the loop just roll a few
iterations.
In addition, what l
>> It seems the auto-vectorizer could not recognize that this loop will
>> roll at most 3 times.
>> And it will generate quite messy code.
>>
>> int a[1024], b[1024];
>> void foo (int n)
>> {
>> int i;
>> for (i = (n/4)*4; i< n; i++)
>> a[i] = a[i] + b[i];
>> }
>>
>> How can we correctly
It seems the auto-vectorizer could not recognize that this loop will roll at
most 3 times.
And it will generate quite messy code.
int a[1024], b[1024];
void foo (int n)
{
int i;
for (i = (n/4)*4; i< n; i++)
a[i] = a[i] + b[i];
}
How can we correctly estimate the number of iteratio
> >No you should not generate addresses for VCEs that contain a SSA_NAME.
> > I think you should check if get_base_address is a
> >is_gimple_addressable inside gather_memory_references_ref.
>
> There, TREE_CODE ( get_base_address (ref)) == SSA_NAME
>
> and get_base_address (ref) is is_gimple_addr
>No you should not generate addresses for VCEs that contain a SSA_NAME.
> I think you should check if get_base_address is a
>is_gimple_addressable inside gather_memory_references_ref.
There, TREE_CODE ( get_base_address (ref)) == SSA_NAME
and get_base_
Hi,
I am working on bug 45260 and found that the problem is related to
VIEW_CONVERT_EXPR.
In the prefetching pass, we generate the base address for the prefetching:
tree-ssa-loop-prefetch.c (issue_prefetch_ref):
addr_base = build_fold_addr_expr_with_type (ref->mem, ptr_type_node);
+ gcc_asser