[llvm-commits] CVS: llvm/lib/VMCore/Instructions.cpp
Chris Lattner
sabre at nondot.org
Fri Apr 13 17:13:22 PDT 2007
Changes in directory llvm/lib/VMCore:
Instructions.cpp updated: 1.84 -> 1.85
---
Log message:
add GetElementPtrInst::hasAllZeroIndices, a long-overdue helper method.
Writing it twice in the same day was too much for me.
---
Diffs of the changes: (+16 -0)
Instructions.cpp | 16 ++++++++++++++++
1 files changed, 16 insertions(+)
Index: llvm/lib/VMCore/Instructions.cpp
diff -u llvm/lib/VMCore/Instructions.cpp:1.84 llvm/lib/VMCore/Instructions.cpp:1.85
--- llvm/lib/VMCore/Instructions.cpp:1.84 Wed Apr 11 08:04:48 2007
+++ llvm/lib/VMCore/Instructions.cpp Fri Apr 13 19:12:57 2007
@@ -966,6 +966,22 @@
return PTy->getElementType();
}
+
+/// hasAllZeroIndices - Return true if all of the indices of this GEP are
+/// zeros. If so, the result pointer and the first operand have the same
+/// value, just potentially different types.
+bool GetElementPtrInst::hasAllZeroIndices() const {
+ for (unsigned i = 1, e = getNumOperands(); i != e; ++i) {
+ if (ConstantInt *CI = dyn_cast<ConstantInt>(getOperand(i))) {
+ if (!CI->isZero()) return false;
+ } else {
+ return false;
+ }
+ }
+ return true;
+}
+
+
//===----------------------------------------------------------------------===//
// ExtractElementInst Implementation
//===----------------------------------------------------------------------===//
More information about the llvm-commits
mailing list