| OLD | NEW |
| 1 //===- subzero/src/IceGlobalInits.cpp - Global declarations ---------------===// | 1 //===- subzero/src/IceGlobalInits.cpp - Global declarations ---------------===// |
| 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 implements the notion of function declarations, global | 10 // This file implements the notion of function declarations, global |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 } | 116 } |
| 117 Init->dumpType(Stream); | 117 Init->dumpType(Stream); |
| 118 } | 118 } |
| 119 Stream << " }>"; | 119 Stream << " }>"; |
| 120 } | 120 } |
| 121 } | 121 } |
| 122 | 122 |
| 123 void VariableDeclaration::dump(GlobalContext *Ctx, Ostream &Stream) const { | 123 void VariableDeclaration::dump(GlobalContext *Ctx, Ostream &Stream) const { |
| 124 if (!ALLOW_DUMP) | 124 if (!ALLOW_DUMP) |
| 125 return; | 125 return; |
| 126 Stream << "@" << ((Ctx && !getSuppressMangling()) | 126 Stream << "@" |
| 127 ? Ctx->mangleName(Name) : Name) << " = "; | 127 << ((Ctx && !getSuppressMangling()) ? Ctx->mangleName(Name) : Name) |
| 128 << " = "; |
| 128 ::dumpLinkage(Stream, Linkage); | 129 ::dumpLinkage(Stream, Linkage); |
| 129 Stream << " " << (IsConstant ? "constant" : "global") << " "; | 130 Stream << " " << (IsConstant ? "constant" : "global") << " "; |
| 130 | 131 |
| 131 // Add initializer. | 132 // Add initializer. |
| 132 if (Initializers.size() == 1) { | 133 if (Initializers.size() == 1) { |
| 133 Initializers.front()->dump(Stream); | 134 Initializers.front()->dump(Stream); |
| 134 } else { | 135 } else { |
| 135 dumpType(Stream); | 136 dumpType(Stream); |
| 136 Stream << " <{ "; | 137 Stream << " <{ "; |
| 137 bool IsFirst = true; | 138 bool IsFirst = true; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 151 Stream << ", align " << Alignment; | 152 Stream << ", align " << Alignment; |
| 152 Stream << "\n"; | 153 Stream << "\n"; |
| 153 } | 154 } |
| 154 | 155 |
| 155 void VariableDeclaration::Initializer::dumpType(Ostream &Stream) const { | 156 void VariableDeclaration::Initializer::dumpType(Ostream &Stream) const { |
| 156 if (!ALLOW_DUMP) | 157 if (!ALLOW_DUMP) |
| 157 return; | 158 return; |
| 158 Stream << "[" << getNumBytes() << " x " << Ice::IceType_i8 << "]"; | 159 Stream << "[" << getNumBytes() << " x " << Ice::IceType_i8 << "]"; |
| 159 } | 160 } |
| 160 | 161 |
| 161 void VariableDeclaration::DataInitializer::dump( | 162 void VariableDeclaration::DataInitializer::dump(GlobalContext *, |
| 162 GlobalContext *, Ostream &Stream) const { | 163 Ostream &Stream) const { |
| 163 if (!ALLOW_DUMP) | 164 if (!ALLOW_DUMP) |
| 164 return; | 165 return; |
| 165 dumpType(Stream); | 166 dumpType(Stream); |
| 166 Stream << " c\""; | 167 Stream << " c\""; |
| 167 // Code taken from PrintEscapedString() in AsmWriter.cpp. Keep | 168 // Code taken from PrintEscapedString() in AsmWriter.cpp. Keep |
| 168 // the strings in the same format as the .ll file for practical | 169 // the strings in the same format as the .ll file for practical |
| 169 // diffing. | 170 // diffing. |
| 170 for (uint8_t C : Contents) { | 171 for (uint8_t C : Contents) { |
| 171 if (isprint(C) && C != '\\' && C != '"') | 172 if (isprint(C) && C != '\\' && C != '"') |
| 172 Stream << C; | 173 Stream << C; |
| 173 else | 174 else |
| 174 Stream << '\\' << hexdigit(C >> 4) << hexdigit(C & 0x0F); | 175 Stream << '\\' << hexdigit(C >> 4) << hexdigit(C & 0x0F); |
| 175 } | 176 } |
| 176 Stream << "\""; | 177 Stream << "\""; |
| 177 } | 178 } |
| 178 | 179 |
| 179 void VariableDeclaration::ZeroInitializer::dump( | 180 void VariableDeclaration::ZeroInitializer::dump(GlobalContext *, |
| 180 GlobalContext *, Ostream &Stream) const { | 181 Ostream &Stream) const { |
| 181 if (!ALLOW_DUMP) | 182 if (!ALLOW_DUMP) |
| 182 return; | 183 return; |
| 183 dumpType(Stream); | 184 dumpType(Stream); |
| 184 Stream << " zeroinitializer"; | 185 Stream << " zeroinitializer"; |
| 185 } | 186 } |
| 186 | 187 |
| 187 void VariableDeclaration::RelocInitializer::dumpType(Ostream &Stream) const { | 188 void VariableDeclaration::RelocInitializer::dumpType(Ostream &Stream) const { |
| 188 if (!ALLOW_DUMP) | 189 if (!ALLOW_DUMP) |
| 189 return; | 190 return; |
| 190 Stream << Ice::IceType_i32; | 191 Stream << Ice::IceType_i32; |
| 191 } | 192 } |
| 192 | 193 |
| 193 void VariableDeclaration::RelocInitializer::dump( | 194 void VariableDeclaration::RelocInitializer::dump(GlobalContext *Ctx, |
| 194 GlobalContext *Ctx, Ostream &Stream) const { | 195 Ostream &Stream) const { |
| 195 if (!ALLOW_DUMP) | 196 if (!ALLOW_DUMP) |
| 196 return; | 197 return; |
| 197 if (Offset != 0) { | 198 if (Offset != 0) { |
| 198 dumpType(Stream); | 199 dumpType(Stream); |
| 199 Stream << " add ("; | 200 Stream << " add ("; |
| 200 } | 201 } |
| 201 dumpType(Stream); | 202 dumpType(Stream); |
| 202 Stream << " ptrtoint ("; | 203 Stream << " ptrtoint ("; |
| 203 Declaration->dumpType(Stream); | 204 Declaration->dumpType(Stream); |
| 204 Stream << "* @"; | 205 Stream << "* @"; |
| 205 if (Ctx) | 206 if (Ctx) |
| 206 Stream << Ctx->mangleName(Declaration->getName()); | 207 Stream << Ctx->mangleName(Declaration->getName()); |
| 207 else | 208 else |
| 208 Stream << Declaration->getName(); | 209 Stream << Declaration->getName(); |
| 209 Stream << " to "; | 210 Stream << " to "; |
| 210 dumpType(Stream); | 211 dumpType(Stream); |
| 211 Stream << ")"; | 212 Stream << ")"; |
| 212 if (Offset != 0) { | 213 if (Offset != 0) { |
| 213 Stream << ", "; | 214 Stream << ", "; |
| 214 dumpType(Stream); | 215 dumpType(Stream); |
| 215 Stream << " " << Offset << ")"; | 216 Stream << " " << Offset << ")"; |
| 216 } | 217 } |
| 217 } | 218 } |
| 218 | 219 |
| 219 } // end of namespace Ice | 220 } // end of namespace Ice |
| OLD | NEW |