[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / EarlyCSE / int_sideeffect.ll
blobd59836ccfc1d4354ae4db41c5f1a7bdd2f3f199e
1 ; RUN: opt -S < %s -passes=early-cse -earlycse-debug-hash | 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