forked from OSchip/llvm-project
21 lines
495 B
LLVM
21 lines
495 B
LLVM
; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load
|
|
|
|
; This test requires the use of previous analyses to determine that
|
|
; doesnotmodX does not modify X (because 'sin' doesn't).
|
|
|
|
%X = internal global int 4
|
|
|
|
declare double %sin(double)
|
|
|
|
int %test(int *%P) {
|
|
store int 12, int* %X
|
|
call double %doesnotmodX(double 1.0)
|
|
%V = load int* %X
|
|
ret int %V
|
|
}
|
|
|
|
double %doesnotmodX(double %V) {
|
|
%V2 = call double %sin(double %V)
|
|
ret double %V2
|
|
}
|