[LLVMdev] GVN Infinite loop
Arushi Aggarwal
arushi987 at gmail.com
Tue May 3 18:53:19 PDT 2011
Mainline.
------------------------------
From: John Criswell
Sent: Tuesday, May 03, 2011 8:34 PM
To: Arushi Aggarwal
Cc: LLVM Dev
Subject: Re: [LLVMdev] GVN Infinite loop
On 5/3/11 5:25 PM, Arushi Aggarwal wrote:
Hi,
GVN seems to be running in an infinite loop on my example. I have attached
the output of one iteration. I cant seem to reduce the testcase either.
Are you running with LLVM 2.9 or LLVM mainline?
-- John T.
Any pointers to how to reduce the test case.
THanks,
Arushi
GVN iteration: 8
GVN WIDENED LOAD: %0 = load i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23), align 2, !dbg !875
TO: %1 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN COERCED INST:
%0 = load i8* getelementptr inbounds (%struct.CHESS_POSITION* @search, i64
0, i32 23), align 2, !dbg !875
%1 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
%3 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN removed: %3 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN WIDENED LOAD: %0 = load i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23), align 2, !dbg !875
TO: %1 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN COERCED INST:
%0 = load i8* getelementptr inbounds (%struct.CHESS_POSITION* @search, i64
0, i32 23), align 2, !dbg !875
%1 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
%6 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN removed: %6 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN WIDENED LOAD: %0 = load i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23), align 2, !dbg !875
TO: %1 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN COERCED INST:
%0 = load i8* getelementptr inbounds (%struct.CHESS_POSITION* @search, i64
0, i32 23), align 2, !dbg !875
%1 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
%9 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN removed: %9 = load i16* bitcast (i8* getelementptr inbounds
(%struct.CHESS_POSITION* @search, i64 0, i32 23) to i16*), align 2
GVN removed: %10 = trunc i16 %1 to i8
GVN removed: %10 = trunc i16 %3 to i8
GVN removed: %10 = trunc i16 %5 to i8
GVN iteration: 9
_______________________________________________
LLVM Developers mailing listLLVMdev at cs.uiuc.edu
http://llvm.cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110503/73a6bd31/attachment.html>
More information about the llvm-dev
mailing list