reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -S -globals-aa -early-cse-memssa | 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 } |