; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -S -globals-aa -early-cse-memssa -earlycse-debug-hash | FileCheck %s define i16 @f1() readonly { ret i16 0 } declare void @f2() ; Check that EarlyCSE correctly handles function calls that don't have ; a MemoryAccess. In this case the calls to @f1 have no ; MemoryAccesses since globals-aa determines that @f1 doesn't ; read/write memory at all. define void @f3() { ; CHECK-LABEL: @f3( ; CHECK-NEXT: [[CALL1:%.*]] = call i16 @f1() ; CHECK-NEXT: call void @f2() ; CHECK-NEXT: ret void ; %call1 = call i16 @f1() call void @f2() %call2 = call i16 @f1() ret void }