[LLVMdev] TOT opt does not terminate!
Gaster, Benedict
Benedict.Gaster at amd.com
Fri Sep 4 09:37:52 PDT 2009
The following code causes opt to not terminate!
With TOT this morning, and of a week ago:
clang foo.c and clang -O1 foo.c
work fine.
clang -O2 foo.c and clang -O3 foo.c
do not terminate. (At least after 10 minutes)
If I generate the bit code (clang-cc -emit-llvmbc) and then run:
opt -O3 foo.bc
it does not terminate.
//foo.c
int get_id(int);
typedef short short2 __attribute__ ((vector_size (2)));
union _X {
short2 s;
int i;
};
typedef union _X X;
inline short2 as_short2(int x)
{
X result;
result.i = x;
return result.s;
}
inline int as_int(short2 x)
{
X result;
result.s = x;
return result.i;
}
void short2_int_swap(
short2* b,
int* c)
{
int gidx = get_id(0);
short2 bval = b[gidx];
int cval = c[gidx];
b[gidx] = as_short2(cval);
c[gidx] = as_int(bval);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090904/cd0940bf/attachment.html>
More information about the llvm-dev
mailing list