| OLD | NEW |
| 1 //===- subzero/src/IceGlobalInits.h - Global declarations -------*- C++ -*-===// | 1 //===- subzero/src/IceGlobalInits.h - Global declarations -------*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file declares the representation of function declarations, | 10 // This file declares the representation of function declarations, |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 ~FunctionDeclaration() final {} | 100 ~FunctionDeclaration() final {} |
| 101 const FuncSigType &getSignature() const { return Signature; } | 101 const FuncSigType &getSignature() const { return Signature; } |
| 102 llvm::CallingConv::ID getCallingConv() const { return CallingConv; } | 102 llvm::CallingConv::ID getCallingConv() const { return CallingConv; } |
| 103 // isProto implies that there isn't a (local) definition for the function. | 103 // isProto implies that there isn't a (local) definition for the function. |
| 104 bool isProto() const { return IsProto; } | 104 bool isProto() const { return IsProto; } |
| 105 static bool classof(const GlobalDeclaration *Addr) { | 105 static bool classof(const GlobalDeclaration *Addr) { |
| 106 return Addr->getKind() == FunctionDeclarationKind; | 106 return Addr->getKind() == FunctionDeclarationKind; |
| 107 } | 107 } |
| 108 void dumpType(Ostream &Stream) const final; | 108 void dumpType(Ostream &Stream) const final; |
| 109 void dump(GlobalContext *Ctx, Ostream &Stream) const final; | 109 void dump(GlobalContext *Ctx, Ostream &Stream) const final; |
| 110 bool getSuppressMangling() const final { | 110 bool getSuppressMangling() const final { return isExternal() && IsProto; } |
| 111 return isExternal() && IsProto; | |
| 112 } | |
| 113 | 111 |
| 114 private: | 112 private: |
| 115 const Ice::FuncSigType Signature; | 113 const Ice::FuncSigType Signature; |
| 116 llvm::CallingConv::ID CallingConv; | 114 llvm::CallingConv::ID CallingConv; |
| 117 bool IsProto; | 115 bool IsProto; |
| 118 | 116 |
| 119 FunctionDeclaration(const FuncSigType &Signature, | 117 FunctionDeclaration(const FuncSigType &Signature, |
| 120 llvm::CallingConv::ID CallingConv, | 118 llvm::CallingConv::ID CallingConv, |
| 121 llvm::GlobalValue::LinkageTypes Linkage, bool IsProto) | 119 llvm::GlobalValue::LinkageTypes Linkage, bool IsProto) |
| 122 : GlobalDeclaration(FunctionDeclarationKind, Linkage), | 120 : GlobalDeclaration(FunctionDeclarationKind, Linkage), |
| 123 Signature(Signature), CallingConv(CallingConv), IsProto(IsProto) {} | 121 Signature(Signature), CallingConv(CallingConv), IsProto(IsProto) {} |
| 124 }; | 122 }; |
| 125 | 123 |
| 126 /// Models a global variable declaration, and its initializers. | 124 /// Models a global variable declaration, and its initializers. |
| 127 class VariableDeclaration : public GlobalDeclaration { | 125 class VariableDeclaration : public GlobalDeclaration { |
| 128 VariableDeclaration(const VariableDeclaration &) = delete; | 126 VariableDeclaration(const VariableDeclaration &) = delete; |
| 129 VariableDeclaration &operator=(const VariableDeclaration &) = delete; | 127 VariableDeclaration &operator=(const VariableDeclaration &) = delete; |
| 128 |
| 130 public: | 129 public: |
| 131 /// Base class for a global variable initializer. | 130 /// Base class for a global variable initializer. |
| 132 class Initializer { | 131 class Initializer { |
| 133 Initializer(const Initializer &) = delete; | 132 Initializer(const Initializer &) = delete; |
| 134 Initializer &operator=(const Initializer &) = delete; | 133 Initializer &operator=(const Initializer &) = delete; |
| 135 | 134 |
| 136 public: | 135 public: |
| 137 /// Discriminator for LLVM-style RTTI. | 136 /// Discriminator for LLVM-style RTTI. |
| 138 enum InitializerKind { | 137 enum InitializerKind { |
| 139 DataInitializerKind, | 138 DataInitializerKind, |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 312 template <class StreamType> | 311 template <class StreamType> |
| 313 inline StreamType &operator<<(StreamType &Stream, | 312 inline StreamType &operator<<(StreamType &Stream, |
| 314 const GlobalDeclaration &Addr) { | 313 const GlobalDeclaration &Addr) { |
| 315 Addr.dump(Stream); | 314 Addr.dump(Stream); |
| 316 return Stream; | 315 return Stream; |
| 317 } | 316 } |
| 318 | 317 |
| 319 } // end of namespace Ice | 318 } // end of namespace Ice |
| 320 | 319 |
| 321 #endif // SUBZERO_SRC_ICEGLOBALINITS_H | 320 #endif // SUBZERO_SRC_ICEGLOBALINITS_H |
| OLD | NEW |