Changes in directory llvm/lib/VMCore:

Constants.cpp updated: 1.226 -> 1.227
---
Log message:

Added ContainsRelocations() to check if a constant might only be resolvable at 
load time.

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

 Constants.cpp |   11 +++++++++++
 1 files changed, 11 insertions(+)


Index: llvm/lib/VMCore/Constants.cpp
diff -u llvm/lib/VMCore/Constants.cpp:1.226 llvm/lib/VMCore/Constants.cpp:1.227
--- llvm/lib/VMCore/Constants.cpp:1.226 Thu Mar  1 13:30:34 2007
+++ llvm/lib/VMCore/Constants.cpp       Wed Mar  7 18:59:12 2007
@@ -90,6 +90,17 @@
   }
 }
 
+/// ContaintsRelocations - Return true if the constant value contains
+/// relocations which cannot be resolved at compile time.
+bool Constant::ContainsRelocations() const {
+  if (isa<GlobalValue>(this))
+    return true;
+  for (unsigned i = 0, e = getNumOperands(); i != e; ++i)
+    if (getOperand(i)->ContainsRelocations())
+      return true;
+  return false;
+}
+
 // Static constructor to create a '0' constant of arbitrary type...
 Constant *Constant::getNullValue(const Type *Ty) {
   switch (Ty->getTypeID()) {



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to