llvm-6502/test/Transforms/Reassociate/absorption.ll
Duncan Sands d34491f675 It is possible for several constants which aren't individually absorbing to
combine to the absorbing element.  Thanks to nbjoerg on IRC for pointing this 
out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158399 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-13 12:15:56 +00:00

12 lines
288 B
LLVM

; RUN: opt -S -reassociate < %s | FileCheck %s
; Check that if constants combine to an absorbing value then the expression is
; evaluated as the absorbing value.
define i8 @foo(i8 %x) {
%tmp1 = or i8 %x, 127
%tmp2 = or i8 %tmp1, 128
ret i8 %tmp2
; CHECK: @foo
; CHECK: ret i8 -1
}