comparison gen/tollvm.cpp @ 1532:c88b16d4a13c

Remove all of the now unecessary #if LLVM_REV
author Benjamin Kramer <benny.kra@gmail.com>
date Sat, 11 Jul 2009 14:09:33 +0200
parents ad7f2f1862d6
children 8ca25bd765a3
comparison
equal deleted inserted replaced
1531:7120a74e9ae2 1532:c88b16d4a13c
239 // global variable 239 // global variable
240 if (VarDeclaration* vd = sym->isVarDeclaration()) 240 if (VarDeclaration* vd = sym->isVarDeclaration())
241 { 241 {
242 if (mustDefineSymbol(vd)) 242 if (mustDefineSymbol(vd))
243 Logger::println("Variable %savailable externally: %s", (vd->availableExternally ? "" : "not "), vd->toChars()); 243 Logger::println("Variable %savailable externally: %s", (vd->availableExternally ? "" : "not "), vd->toChars());
244 #if LLVM_REV >= 68940
245 // generated by inlining semantics run 244 // generated by inlining semantics run
246 if (vd->availableExternally && mustDefineSymbol(sym)) 245 if (vd->availableExternally && mustDefineSymbol(sym))
247 return llvm::GlobalValue::AvailableExternallyLinkage; 246 return llvm::GlobalValue::AvailableExternallyLinkage;
248 #endif
249 // template 247 // template
250 if (needsTemplateLinkage(sym)) 248 if (needsTemplateLinkage(sym))
251 return TEMPLATE_LINKAGE_TYPE; 249 return TEMPLATE_LINKAGE_TYPE;
252 } 250 }
253 // function 251 // function
259 TypeFunction* ft = (TypeFunction*)fdecl->type; 257 TypeFunction* ft = (TypeFunction*)fdecl->type;
260 258
261 // intrinsics are always external 259 // intrinsics are always external
262 if (fdecl->llvmInternal == LLVMintrinsic) 260 if (fdecl->llvmInternal == LLVMintrinsic)
263 return llvm::GlobalValue::ExternalLinkage; 261 return llvm::GlobalValue::ExternalLinkage;
264 #if LLVM_REV >= 68940
265 // generated by inlining semantics run 262 // generated by inlining semantics run
266 if (fdecl->availableExternally && mustDefineSymbol(sym)) 263 if (fdecl->availableExternally && mustDefineSymbol(sym))
267 return llvm::GlobalValue::AvailableExternallyLinkage; 264 return llvm::GlobalValue::AvailableExternallyLinkage;
268 #endif
269 // array operations are always template linkage 265 // array operations are always template linkage
270 if (fdecl->isArrayOp) 266 if (fdecl->isArrayOp)
271 return TEMPLATE_LINKAGE_TYPE; 267 return TEMPLATE_LINKAGE_TYPE;
272 // template instances should have weak linkage 268 // template instances should have weak linkage
273 // but only if there's a body, and it's not naked 269 // but only if there's a body, and it's not naked
281 // class 277 // class
282 else if (ClassDeclaration* cd = sym->isClassDeclaration()) 278 else if (ClassDeclaration* cd = sym->isClassDeclaration())
283 { 279 {
284 if (mustDefineSymbol(cd)) 280 if (mustDefineSymbol(cd))
285 Logger::println("Class %savailable externally: %s", (cd->availableExternally ? "" : "not "), vd->toChars()); 281 Logger::println("Class %savailable externally: %s", (cd->availableExternally ? "" : "not "), vd->toChars());
286 #if LLVM_REV >= 68940
287 // generated by inlining semantics run 282 // generated by inlining semantics run
288 if (cd->availableExternally && mustDefineSymbol(sym)) 283 if (cd->availableExternally && mustDefineSymbol(sym))
289 return llvm::GlobalValue::AvailableExternallyLinkage; 284 return llvm::GlobalValue::AvailableExternallyLinkage;
290 #endif
291 // template 285 // template
292 if (needsTemplateLinkage(cd)) 286 if (needsTemplateLinkage(cd))
293 return TEMPLATE_LINKAGE_TYPE; 287 return TEMPLATE_LINKAGE_TYPE;
294 } 288 }
295 else 289 else
337 } 331 }
338 332
339 llvm::GlobalValue::LinkageTypes DtoInternalLinkage(Dsymbol* sym) 333 llvm::GlobalValue::LinkageTypes DtoInternalLinkage(Dsymbol* sym)
340 { 334 {
341 if (needsTemplateLinkage(sym)) { 335 if (needsTemplateLinkage(sym)) {
342 #if LLVM_REV >= 68940
343 if (isAvailableExternally(sym) && mustDefineSymbol(sym)) 336 if (isAvailableExternally(sym) && mustDefineSymbol(sym))
344 return llvm::GlobalValue::AvailableExternallyLinkage; 337 return llvm::GlobalValue::AvailableExternallyLinkage;
345 #endif
346 return TEMPLATE_LINKAGE_TYPE; 338 return TEMPLATE_LINKAGE_TYPE;
347 } 339 }
348 else 340 else
349 return llvm::GlobalValue::InternalLinkage; 341 return llvm::GlobalValue::InternalLinkage;
350 } 342 }
351 343
352 llvm::GlobalValue::LinkageTypes DtoExternalLinkage(Dsymbol* sym) 344 llvm::GlobalValue::LinkageTypes DtoExternalLinkage(Dsymbol* sym)
353 { 345 {
354 #if LLVM_REV >= 68940
355 if (isAvailableExternally(sym) && mustDefineSymbol(sym)) 346 if (isAvailableExternally(sym) && mustDefineSymbol(sym))
356 return llvm::GlobalValue::AvailableExternallyLinkage; 347 return llvm::GlobalValue::AvailableExternallyLinkage;
357 #endif
358 if (needsTemplateLinkage(sym)) 348 if (needsTemplateLinkage(sym))
359 return TEMPLATE_LINKAGE_TYPE; 349 return TEMPLATE_LINKAGE_TYPE;
360 else 350 else
361 return llvm::GlobalValue::ExternalLinkage; 351 return llvm::GlobalValue::ExternalLinkage;
362 } 352 }
766 return gTargetData->getTypeStoreSize(t); 756 return gTargetData->getTypeStoreSize(t);
767 } 757 }
768 758
769 size_t getTypePaddedSize(const LLType* t) 759 size_t getTypePaddedSize(const LLType* t)
770 { 760 {
771 #if LLVM_REV > 71348
772 size_t sz = gTargetData->getTypeAllocSize(t); 761 size_t sz = gTargetData->getTypeAllocSize(t);
773 #else
774 size_t sz = gTargetData->getTypePaddedSize(t);
775 #endif
776 //Logger::cout() << "abi type size of: " << *t << " == " << sz << '\n'; 762 //Logger::cout() << "abi type size of: " << *t << " == " << sz << '\n';
777 return sz; 763 return sz;
778 } 764 }
779 765
780 unsigned char getABITypeAlign(const LLType* t) 766 unsigned char getABITypeAlign(const LLType* t)