1 ; Test that LICM uses basicaa to do alias analysis, which is capable of
2 ; disambiguating some obvious cases. The ToRemove load should be eliminated
3 ; in this testcase. This testcase was carefully contrived so that GCSE would
4 ; not be able to eliminate the load itself, without licm's help. This is
5 ; because, for GCSE, the load is killed by the dummy basic block.
7 ; RUN: if as < %s | opt -basicaa -licm -gcse -simplifycfg -instcombine | dis | grep ToRemove
17 %ToRemove = load int* %A
21 store int %Atmp, int* %B ; Store cannot alias %A
23 br bool %c, label %Out, label %Loop
25 %X = sub int %ToRemove, %Atmp