protected override LLVMValueRef ValueAsTypeInternal(LLVMTypeRef type, LLVMBuilderRef builder, bool signExtend) { LLVMTypeRef origLLVMType = ILImporter.GetLLVMTypeForTypeDesc(Type); LLVMValueRef value = _importer.LoadTemp(LocalIndex, origLLVMType); return(ILImporter.CastIfNecessary(builder, value, type)); }
public LLVMValueRef ValueAsType(TypeDesc type, LLVMBuilderRef builder) { return(ValueAsType(ILImporter.GetLLVMTypeForTypeDesc(type), builder)); }
public override StackEntry Duplicate(LLVMBuilderRef builder) { return(new ExpressionEntry(Kind, "duplicate_" + Name, ILImporter.LoadValue(builder, RawLLVMValue, Type, ILImporter.GetLLVMTypeForTypeDesc(Type), false, "load_duplicate_" + Name), Type)); }