- /// isExternal - Return true if the primary definition of this global value is
- /// outside of the current translation unit...
- virtual bool isExternal() const = 0;
+ /// hasNotBeenReadFromBytecode - If a module provider is being used to lazily
+ /// stream in functions from disk, this method can be used to check to see if
+ /// the function has been read in yet or not. Unless you are working on the
+ /// JIT or something else that streams stuff in lazily, you don't need to
+ /// worry about this.
+ bool hasNotBeenReadFromBytecode() const { return Linkage == GhostLinkage; }
+
+ /// Override from Constant class. No GlobalValue's are null values so this
+ /// always returns false.
+ virtual bool isNullValue() const { return false; }
+
+ /// Override from Constant class.
+ virtual void destroyConstant();
+
+ /// isDeclaration - Return true if the primary definition of this global
+ /// value is outside of the current translation unit...
+ virtual bool isDeclaration() const = 0;
+
+ /// removeFromParent - This method unlinks 'this' from the containing module,
+ /// but does not delete it.
+ ///
+ virtual void removeFromParent() = 0;
+
+ /// eraseFromParent - This method unlinks 'this' from the containing module
+ /// and deletes it.
+ ///
+ virtual void eraseFromParent() = 0;