40 lines · plain
1; RUN: opt -disable-output "-passes=print<scalar-evolution>" < %s 2>&1 | FileCheck %s2 3; ScalarEvolution shouldn't attempt to interpret expressions which have4; undefined results.5 6define void @foo(i64 %x) {7 8 %a = udiv i64 %x, 09; CHECK: --> (%x /u 0)10 11 %B = shl i64 %x, 6412; CHECK: --> %B13 14 %b = ashr i64 %B, 6415; CHECK: --> %b16 17 %c = lshr i64 %x, 6418; CHECK: --> %c19 20 %d = shl i64 %x, 6421; CHECK: --> %d22 23 %E = shl i64 %x, -124; CHECK: --> %E25 26 %e = ashr i64 %E, -127; CHECK: --> %e28 29 %f = lshr i64 %x, -130; CHECK: --> %f31 32 %g = shl i64 %x, -133; CHECK: --> %g34 35 %h = bitcast i64 undef to i6436; CHECK: --> undef37 38 ret void39}40