[llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp

Rafael Espindola rafael.espindola at gmail.com
Tue Dec 12 06:03:45 PST 2006



Changes in directory llvm/lib/Target/ARM:

ARMISelDAGToDAG.cpp updated: 1.89 -> 1.90
---
Log message:

don't use "ordinary" addressing mode 1 when mvn is appropriate


---
Diffs of the changes:  (+2 -0)

 ARMISelDAGToDAG.cpp |    2 ++
 1 files changed, 2 insertions(+)


Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.89 llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.90
--- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.89	Mon Dec 11 19:03:11 2006
+++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp	Tue Dec 12 08:03:29 2006
@@ -849,6 +849,8 @@
   case ISD::Constant: {
     uint32_t val = cast<ConstantSDNode>(N)->getValue();
     if(!isRotInt8Immediate(val)) {
+      if (isRotInt8Immediate(~val))
+        return false; //use MVN
       Constant    *C = ConstantInt::get(Type::UIntTy, val);
       int  alignment = 2;
       SDOperand Addr = CurDAG->getTargetConstantPool(C, MVT::i32, alignment);






More information about the llvm-commits mailing list