comparison gen/tollvm.cpp @ 610:1b62222581fb

Change bool type to i8
author Christian Kamm <kamm incasoftware de>
date Sat, 20 Sep 2008 10:13:15 +0200
parents fbb1a366cfbc
children 83ca663ecc20
comparison
equal deleted inserted replaced
609:2cf4359d344f 610:1b62222581fb
75 case Tint64: 75 case Tint64:
76 case Tuns64: 76 case Tuns64:
77 return (const LLType*)LLType::Int64Ty; 77 return (const LLType*)LLType::Int64Ty;
78 78
79 case Tbool: 79 case Tbool:
80 return (const LLType*)llvm::ConstantInt::getTrue()->getType(); 80 return (const LLType*)LLType::Int8Ty;
81 81
82 // floats 82 // floats
83 case Tfloat32: 83 case Tfloat32:
84 case Timaginary32: 84 case Timaginary32:
85 return LLType::FloatTy; 85 return LLType::FloatTy;
460 { 460 {
461 llvm::Function* fn = GET_INTRINSIC_DECL(memory_barrier); 461 llvm::Function* fn = GET_INTRINSIC_DECL(memory_barrier);
462 assert(fn != NULL); 462 assert(fn != NULL);
463 463
464 LLSmallVector<LLValue*, 5> llargs; 464 LLSmallVector<LLValue*, 5> llargs;
465 llargs.push_back(DtoConstBool(ll)); 465 llargs.push_back(DtoConstI1(ll));
466 llargs.push_back(DtoConstBool(ls)); 466 llargs.push_back(DtoConstI1(ls));
467 llargs.push_back(DtoConstBool(sl)); 467 llargs.push_back(DtoConstI1(sl));
468 llargs.push_back(DtoConstBool(ss)); 468 llargs.push_back(DtoConstI1(ss));
469 llargs.push_back(DtoConstBool(device)); 469 llargs.push_back(DtoConstI1(device));
470 470
471 llvm::CallInst::Create(fn, llargs.begin(), llargs.end(), "", gIR->scopebb()); 471 llvm::CallInst::Create(fn, llargs.begin(), llargs.end(), "", gIR->scopebb());
472 } 472 }
473 473
474 ////////////////////////////////////////////////////////////////////////////////////////// 474 //////////////////////////////////////////////////////////////////////////////////////////
484 llvm::ConstantInt* DtoConstInt(int i) 484 llvm::ConstantInt* DtoConstInt(int i)
485 { 485 {
486 return llvm::ConstantInt::get(LLType::Int32Ty, i, true); 486 return llvm::ConstantInt::get(LLType::Int32Ty, i, true);
487 } 487 }
488 LLConstant* DtoConstBool(bool b) 488 LLConstant* DtoConstBool(bool b)
489 {
490 return llvm::ConstantInt::get(LLType::Int8Ty, b, false);
491 }
492 LLConstant* DtoConstI1(bool b)
489 { 493 {
490 return llvm::ConstantInt::get(LLType::Int1Ty, b, false); 494 return llvm::ConstantInt::get(LLType::Int1Ty, b, false);
491 } 495 }
492 llvm::ConstantInt* DtoConstUbyte(unsigned char i) 496 llvm::ConstantInt* DtoConstUbyte(unsigned char i)
493 { 497 {