Constant propagation behavior


I am wondering why the constant propagation pass for 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 ( 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.