1 ; This testcase tests for a problem where LICM hoists loads out of a loop
2 ; despite the fact that calls to unknown functions may modify what is being
3 ; loaded from. Basically if the load gets hoisted, the subtract gets turned
4 ; into a constant zero.
6 ; RUN: llvm-upgrade < %s | llvm-as | opt -licm -load-vn -gcse -instcombine | llvm-dis | grep load
16 %B = load int *%X ;; Should not hoist this load!
17 br bool %c, label %Loop, label %Out