comparison gen/tollvm.cpp @ 1353:45aca7e7cc88

Remove struct padding when passing or returning in registers on x86-64 (extern(D) only)
author Frits van Bommel <fvbommel wxs.nl>
date Thu, 14 May 2009 20:36:55 +0200
parents 3647bef175d7
children 46f6365a50d7
comparison
equal deleted inserted replaced
1352:b9f5f7c5db73 1353:45aca7e7cc88
628 return llvm::ConstantExpr::getBitCast(v, t); 628 return llvm::ConstantExpr::getBitCast(v, t);
629 } 629 }
630 630
631 ////////////////////////////////////////////////////////////////////////////////////////// 631 //////////////////////////////////////////////////////////////////////////////////////////
632 632
633 LLValue* DtoInsertValue(LLValue* aggr, LLValue* v, unsigned idx)
634 {
635 return gIR->ir->CreateInsertValue(aggr, v, idx);
636 }
637
638 LLValue* DtoExtractValue(LLValue* aggr, unsigned idx)
639 {
640 return gIR->ir->CreateExtractValue(aggr, idx);
641 }
642
643 //////////////////////////////////////////////////////////////////////////////////////////
644
633 const LLPointerType* isaPointer(LLValue* v) 645 const LLPointerType* isaPointer(LLValue* v)
634 { 646 {
635 return llvm::dyn_cast<LLPointerType>(v->getType()); 647 return llvm::dyn_cast<LLPointerType>(v->getType());
636 } 648 }
637 649