ARM: Enable MachineScheduler and disable PostRAScheduler for swift.
[oota-llvm.git] / include / llvm / MC / MCSymbolELF.h
index 7ef97ce1bfe1bd887ea7061230e133f8c28e05e5..bbcd22e8e7dbe15fac4238ee86a28b3198d133fe 100644 (file)
@@ -17,11 +17,9 @@ class MCSymbolELF : public MCSymbol {
   /// symbol has no size this field will be NULL.
   const MCExpr *SymbolSize = nullptr;
 
-  mutable unsigned BindingSet : 1;
-
 public:
   MCSymbolELF(const StringMapEntry<bool> *Name, bool isTemporary)
-      : MCSymbol(true, Name, isTemporary), BindingSet(false) {}
+      : MCSymbol(SymbolKindELF, Name, isTemporary) {}
   void setSize(const MCExpr *SS) { SymbolSize = SS; }
 
   const MCExpr *getSize() const { return SymbolSize; }
@@ -38,9 +36,18 @@ public:
   void setBinding(unsigned Binding) const;
   unsigned getBinding() const;
 
-  bool isBindingSet() const { return BindingSet; }
+  bool isBindingSet() const;
+
+  void setIsWeakrefUsedInReloc() const;
+  bool isWeakrefUsedInReloc() const;
+
+  void setIsSignature() const;
+  bool isSignature() const;
 
   static bool classof(const MCSymbol *S) { return S->isELF(); }
+
+private:
+  void setIsBindingSet() const;
 };
 }