[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.



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