Home | History | Annotate | Download | only in DemandedBits
      1 ; RUN: opt -S -demanded-bits -analyze < %s | FileCheck %s
      2 ; RUN: opt -S -disable-output -passes="print<demanded-bits>" < %s 2>&1 | FileCheck %s
      3 
      4 ; CHECK-DAG: DemandedBits: 0xff000000 for   %1 = or i32 %x, 1
      5 ; CHECK-DAG: DemandedBits: 0xff for   %2 = call i32 @llvm.bitreverse.i32(i32 %1)
      6 ; CHECK-DAG: DemandedBits: 0xff for   %3 = trunc i32 %2 to i8
      7 define i8 @test_bswap(i32 %x) {
      8   %1 = or i32 %x, 1
      9   %2 = call i32 @llvm.bswap.i32(i32 %1)
     10   %3 = trunc i32 %2 to i8
     11   ret i8 %3
     12 }
     13 declare i32 @llvm.bswap.i32(i32)
     14 
     15 ; CHECK-DAG: DemandedBits: 0xff000000 for   %1 = or i32 %x, 1
     16 ; CHECK-DAG: DemandedBits: 0xff for   %2 = call i32 @llvm.bswap.i32(i32 %1)
     17 ; CHECK-DAG: DemandedBits: 0xff for   %3 = trunc i32 %2 to i8
     18 define i8 @test_bitreverse(i32 %x) {
     19   %1 = or i32 %x, 1
     20   %2 = call i32 @llvm.bitreverse.i32(i32 %1)
     21   %3 = trunc i32 %2 to i8
     22   ret i8 %3
     23 }
     24 declare i32 @llvm.bitreverse.i32(i32)
     25 
     26