//
// The LLVM Compiler Infrastructure
//
-// This file was developed by Anton Korobeynikov and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
const GlobalAlias *getPrev() const { return Prev; }
Use Aliasee;
-protected:
- static void destroyThis(GlobalAlias*v) {
- GlobalValue::destroyThis(v);
- }
- friend class Value;
public:
/// GlobalAlias ctor - If a parent module is specified, the alias is
/// automatically inserted into the end of the specified module's alias list.
/// getAliasedGlobal() - Aliasee can be either global or bitcast of
/// global. This method retrives the global for both aliasee flavours.
const GlobalValue* getAliasedGlobal() const;
-
+
+ /// resolveAliasedGlobal() - This method tries to ultimately resolve alias by
+ /// going through aliasing chain and trying to find the very last
+ /// global. Return NULL is cycle was found.
+ const GlobalValue* resolveAliasedGlobal() const;
+
// Methods for support type inquiry through isa, cast, and dyn_cast:
static inline bool classof(const GlobalAlias *) { return true; }
static inline bool classof(const Value *V) {