Displaying 2 results from an estimated 2 matches for "test_noise_result".
2013 Apr 06
0
[LLVMdev] Loop-specific optimizations
...ion.
We do this in the front end already:
void test_noise(int x, int* in, int* out)
{
__attribute__((noise("inline(fn) licm wfv-vectorize(4) unroll(4)")))
for (int i=0; i<16; ++i)
{
out[i] = in[i] + fn(x);
}
}
This results in IR similar to this code:
void test_noise_result(int x, int* in, int* out)
{
// Code of "fn" (assuming it was loop invariant).
int F = ...
out[0-3] = <in[0],in[1],in[2],in[3]> + <F,F,F,F>;
out[4-7] = <in[4],in[5],in[6],in[7]> + <F,F,F,F>;
out[8-11] = <in[8],in[9],in[10],in[11]> + <F,...
2013 Apr 05
2
[LLVMdev] Loop-specific optimizations
Hi Ralf,
> we at Saarland University are working on something similar to what you
> are describing. In principle, we enhance Clang by an attribute that
> allows to specify what transformation phases should be run on the
> annotated construct (currently functions, compound statements, or loops)
> and in what order.
That definitely sounds interesting. Do you add these attributes to