I am wondering why the constant propagation pass for http://paste.ofcode.org/6upqApjEAy5WYjnFgjQxvj does not propagate the 4660 integer (line 57 after optim).
If I understand correctly, the lines:
store i64 4660, i64* %I
%Ldq = load i64* %I
store i64 %Ldq, i64* @rbp
May be transformed to :
store i64 4660, i64* @rbp
But I am unable to find the correct passes to apply. I found some related post on the mailing list (http://lists.cs.uiuc.edu/pipermail/llvmdev/2005-January/003232.html) but both gcse and load-vn have disappeared into the latest LLVM. I tried to analyze the alias analysis with -count-aa, but I have no idea how to use it to debug my problem.