brintos

brintos / llvm-project-archived public Read only

0
0
Text · 920 B · 5be1d00 Raw
23 lines · plain
1; RUN: opt -S -disable-output -passes="print<demanded-bits>" < %s 2>&1 | FileCheck %s2 3; CHECK-LABEL: Printing analysis 'Demanded Bits Analysis' for function 'test_add':4; CHECK-DAG: DemandedBits: 0x1e for   %1 = and i32 %a, 95; CHECK-DAG: DemandedBits: 0x1a for   %2 = and i32 %b, 96; CHECK-DAG: DemandedBits: 0x1a for   %3 = and i32 %c, 137; CHECK-DAG: DemandedBits: 0x1a for   %4 = and i32 %d, 48; CHECK-DAG: DemandedBits: 0x1a for   %5 = or i32 %2, %39; CHECK-DAG: DemandedBits: 0x1a for   %6 = or i32 %4, %510; CHECK-DAG: DemandedBits: 0x10 for   %7 = add i32 %1, %611; CHECK-DAG: DemandedBits: 0xffffffff for   %8 = and i32 %7, 1612define i32 @test_add(i32 %a, i32 %b, i32 %c, i32 %d) {13  %1 = and i32 %a, 914  %2 = and i32 %b, 915  %3 = and i32 %c, 1316  %4 = and i32 %d, 4 ; no bit of %d alive, %4 simplifies to zero17  %5 = or i32 %2, %318  %6 = or i32 %4, %519  %7 = add i32 %1, %620  %8 = and i32 %7, 1621  ret i32 %822}23