[llvm] r178484 - Correct assertion condition

Shuxin Yang shuxin.llvm at gmail.com
Mon Apr 1 11:13:05 PDT 2013


Author: shuxin_yang
Date: Mon Apr  1 13:13:05 2013
New Revision: 178484

URL: http://llvm.org/viewvc/llvm-project?rev=178484&view=rev
Log:
Correct assertion condition

Modified:
    llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp
    llvm/trunk/test/Transforms/Reassociate/xor_reassoc.ll

Modified: llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp?rev=178484&r1=178483&r2=178484&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp Mon Apr  1 13:13:05 2013
@@ -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;

Modified: llvm/trunk/test/Transforms/Reassociate/xor_reassoc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Reassociate/xor_reassoc.ll?rev=178484&r1=178483&r2=178484&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Reassociate/xor_reassoc.ll (original)
+++ llvm/trunk/test/Transforms/Reassociate/xor_reassoc.ll Mon Apr  1 13:13:05 2013
@@ -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
+;  
+; ==========================================================================
+
+ at 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
+}





More information about the llvm-commits mailing list