[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