Changes in directory llvm/lib/Target/X86:
X86ISelLowering.cpp updated: 1.375 -> 1.376 --- Log message: enforce the proper range for the i386 N constraint. --- Diffs of the changes: (+9 -8) X86ISelLowering.cpp | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.375 llvm/lib/Target/X86/X86ISelLowering.cpp:1.376 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.375 Thu Mar 22 13:42:45 2007 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Sat Mar 24 20:57:35 2007 @@ -4544,16 +4544,17 @@ switch (Constraint) { default: break; case 'I': - if (isa<ConstantSDNode>(Op)) { - unsigned Value = cast<ConstantSDNode>(Op)->getValue(); - if (Value <= 31) + if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) { + if (C->getValue() <= 31) return Op; - else - return SDOperand(0,0); - } else { - return SDOperand(0,0); } - break; + return SDOperand(0,0); + case 'N': + if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) { + if (C->getValue() <= 255) + return Op; + } + return SDOperand(0,0); case 'i': // Literal immediates are always ok. if (isa<ConstantSDNode>(Op)) return Op; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits