[llvm-commits] CVS: llvm/lib/CodeGen/IntrinsicLowering.cpp

Zhou Sheng zhousheng00 at gmail.com
Fri May 25 20:43:38 PDT 2007



Changes in directory llvm/lib/CodeGen:

IntrinsicLowering.cpp updated: 1.84 -> 1.85
---
Log message:

Correct the logic in LowerPartSet which cleared the bits from 0 to low-1.


---
Diffs of the changes:  (+7 -5)

 IntrinsicLowering.cpp |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)


Index: llvm/lib/CodeGen/IntrinsicLowering.cpp
diff -u llvm/lib/CodeGen/IntrinsicLowering.cpp:1.84 llvm/lib/CodeGen/IntrinsicLowering.cpp:1.85
--- llvm/lib/CodeGen/IntrinsicLowering.cpp:1.84	Mon May 14 21:26:52 2007
+++ llvm/lib/CodeGen/IntrinsicLowering.cpp	Fri May 25 22:43:13 2007
@@ -557,11 +557,13 @@
     Rplcmnt->addIncoming(NewRes, reverse);
     Rplcmnt->addIncoming(Rep4, small);
     Value* t0   = CastInst::createIntegerCast(NumBits,ValTy,false,"",result);
-    Value* t1   = BinaryOperator::createShl(ValMask, t0, "", result);
-    Value* t2   = BinaryOperator::createShl(t1, Lo, "", result);
-    Value* t3   = BinaryOperator::createAnd(t2, Val, "", result);
-    Value* t4   = BinaryOperator::createShl(Rplcmnt, Lo, "", result);
-    Value* Rslt = BinaryOperator::createOr(t3, t4, "part_set", result);
+    Value* t1   = BinaryOperator::createShl(ValMask, Lo, "", result);
+    Value* t2   = BinaryOperator::createNot(t1, "", result);
+    Value* t3   = BinaryOperator::createShl(t1, t0, "", result);
+    Value* t4   = BinaryOperator::createOr(t2, t3, "", result);
+    Value* t5   = BinaryOperator::createAnd(t4, Val, "", result);
+    Value* t6   = BinaryOperator::createShl(Rplcmnt, Lo, "", result);
+    Value* Rslt = BinaryOperator::createOr(t5, t6, "part_set", result);
     new ReturnInst(Rslt, result);
   }
 






More information about the llvm-commits mailing list