xref: /llvm-project/llvm/test/Transforms/InferAlignment/undef-and-null.ll (revision 0f152a55d3e4e71f7c795bf555e40c8895b97077)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
2; RUN: opt -passes=infer-alignment -S < %s | FileCheck %s
3
4define void @load_undef_null(ptr %P) {
5; CHECK-LABEL: define void @load_undef_null
6; CHECK-SAME: (ptr [[P:%.*]]) {
7; CHECK-NEXT:    [[RET_0:%.*]] = load i32, ptr undef, align 4
8; CHECK-NEXT:    [[RET_1:%.*]] = load i32, ptr null, align 4294967296
9; CHECK-NEXT:    ret void
10;
11  %ret.0 = load i32, ptr undef
12  %ret.1 = load i32, ptr null
13  ret void
14}
15
16define void @store_undef_null(ptr %P) {
17; CHECK-LABEL: define void @store_undef_null
18; CHECK-SAME: (ptr [[P:%.*]]) {
19; CHECK-NEXT:    store i32 123, ptr undef, align 4
20; CHECK-NEXT:    store i32 124, ptr null, align 4294967296
21; CHECK-NEXT:    ret void
22;
23  store i32 123, ptr undef
24  store i32 124, ptr null
25  ret void
26}
27