1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Transforms/EarlyCSE/globalsaa-memoryssa.ll
Geoff Berry 9de6b5b6de [EarlyCSE] Handle calls with no MemorySSA info.
Summary:
When checking for memory dependencies between calls using MemorySSA,
handle cases where the calls have no MemoryAccess associated with them
because the AA analysis being used has determined that the call does not
read/write memory.

Fixes PR33756

Reviewers: dberlin, davide

Subscribers: mcrosier, llvm-commits, Prazek

Differential Revision: https://reviews.llvm.org/D35317

llvm-svn: 308051
2017-07-14 20:13:21 +00:00

26 lines
653 B
LLVM

; 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
}