Correct assertion condition

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178484 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Shuxin Yang 2013-04-01 18:13:05 +00:00
parent f28a29b776
commit ad26993e1a
2 changed files with 16 additions and 1 deletions

View File

@ -199,7 +199,7 @@ namespace {
}
XorOpnd::XorOpnd(Value *V) {
assert(!isa<Constant>(V) && "No constant");
assert(!isa<ConstantInt>(V) && "No ConstantInt");
OrigVal = V;
Instruction *I = dyn_cast<Instruction>(V);
SymbolicRank = 0;

View File

@ -149,3 +149,18 @@ define i32 @xor_ra_size2(i32 %x) {
;CHECK: %or1 = or i32 %x, 456
;CHECK: %xor = xor i32 %or, %or1
}
; ==========================================================================
;
; Xor reassociation bugs
;
; ==========================================================================
@xor_bug1_data = external global <{}>, align 4
define void @xor_bug1() {
%1 = ptrtoint i32* undef to i64
%2 = xor i64 %1, ptrtoint (<{}>* @xor_bug1_data to i64)
%3 = and i64 undef, %2
ret void
}