xref: /aosp_15_r20/external/llvm/test/Transforms/GVN/basic-undef-test.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt -basicaa -gvn -S < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; ModuleID = 'test3.ll'
3*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine i32 @main(i32 *%foo)  {
6*9880d681SAndroid Build Coastguard Workerentry:
7*9880d681SAndroid Build Coastguard Worker; CHECK: load i32, i32* %foo, align 4
8*9880d681SAndroid Build Coastguard Worker  %0 = load i32, i32* %foo, align 4
9*9880d681SAndroid Build Coastguard Worker  store i32 5, i32* undef, align 4
10*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: load i32, i32* %foo, align 4
11*9880d681SAndroid Build Coastguard Worker  %1 = load i32, i32* %foo, align 4
12*9880d681SAndroid Build Coastguard Worker; CHECK: add i32 %0, %0
13*9880d681SAndroid Build Coastguard Worker  %2 = add i32 %0, %1
14*9880d681SAndroid Build Coastguard Worker  ret i32 %2
15*9880d681SAndroid Build Coastguard Worker}
16