[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / NewGVN / non-integral-pointers.ll
blob6119577d3b2422e04a9a9ba535953aca7b4b8ac4
1 ; RUN: opt -passes=newgvn -S < %s | FileCheck %s
3 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4"
4 target triple = "x86_64-unknown-linux-gnu"
6 define void @f0(i1 %alwaysFalse, i64 %val, ptr %loc) {
7 ; CHECK-LABEL: @f0(
8 ; CHECK-NOT: inttoptr
9 ; CHECK-NOT: ptrtoint
10  entry:
11   store i64 %val, ptr %loc
12   br i1 %alwaysFalse, label %neverTaken, label %alwaysTaken
14  neverTaken:
15   %ptr = load ptr addrspace(4), ptr %loc
16   store i8 5, ptr addrspace(4) %ptr
17   ret void
19  alwaysTaken:
20   ret void
23 define i64 @f1(i1 %alwaysFalse, ptr addrspace(4) %val, ptr %loc) {
24 ; CHECK-LABEL: @f1(
25 ; CHECK-NOT: inttoptr
26 ; CHECK-NOT: ptrtoint
27  entry:
28   store ptr addrspace(4) %val, ptr %loc
29   br i1 %alwaysFalse, label %neverTaken, label %alwaysTaken
31  neverTaken:
32   %int = load i64, ptr %loc
33   ret i64 %int
35  alwaysTaken:
36   ret i64 42