[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / NewGVN / int_sideeffect.ll
blobf715d022ba010a76bfb15f459961d165357b77f6
1 ; RUN: opt -S < %s -passes=newgvn | FileCheck %s
3 declare void @llvm.sideeffect()
5 ; Store-to-load forwarding across a @llvm.sideeffect.
7 ; CHECK-LABEL: s2l
8 ; CHECK-NOT: load
9 define float @s2l(ptr %p) {
10     store float 0.0, ptr %p
11     call void @llvm.sideeffect()
12     %t = load float, ptr %p
13     ret float %t
16 ; Redundant load elimination across a @llvm.sideeffect.
18 ; CHECK-LABEL: rle
19 ; CHECK: load
20 ; CHECK-NOT: load
21 define float @rle(ptr %p) {
22     %r = load float, ptr %p
23     call void @llvm.sideeffect()
24     %s = load float, ptr %p
25     %t = fadd float %r, %s
26     ret float %t