Skip to content
Snippets Groups Projects
Commit 97c14a6b authored by Jay Foad's avatar Jay Foad
Browse files

The operands of a GlobalAlias are always Constants. Simplify things

accordingly.

llvm-svn: 136608
parent 0b099a43
No related branches found
No related tags found
No related merge requests found
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
namespace llvm { namespace llvm {
class Module; class Module;
class Constant;
template<typename ValueSubClass, typename ItemParentClass> template<typename ValueSubClass, typename ItemParentClass>
class SymbolTableListTraits; class SymbolTableListTraits;
...@@ -45,7 +44,7 @@ public: ...@@ -45,7 +44,7 @@ public:
Constant* Aliasee = 0, Module *Parent = 0); Constant* Aliasee = 0, Module *Parent = 0);
/// Provide fast operand accessors /// Provide fast operand accessors
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value); DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Constant);
/// removeFromParent - This method unlinks 'this' from the containing module, /// removeFromParent - This method unlinks 'this' from the containing module,
/// but does not delete it. /// but does not delete it.
...@@ -60,10 +59,10 @@ public: ...@@ -60,10 +59,10 @@ public:
/// set/getAliasee - These methods retrive and set alias target. /// set/getAliasee - These methods retrive and set alias target.
void setAliasee(Constant *GV); void setAliasee(Constant *GV);
const Constant *getAliasee() const { const Constant *getAliasee() const {
return cast_or_null<Constant>(getOperand(0)); return getOperand(0);
} }
Constant *getAliasee() { Constant *getAliasee() {
return cast_or_null<Constant>(getOperand(0)); return getOperand(0);
} }
/// getAliasedGlobal() - Aliasee can be either global or bitcast of /// getAliasedGlobal() - Aliasee can be either global or bitcast of
/// global. This method retrives the global for both aliasee flavours. /// global. This method retrives the global for both aliasee flavours.
...@@ -88,7 +87,7 @@ struct OperandTraits<GlobalAlias> : ...@@ -88,7 +87,7 @@ struct OperandTraits<GlobalAlias> :
public FixedNumOperandTraits<GlobalAlias, 1> { public FixedNumOperandTraits<GlobalAlias, 1> {
}; };
DEFINE_TRANSPARENT_OPERAND_ACCESSORS(GlobalAlias, Value) DEFINE_TRANSPARENT_CASTED_OPERAND_ACCESSORS(GlobalAlias, Constant)
} // End llvm namespace } // End llvm namespace
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment