brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · c5e7643 Raw
81 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=sccp -S | FileCheck %s3 4@Y = constant [6 x i101] [ i101 12, i101 123456789000000, i101 -12,5  i101 -123456789000000, i101 0,i101 9123456789000000]6 7define i101 @array() {8; CHECK-LABEL: @array(9; CHECK-NEXT:    ret i101 12345678900000010;11  %A = getelementptr [6 x i101], ptr @Y, i32 0, i32 112  %B = load i101, ptr %A13  %D = and i101 %B, 114  %DD = or i101 %D, 115  %E = trunc i101 %DD to i3216  %F = getelementptr [6 x i101], ptr @Y, i32 0, i32 %E17  %G = load i101, ptr %F18 19  ret i101 %G20}21 22define i101 @large_aggregate() {23; CHECK-LABEL: @large_aggregate(24; CHECK-NEXT:    [[D:%.*]] = and i101 undef, 125; CHECK-NEXT:    [[DD:%.*]] = or i101 [[D]], 126; CHECK-NEXT:    [[G:%.*]] = getelementptr i101, ptr getelementptr inbounds nuw (i8, ptr @Y, i64 80), i101 [[DD]]27; CHECK-NEXT:    [[L3:%.*]] = load i101, ptr [[G]], align 428; CHECK-NEXT:    ret i101 [[L3]]29;30  %B = load i101, ptr undef31  %D = and i101 %B, 132  %DD = or i101 %D, 133  %F = getelementptr [6 x i101], ptr @Y, i32 0, i32 534  %G = getelementptr i101, ptr %F, i101 %DD35  %L3 = load i101, ptr %G36  ret i101 %L337}38 39define i101 @large_aggregate_2() {40; CHECK-LABEL: @large_aggregate_2(41; CHECK-NEXT:    [[D:%.*]] = and i101 undef, 142; CHECK-NEXT:    [[DD:%.*]] = or i101 [[D]], 143; CHECK-NEXT:    [[G:%.*]] = getelementptr i101, ptr getelementptr inbounds nuw (i8, ptr @Y, i64 80), i101 [[DD]]44; CHECK-NEXT:    [[L3:%.*]] = load i101, ptr [[G]], align 445; CHECK-NEXT:    ret i101 [[L3]]46;47  %D = and i101 undef, 148  %DD = or i101 %D, 149  %F = getelementptr [6 x i101], ptr @Y, i32 0, i32 550  %G = getelementptr i101, ptr %F, i101 %DD51  %L3 = load i101, ptr %G52  ret i101 %L353}54 55define void @index_too_large() {56; CHECK-LABEL: @index_too_large(57; CHECK-NEXT:    store ptr getelementptr (i8, ptr @Y, i64 18014398509481952), ptr undef, align 858; CHECK-NEXT:    ret void59;60  %ptr1 = getelementptr [6 x i101], ptr @Y, i32 0, i32 -161  %ptr2 = getelementptr i101, ptr %ptr1, i101 922449793676161843162  store ptr %ptr2, ptr undef63  ret void64}65 66; OSS-Fuzz #3919767; https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3919768@0 = external dso_local unnamed_addr constant [16 x i8]69define void @ossfuzz_39197() {70; CHECK-LABEL: @ossfuzz_39197(71; CHECK-NEXT:  entry:72; CHECK-NEXT:    ret void73;74entry:75  %B5 = or i72 0, 236118324143482260684776  %i = add nuw nsw i72 %B5, 077  %i1 = lshr i72 %i, 178  %i2 = getelementptr inbounds [4 x [4 x i8]], ptr @0, i72 0, i72 0, i72 %i179  ret void80}81